혼자공부중
공부하는 블로그
혼자공부중
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • 자격증 (49)
      • 정보처리기사 실기 (49)
    • JAVA (18)
    • DB (0)
    • 알고리즘 문제 풀이 (11)
      • 프로그래머스 (11)
    • Front (0)
      • HTML (0)
      • CSS (0)
      • Javascript (0)
    • 패스트캠퍼스 강의 (33)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 객체지향
  • 자바
  • DBMS
  • 배열
  • 관계형데이터베이스
  • 정보처리기사 필기 정리
  • 수제비
  • 인터페이스
  • 정보처리기사 실기
  • 데이터베이스
  • 정보처리기사 실기 정리
  • 데이터모델
  • 시나공
  • 프로그래머스
  • 반복문
  • 애플리케이션테스트
  • UI
  • 2022정보처리기사필기
  • 알고리즘
  • 상속
  • 패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
  • 코딩테스트
  • 변수
  • SQLD
  • 메소드
  • 정보처리기사
  • 2022정보처리기사실기
  • 2022정보처리기사
  • 정보처리기사 필기
  • Java

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
혼자공부중

공부하는 블로그

자격증/정보처리기사 실기

29. [기본 문법 활용하기] 연산자

2022. 3. 30. 20:26
수제비 2022 정보처리기사 실기 수험서를 보고 공부한 기록입니다.

👉연산자(Operator) 개념

  • 연산자는 프로그램 실행을 위해 연산을 표현하는 기호이다
  • 연산자에는 산술 연산자, 시프트 연산자, 관계 연산자, 논리 연산자 등이 있다

👉연산자 종류

  • 증감 연산자: ++x, x++, --x, x--
  • 산술 연산자: +, -, *, /, %
  • 시프트 연산자: ≪, ≫
  • 관계 연산자: >, <, ≥, ≤, ==, !=
  • 비트 연산자: &, |, ^, ~
  • 논리 연산자: &&, ||, !
  • 삼항 연산자: (조건식)? a : b
  • 대입 연산자: =, +=, -=, *=, /=, %=

👉연산자 우선순위

우선순위 연산자 항의 개수 유형
0 ( ) - 괄호
1 x++ 단항 연산자 증감 연산자
x-- 단항 연산자 증감 연산자
2 ++x 단항 연산자 증감 연산자
--x 단항 연산자 증감 연산자
! 단항 연산자 논리 연산자
~ 단항 연산자 비트 연산자
3 * 이항 연산자 산술 연산자
/ 이항 연산자 산술 연산자
% 이항 연산자 산술 연산자
4 + 이항 연산자  산술 연산자
- 이항 연산자 산술 연산자
5 ≪ 이항 연산자 시프트 연산자
≫ 이항 연산자 시프트 연산자
6 < 이항 연산자 관계 연산자
≤ 이항 연산자 관계 연산자
> 이항 연산자 관계 연산자
≥ 이항 연산자 관계 연산자
7 == 이항 연산자 관계 연산자
!= 이항 연산자 관계 연산자
8 & 이항 연산자 비트 연산자
9 ^ 이항 연산자 비트 연산자
10 | 이항 연산자 비트 연산자
11 && 이항 연산자 논리 연산자
12 || 이항 연산자 논리 연산자
13 (조건식)? a : b 삼항 연산자 삼항 연산자
14 = 대입 연산자 대입 연산자
+= 대입 연산자 대입 연산자
-= 대입 연산자 대입 연산자
*= 대입 연산자 대입 연산자
/= 대입 연산자 대입 연산자
%= 대입 연산자 대입 연산자

👉연산자 종류 상세

1. 증감 연산자(Increment & Decrement Operator)

  • 증감 연산자는 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산자이다
  • ++x : 변수의 값을 1 증가시킨 후에 해당 변수를 사용하는 연산자
  • x++ : 변수를 사용한 후에 변수의 값을 1 증가시키는 연산자
  • --x : 변수의 값을 1 감소시킨 후에 해당 변수를 사용하는 연산자
  • x-- : 변수를 사용한 후에 변수의 값을 1 감소시키는 연산자

■ C 언어 print 함수 증감 연산자

