1. 조건문
- if문
if (조건식)
{
조건식의 결과가 참일 때 실행하고자 하는 명령문;
}
- if / else문
if (조건식)
{
조건식의 결과가 참일 때 실행하고자 하는 명령문;
}
else
{
조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
}
- if / else if / else문
if (조건식1)
{
조건식1의 결과가 참일 때 실행하고자 하는 명령문;
}
else if (조건식2)
{
조건식2의 결과가 참일 때 실행하고자 하는 명령문;
}
else
{
조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
}
- 삼항 연산자에 의한 조건문
조건식 ? 반환값1 : 반환값2
- switch문 // case와 default뒤에 break중요!!
switch (조건 값)
{
case 값1:
조건 값이 값1일 때 실행하고자 하는 명령문;
break;
case 값2:
조건 값이 값2일 때 실행하고자 하는 명령문;
break;
...
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
break;
}
ex1)
int num = 2;
switch (num)
{
case 1:
printf("입력하신 수는 1입니다.\n");
break;
case 2:
printf("입력하신 수는 2입니다.\n");
break;
case 3:
printf("입력하신 수는 3입니다.\n");
break;
case 4:
printf("입력하신 수는 4입니다.\n");
break;
case 5:
printf("입력하신 수는 5입니다.\n");
break;
default:
printf("1부터 5까지의 수만 입력해 주세요!");
break;
}
ex2)
char ch = 'a';
switch (ch)
{
case 'a':
case 'A':
printf("이 학생의 학점은 A입니다.\n");
break;
case 'b':
case 'B':
printf("이 학생의 학점은 B입니다.\n");
break;
case 'c':
case 'C':
printf("이 학생의 학점은 C입니다.\n");
break;
case 'd':
case 'D':
printf("이 학생의 학점은 D입니다.\n");
break;
case 'f':
case 'F':
printf("이 학생의 학점은 F입니다.\n");
break;
default:
printf("학점을 정확히 입력해 주세요!(A, B, C, D, F)");
break;
}
2. 반복문
- while문
while (조건식)
{
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}
- do / while문
// 결과와 상관없이 무조건 1번은 루프 반복
why? 조건을 먼저 검사하기 때문.
do {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
} while (조건식);
- for문
for (초기식; 조건식; 증감식)
{
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}
3. 기타 제어문
- continue문
// 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뜀.
ex) 3의 배수를 제외하고 출력하는 것.
int i;
int except_num = 3;
for (i = 1; i <= 100; i++)
{
if (i % except_num == 0)
{
continue;
}
printf("%d ", i);
} // if문에서 3의배수라면 continue를 만나서 if문뿐만 아니라 for까지 다 건너뛴다. 따라서 , 3의 배수는 화면에 출력되지 않는다.
- break문
// 해당 반복문을 완전히 빠져나감.
ex)
int start_num = 1;
int end_num = 10;
int sum = 0;
while (1)
{
sum += start_num;
if (start_num == end_num)
{
break;
}
start_num++;
}
<참고 http://tcpschool.com/c/c_function_basic >