
: "지정된 횟수만큼" 동일한 명령문을 "반복"하는 구문
"지정된 횟수만큼" => 특정 조건식에 대한 참/거짓으로 책정
조건식을 통해서 얼마나 반복할지 결정이 됨
.
"반복문은 어느 시점에서는 반드시 끝나게끔 설정하라."
while (조건식) {
조건식을 충족할 때마다 수행할 명령문
}
ex.
int num = 1; // num 변수 값을 "변화"시키면서 출력에 활용할 예정
while (num <= 5) {
printf("%d\n", num); // 현재 num값 출력
num++; // num에 1을 추가
}
// num이 증가를 연이어 하다가, 6이 되는 순간 빠져나올 것.
제어변수 : 반복문 수행에 의해 변할 수 있는 변수, "반복활 횟수"를 결정할 임의의 변수 i
for (제어변수 초기화; 조건식; 제어변수 연산) {
조건식이 성립할 때 반복 수행할 명령문
}
ex.
printf("for문을 통항 1~5 숫자 출력\n");
for (int num = 1; num <= 5; num++) {
printf("%d\n", num);
}
반드시 "한번은 실행"이 되는 반복문
우선은 실행을 하고 -> 조건을 따지면서 반복을 할지 결정 (반복)
do {
적어도 한번은 수행할 명령문
} while (조건식);
ex.
int i = 1;
do {
printf("%d\n", i);
i++;
} while (i <= 10);
int tf = 0;
do {
printf("do-while문이 실행되었습니다.\n");
} while (tf != 0);
=> 반복할 횟수를 정하기 위한 조건식을 당장 짤 수 없는 상황
=> 일단 우선은 반복문을 돌려야 함 -(무한 반복문의 원리)
while (true) { // 조건식 내용 :: "참(true)"
// 조건에 따지지 않고 반드시 이 반복문 안에 들어옴
// 무한 반복문을 작성할 때에는, 반복문 안에서 중단점을 따로 만들어야 함.
// "강제 종료, 반복문 탈출" => break;
}
ex.
while (true) {
int a, b;
scanf("%d %d", &a, &b);
if (a == 0 && b == 0) { break; }
printf("%d\n", a + b);
}
break : "강제 중단" -> 현재 속해있는 {} 쌍을 탈출
continue : "계속", 실행하던 반복문 수행을 중단하고, 반복문의 처음으로 돌아간다.(반복문 탈출x)
ex.
// 예제 :: n부터 m까지의 숫자들 중 짝수만 출력
// 1. n,m 입력받기
int n, m;
scanf("%d %d", &n, &m);
// 2. n ~ m 사이의 숫자들 하나씩 탐색
for (int i = n; i <= m; i++) {
// 짝수만 출력
/*if (i % 2 == 0) {
printf("%d ", i);
}*/
// 홀수인 경우에는, 반복문의 처음으로 돌아가게끔 한다
if (i % 2 != 0) {
printf("continue 수행\n");
continue; // for문의 i++로 올라가서 다시 돌아감.
}
printf("continue 수행하지 않음\n");
printf("%d ", i);
}