#include <stdio.h>

void main() {
  int x=3, y=3;
  //x와 y를 3으로 초기화
  printf("%d\n", x++);
  //x++일 경우 x의 값인 3을 먼저 출력한 후에 x의 값을 1 증가
  printf("%d\n",x);
  //x의 값인 4를 출력
  printf("%d\n",++y);
  //++y일 경우 y의 값을 1 증가시킨 후에 y의 값인 4를 출력
  printf("%d\n",y);
  //y의 값인 4를 출력
}
3
4
4
4

■ C 언어 switch문 증감 연산자 예제

#include <stdio.h>

void main() {
  int x=3, y=3;
  //x와 y를 3으로 초기화
  switch(x++){
    case 3: printf("A: %d\n",x); break;
    case 4: printf("B: %d\n",x);
    }
//x++일 경우 x의 값인 3에 해당하는 case3으로 이동한 후에 x를 1증가 시키므로 case 3 안에 있는 printf를 출력하고 x는 4가 출력

switch(++y){
  case 3: printf("C: %d\n", y); break;
  case 4: printf("D: %d\n", y);
  }
  //++y일 경우 y를 1 증가시킨 후에 y의 값인 4에 해당하는 case 4로 이동한 후에 case 4 안에 있는 printf를 출력하고 y는 4가 출력
}
A: 4
D: 4

■ 다른 연산자 함께 사용하는 증감 연산자

#include <stdio.h>
void main(){
  int x=3, y=3;
  //x와 y를 3으로 초기화
  int z=x++ + ++y;
  printf("%d %d %d", x,y,z);
  //x++일 경우 x의 값인 3을 먼저 연산에 사용하고 x를 증가시키고, ++y일 경우 y의 값을 1증가시킨 후에 y의 값인 4를 연산에 사용하므로 3+4인 7이 z에 저장됨
}
4 4 7

■ 단순 증감 연산자

#include <stdio.h>
void main(){
  int x=3, y=3;
  //x와 y를 3으로 초기화
  x++;
  //x++가 단독으로 있을 경우 단순히 1만 증가
  ++y;
  //++y가 단독으로 있을 경우 단순히 1만 증가
  printf("%d %d", x,y);
}
4 4

2. 산술 연산자(Arithmetic Operator)

산술 연산자는 +, -와 같이 가장 일반적으로 사용되는 연산자이다

+ -양쪽의 값을 더하는 연산자
-문자열끼리 더할 경우 문자열을 연결
- -왼쪽 값에서 오른쪽 값을 빼는 연산자
* -두 개의 값을 곱하는 연산자
/ -왼쪽 값을 오른쪽 값으로 나누는 연산자
% -왼쪽 값을 오른쪽 값으로 나눈 나머지를 계산하는 연산자

3. 시프트 연산자(Shift Operator)

시프트 연산자는 비트를 이동시키는 연산자이다

<< 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동하는 연산자
>> 왼쪽 값에 오른쪽 값만큼의 부호 비트를 채우면서 오른쪽으로 이동하는 연산자

■ 시프트 연산자 자바 코드 예제

public class Soojebi{
	public static void main(String[] args){
		System.out.print(3<<2);
		//12를 출력함
		System.out.print(8>>3);
		//1을 출력함
	}
}
121

4. 관계 연산자(Relation Operator)

관계 연산자는 두 피연산자 사이의 크기를 비교하는 연산자이다

> 왼쪽에 있는 값이 오른쪽에 있는 값보다 크면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
< 왼쪽에 있는 값이 오른쪽에 있는 값보다 작으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
>= 왼쪽에 있는 값이 오른쪽에 있는 값보다 크거나 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
<= 왼쪽에 있는 값이 오른쪽에 있는 값보다 작거나 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
== 왼쪽에 있는 값이 오른쪽에 있는 값과 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
!= 왼쪽에 있는 값이 오른쪽에 있는 값과 다르면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자

■ C 언어 관계 연산자

#include <stdio.h>
void main(){
	printf("%d\n", 3==3);
	//관계 연산 결과가 참일 때 출력
	printf("%d\n", 5==3);
	//관계 연산 결과가 거짓일 때 출력
}
1
0

