C언어
[C언어] 반복문
조아리
2024. 8. 8. 11:11
반응형
일정 조건을 만족하는 동안 같은 실행문을 반복하는 게 바로 반복문입니다. 따라서 반복문에는 항상 반복의 조건을 정의하는 조건식과 조건을 만족했을 때 실행하는 문장이 있습니다.
다음은 반복문별 실행되는 순서를 나타내는 그림입니다.
반응형
while문
while문은 조건식을 먼저 검사하고 조건식이 참인 동안 실행문을 반복합니다.
#include <stdio.h>
int main(void){
int a = 1;
while(a < 10){
a = a * 2;
}
printf("a : %d\n", a);
return 0;
}
실행 결과
a : 16
위 코드에서 while문의 흐름을 확인해 보도록 하겠습니다.
- a(1) < 10 : 참
- a(1) = a(1) * 2 --> a = 2
- a(2) < 10 : 참
- a(2) = a(2) * 2 --> a = 4
- a(4) < 10 : 참
- a(4) = a(4) * 2 --> a = 8
- a(8) < 10 : 참
- a(8) = a(8) * 2 --> a = 16
- a(16) < 10 : 거짓
- while문 종료
즉 조건(a<10)을 만족하는 동안 실행문을 계속해서 실행하는 반복문인 것입니다.
for문
for문은 보통 실행문을 원하는 횟수만큼 반복할 때 사용합니다.
#include <stdio.h>
int main(void){
int a = 1;
int i;
for(i = 0; i < 3; i++){
a = a * 2;
}
printf("a : %d\n", a);
return 0;
}
실행 결과
a : 8
위 코드의 for문을 살펴보겠습니다.
- i = 0
- i(0) < 3 : 참
- a(1) = a(1) * 2 --> a = 2
- i(0)++ --> i = 1
- i(1) < 3 : 참
- a(2) = a(2) * 2 --> a = 4
- i(1)++ --> i = 2
- i(2) < 3 : 참
- a(4) = a(4) * 2 --> a = 8
- i(2)++ --> i = 3
- i(3) < 3 : 거짓
- for문 종료
i를 0으로 초기화 한 후에 2까지 총 3번(i < 3)을 반복했습니다. 이처럼 for문은 초기식, 조건식, 증감식의 위치가 한 곳에 몰려 있어서 원하는 횟수만큼 반복하기에 좋습니다.
do ~ while문
이전의 반복문들은 조건식을 먼저 확인했지만 do ~ while문은 일단 반복할 문장을 실행한 후에 조건을 검사합니다.
#include <stdio.h>
int main(void){
int a = 1;
do{
a = a * 2;
} while(a < 10);
printf("a : %d\n", a);
return 0;
}
실행 결과
a : 16
위 코드의 do ~ while문의 흐름을 파악해 보도록 하겠습니다.
- a(1) = a(1) * 2 --> a = 2
- a(2) < 10 : 참
- a(2) = a(2) * 2 --> a = 4
- a(4) < 10 : 참
- a(4) = a(4) * 2 --> a = 8
- a(8) < 10 : 참
- a(8) = a(8) * 2 --> a = 16
- a(16) < 10 : 거짓
- do ~ while문 종료
a < 10을 먼저 검사하지 않고 안의 실행문을 먼저 수행한 것을 확인하실 수 있습니다.
반응형