
x++, x--*, /, %, +, -<<, >><, <=, >, >=, ==, !=~, &, ^, |!, &&, ||(조건식)?a:b=, +=, -=, *=, /=, %=⭐증감 연산자(Increment & Decrement Operartor)⭐ [2021년 3회]
| 종류 | 설명 |
|---|---|
| ++x | 변수의 값을 1 증가시킨 후에 해당 변수를 사용하는 연산자 |
| x++ | 변수를 사용한 후에 변수의 값을 1 증가시키는 연산자 |
| --x | 변수의 값을 1 감소시킨 후에 해당 변수를 사용하는 연산자 |
| x-- | 변수를 사용한 후에 변수의 값을 1 감소시키는 연산자 |
산술 연산자
| 종류 | 설명 |
|---|---|
| + | 양쪽의 값을 더하는 연산자 |
| - | 왼쪽 값에서 오른쪽 값을 빼는 연산자 |
| * | 두 개의 값을 곱하는 연산자 |
| / | 왼쪽 값을 오른쪽 값으로 나누는 연산자 |
| % | 왼쪽 값을 오른쪽 값으로 나눈 나머지를 계산하는 연산자(정수끼리만 가능) |
⭐시프트 연산자(Shift Operator)⭐ [2021년 2회]
| 종류 | 설명 |
|---|---|
| << | 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동하는 연산자 |
| >> | 왼쪽 값에 오른쪽 값만큼의 부호 비트를 채우면서 오른쪽으로 이동하는 연산자 |

⭐관계 연산자(Relation Operator)⭐ [2021년 3회]
| 종류 | 설명 |
|---|---|
| > | 왼쪽에 있는 값이 오른쪽에 있는 값보다 크면 참을 반환, 그렇지 않으면 거짓 반환 |
| < | 왼쪽에 있는 값이 오른쪽에 있는 값보다 작으면 참을 반환, 그렇지 않으면 거짓 반환 |
| >= | 왼쪽에 있는 값이 오른쪽에 있는 값보다 크거나 같으면 참 반환, 그렇지 않으면 거짓 반환 |
| <= | 왼쪽에 있는 값이 오른쪽에 있는 값보다 작거나 같으면 참 반환, 그렇지 않으면 거짓 반환 |
| == | 왼쪽에 있는 값이 오른쪽에 있는 값과 같으면 참 반환, 그렇지 않으면 거짓 반환 |
| != | 왼쪽에 있는 값이 오른쪽에 있는 값과 다르면 참 반환, 그렇지 않으면 거짓 반환 |
비트 연산자(Bit Operator)
| 종류 | 설명 |
|---|---|
| & | AND 연산자 |
| ^ | XOR 연산자 |
| ~ | NOT 연산자(모두 반전) |
*** XOR 
논리 연산자(Logic Operator)
| 종류 | 설명 |
|---|---|
| && | AND 연산자 |
| ! | NOT 연산자 |
조건식 ? 참일때 값 : 거짓일때 값;⭐대입 연산자(Assignment Operator)⭐ [2021년 3회]
| 종류 | 설명 |
|---|---|
| = | 왼쪽에 있는 변수에 오른쪽 값 대입 |
| += | 왼쪽의 변수에 오른쪽 값 더한 후, 그 결과 값을 왼쪽 변수에 대입 |
| -= | 왼쪽의 변수에 오른쪽 값 뺀 후, 그 결과 값을 왼쪽 변수에 대입 |
| *= | 왼쪽의 변수에 오른쪽 값 곱한 후, 그 결과 값을 왼쪽 변수에 대입 |
| /= | 왼쪽의 변수에 오른쪽 값 나눈 후, 그 결과 값을 왼쪽 변수에 대입 |
| %= | 왼쪽의 변수에 오른쪽 값 나눈 후, 그 나머지를 왼쪽 변수에 대입 |
if(조건문){
명령문;
}
else if(조건문){
명령문;
}
else {
명령문;
}
switch(식){
case 값;
명령문;
break;
default:
명령문;
}
진입한 case부터 switch문 끝까지 동작한다!while(조건문){
명령문;
}
do{
명령문;
}while(조건문);
예시
#include <stdio.h>
void main(){
int i=1; sum = 0;
do{
sum = sum + i;
i++;
} while(i<0);
printf("%d\n", sum);
}
---------------------------
[출력]
1
for(초기식; 조건식; 증감식;){
명령문;
}
명령문;
#include <stdio.h>
void main(){
int i, sum = 0;
for(i=1, i<3; i++)
sum = sum + i;
printf("%d\n", sum);
}
------------------------
[출력]
3
#include <stdio.h>
void main(){
int i, j;
for(i=1, i<3; i++)
for(j=1; j<3; j++)
printf("%d\n", i*10+j);
}
------------------------
[출력]
11 // i=1, j=1
12 //안쪽 for문의 증감식은 j++이므로 j는 1 증가한 2가 되고, 조건식은 j<3이므로 2<3은 참이기 때문에 반복문 수행해 i=1일때 j=2이므로 12 출력
21
22