■ 자바 관계 연산자

class Soojebi{
	public static void main(String[] args){
		System.out.println(3==3);
		//관계 연산 결과가 참일 때 출력
		System.out.println(5==3);
		//관계 연산 결과가 거짓일 때 출력
	}
}
true
false

■ 파이썬 관계 연산자

printf(3==3)
#관계 연산 결과가 참일 때 출력
printf(5==3)
#관계 연산 결과가 거짓일 때 출력
True
False

5. 비트 연산자(Bit Operator)

비트 연산자는 0과 1의 각 자리에 대한 연산을 수행하는 연산자이다

& 두 값을 비트로 연산하여 같은 비트의 값이 모두 1이면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자(AND 연산자)
| 두 값을 비트로 연산하여 같은 비트의 값이 하나라도 1이면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자(OR 연산자)
^ 두 값을 비트로 연산하여 같은 비트의 값이 서로 다르면 해당 비트 값이 1이 되고, 그렇지 않으면 0이 되는 연산자(XOR 연산자)
~ 모든 비트의 값을 반대로 바꾸는 반전 기능을 하는 연산자(NOT 연산자)

■ 비트 연산자

#include <stdio.h>
void main(){
	printf("%d\n", 13 & 10);
	//13과 10에 대해 비트끼리 AND 연산
	printf("%d\n", 13 | 10);
	//13과 10에 대해 비트끼리 OR 연산
	printf("%d\n", 13 ^ 10);
	//13과 10에 대해 비트끼리 XOR 연산
	printf("%d\n", ~13);
	//13과 10에 대해 비트끼리 NOT 연산
}
8
15
7
-14

6. 논리 연산자(Logic Operator)

논리 연산자는 두 피연산자 사이의 논리적인 관계를 정의하는 연산자이다

&& 두 개의 논리값이 모두 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자(AND 연산자)
|| 두 개의 논리값 중 하나가 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자(OR 연산자)

7. 삼항 연산자(Ternary Operator)

삼항 연산자는 조건이 참일 경우 물음표(?)와 콜론(:) 사이의 값을 반환하고, 조건이 거짓일 경우 콜론(:)과 세미콜론(;) 사이의 값을 반환하는 연산자이다

조건식 ? 참일때값 : 거짓일때값;

8. 대입 연산자(Assignment Operator)

  • 대입 연산자는 변수에 값을 대입할 때 사용하는 연산자이다
  • 오른쪽에 있는 값을 이용해 왼쪽의 변수에 값을 대입한다
= 왼쪽의 변수에 오른쪽의 값을 대입하는 연산자
+= 왼쪽의 변수에 오른쪽의 값을 더한 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
-= 왼쪽의 변수에 오른쪽의 값을 뺀 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
*= 왼쪽의 변수에 오른쪽의 값을 곱한 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
/= 왼쪽의 변수를 오른쪽의 값으로 나눈 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
%= 왼쪽의 변수를 오른쪽의 값으로 나눈 후, 그 나머지를 왼쪽의 변수에 대입하는 연산자
, 동시에 여러 개의 값을 대입하는 연산자(Swap 연산자)
파이썬에서만 제공하는 연산자
저작자표시

'자격증 > 정보처리기사 실기' 카테고리의 다른 글

31. [기본 문법 활용하기] 명령문  (0) 2022.03.31
30. [기본 문법 활용하기] 표준 함수  (0) 2022.03.31
28. [기본 문법 활용하기] 변수 활용  (0) 2022.03.29
27. [기본 문법 활용하기] 프로그래밍을 위한 기본사항  (0) 2022.03.29
26. 인터페이스 구현 검증  (0) 2022.03.28
    '자격증/정보처리기사 실기' 카테고리의 다른 글
    • 31. [기본 문법 활용하기] 명령문
    • 30. [기본 문법 활용하기] 표준 함수
    • 28. [기본 문법 활용하기] 변수 활용
    • 27. [기본 문법 활용하기] 프로그래밍을 위한 기본사항
    혼자공부중
    혼자공부중
    대단한 목적보다는 혼자 공부하는 것에 의미를 두려고 합니다.

    티스토리툴바