* 산술 연산자
- + : 왼쪽의 피연산자에서 오른쪽의 피연산자를 더함
- - : 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌
- * : 왼쪽의 피연산자에서 오른쪽의 피연산자를 곱함
- / : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔 (정수 / 정수 = 몫)
- % : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 나머지를 반환
---------------------------------------------------------------------------
ex)
int num1, num2, num3;
num1 =9 + 8 / 2 * 4;
num2=8 - 12 * (2 + 2) / 8 % 2;
num3=1 % 3 * (1 + 3) * (12 / 6) % 10;
printf("%d %d %d\n", num1, num2, num3);
=>
25 8 8
* 대입 연산자
- = : 왼쪽의 피연산자에 오른쪽의 피 연산자를 대입
* 복합 대입 연산자
- += : 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입
- -= : 왼쪽의 피연산자에 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입
- *= : 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입
- /= : 왼쪾의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입
- %= : 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입
ex)-----------------------------------------------
int num = 7;
num += 5; //아래와 같은 연산
num = num + 5;
printf("num의 값: %d", num);
=>
num의 값: 17
* 증감 연산자
=> 다른 연산자들과는 다르게 피연산자가 한 개
- ++num : ( 전위 증가 연산자 ) 피연산자의 값을 1 증가시킨 후, 연산을 진행
- num++ : ( 후위 증가 연산자 ) 연산을 먼저 진행하고 나서 피연산자의 값을 1 증가
- --num : ( 전위 감소 연산자 ) 피연산자의 값을 1 감소 시킨 후 연산을 진행
- num-- : ( 후위 감소 연산자 ) 연산을 먼저 진행하고 나서 피연산자의 값을 1 감소
---------------------------------------------------------------------------
ex)
int a = 5, b = 6, c = 10, d;
d = ++a * b--;
printf("a=%d b=%d d=%d\n", a, b, d);
d = a++ + ++c - b--;
printf("a=%d b=%d c=%d d=%d\n", a, b, c, d);
=>
a = 6 b = 5 d = 36
a = 7 b = 4 c = 11 d = 12
* 비교 연산자
=> 연산의 결과가 참일 경우 1, 거짓일 경우 0을 반환
- == : 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 1을 반환
- != : 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 1을 반환
- > : 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 1을 반환
- >= : 왼쪽의 피연산자가 오른쪽의 피연산자보다 같거나 크면 1을 반환
- < : 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 1을 반환
- <= : 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 크면 1을 반환
---------------------------------------------------------------------------
ex)
int num1 = 10, num2 = 20, num3 = 4;
int num4 = 13, num5 = 4;
printf("%d\n", num1 == num2);
printf("%d\n", num4 != num1);
printf("%d\n", num4 > num2);
printf("%d\n", num5 >= num3);
printf("%d\n", num1 < num4);
printf("%d\n", num3 <= num1);
=>
0
1
0
1
1
1
* 논리 연산자
- && : ( 논리 & 연산 ) 논리식이 모두 참이면 1을 반환, 둘 중 하나라도 거짓이면 0을 반환
거짓 && 거짓 = 0
참 && 거짓 = 0
거짓 && 참 = 0
참 && 참 = 1
- || : ( 논리 OR 연산 ) 논리식이 둘 중 하나라도 참이면 1을 반환
거짓 || 거짓 = 0
참 || 거짓 = 1
거짓 || 참 = 1
참 || 참 = 1
- ! : ( 논리 NOT 연산 ) 참이면 거짓, 거짓이면 참으로 반전
논리 NOT 연산의 경우, 피연산자가 한 개만 존재함
'Progremming Study > C언어' 카테고리의 다른 글
c언어 기초 _ 연산자 ( 삼항, sizeof ) (0) | 2022.06.20 |
---|---|
c언어 기초 _ 비트 연산자 (0) | 2022.06.17 |
c언어 기초 _ 상수, 형 변환 (0) | 2022.06.10 |
C언어 기초 _ 변수, 자료형, 입력 (0) | 2022.06.09 |
C언어 기초 _ 서식 지정자, 데이터 표기 방법 (0) | 2022.06.08 |