1. 논리식
참 또는 거짓 중 하나의 값을 가지는 식이다.
참과 거짓을 정수로 표현하면 참은 1, 거짓은 0이다.
2. 연산자
2.1 관계 연산자
① A > B
② A < B
③ A >= B
④ A <= B
2.2 동치 연산자
① A == B
② A != B
2.3 논리 연산자
① Binary Operators
A && B : A와 B가 모두 참이면 1, 하나라도 거짓이면 0
A || B : A와 B중 적어도 하나가 참이면 1, 모두 거짓이면 0
② Unary Operator
!A : A가 참이면 0, 거짓이면 1
* 계산 우선순위 : 산술 연산자 > 관계 연산자 > 동치 연산자* 논리 연산자는 0이 아닌 값은 무조건 참으로 인식
3. 조건문
3.1 if
① if문
형태 : if(수식) 명령문;
수식이 참이면 명령문이 실행되고, 거짓이면 실행되지 않는다.
실행되는 명령문이 여러 개면 중괄호로 묶어준다.
ex)
if(수식){
명령문1;
명령문2;
}
② if-else문
형태 : if(수식){
명령문1;
명령문2;
}
else
명령문3;
if문의 조건식이 성립하지 않을 때 실행되는 구문이다.
③ else if문
형태 : if(수식){
명령문1;
...
}
else if(수식2){
명령문2;
...
}
...
else if(수식k){
명령문k;
...
}
...
else{
명령문n;
...
}
3.2 switch-case문
if-else문의 조건식이 'a==0'과 같이 ==연산자로 구성되어 있으면 switch-case문을 사용할 수 있다.
If(grade == 4) printf(“Excellent”);
else if(grade == 3) printf(“Good”);
else if(grade == 2) printf(“Average”);
else if(grade == 1) printf(“Poor”);
else if(grade == 0) printf(“Failing”);
else printf(“Illegal grade”);
↓↓↓
switch (grade){
case 4: printf(“Excellent”); break;
case 3: printf(“Good”); break;
case 2: printf(“Average”); break;
case 1: printf(“Poor”); break;
case 0: printf(“Failing”); break;
default: printf(“Illegal grade”);
}
3.3 조건 연산자
형태 : 수식1 ? 수식2 : 수식3
수식1의 결과가 참이면 수식2의 값을 반환하고, 거짓이면 수식3의 값을 반환한다.
ex)
result = 10 > 5 ? 1 : 2;
printf("%d", result); //1출력
4. 반복문
4.1 while문
while(수식) 명령문;혹은while(수식){ 명령문1; 명령문2; ...}
수식이 참이면 명령문을 실행하는 반복문이다.
4.2 do-while문
do 명령문 while(수식);
혹은
do{ 명령문1; 명령문2; ...}while(수식);
수식이 참이면 반복문을 실행한다는 점에서 while문이랑 똑같다. 그런데 무슨 일이 있어도 명령문을 한 번 실행하고 반복문을 수행한다.
4.3 for문
for(수식1; 수식2; 수식3) 명령문;
혹은
for(수식1; 수식2; 수식3){ 명령문1; 명령문2; ...}
수식1은 반복문이 처음 실행될 때 한 번만 수행하는 식이고, 수식2는 반복문 조건, 수식3은 반복문이 실행된 후에 실행되는 문장이다.
* for문에서 수식1, 수식2, 수식3을 무조건 쓸 필요없다.
'알고리즘' 카테고리의 다른 글
[SWEA] 10726/8931 (0) | 2020.10.02 |
---|---|
[SWEA] 9940/10032 (0) | 2020.09.24 |
[SWEA] 10570/10200 (0) | 2020.09.18 |
C정리 2주차 (0) | 2020.07.11 |
C정리 1주차 (0) | 2020.07.06 |