반복문 : 조건을 만족하는 동안 같은 문장을 반복 실행한다.
원하는 횟수만큼 반복할 때 사용한다. (횟수가 정해져 있을 때 사용)
for (초기식; 조건식; 증감식)
{
실행문
}
ex) a 값을 두 배로 증가시키는 문장을 3번 반복하는 코드
int a = 1;
for (int i = 0; i < 3; i++)
{
a = a * 2;
}
i = 0, i = 1, i = 2일 때 조건식이 참이므로 a = a * 2는 총 3번 실행된다.
for (i = 0; i < 3; i++) // i의 값이 0, 1, 2일 때 총 3번 반복
for (i = 2; i <= 4; i++) // i의 값이 2, 3, 4일 때 총 3번 반복
for (i = 0; i < 7; i += 3) // i의 값이 0, 3, 6일 때 총 3번 반복
for (i = 3; i > 0; i--) // i의 값이 3, 2, 1일 때 총 3번 반복
모두 3번 반복하는 것을 나타내는 식이지만 첫 번째 형식을 주로 사용한다.
(배열에서 for문을 활용하는 코드를 많이 작성하게 되는데 배열은 0번부터 시작하기 때문에 초기식을 0으로 설정하는 것에 익숙해지는 것이 좋다.)
for (i = 0; i < 10; i++){
printf("Hello, world!");
i += 2;
}
이 코드에서 반복 횟수를 한눈에 알아보기 힘들다.
for (i = 0; i < 10; i++) 를 보면 10번 실행된다고 보인다.
하지만 실행문에서 i 값이 증가되므로 i = 0, 3, 6, 9일 때 총 4번 반복된다.
조건식이 참인 동안 실행문을 반복한다.
ex) a가 10보다 작은 동안 a를 두 배씩 반복적으로 늘리는 코드
int a = 1;
while (a < 10) // 조건식
{
a = a * 2; // 실행문
}
while문 1회 | while문 2회 | while문 3회 | while문 4회 | while문 5회 | |
---|---|---|---|---|---|
a<10 | 참 | 참 | 참 | 참 | 거짓 |
a = a*2 | 1 * 2 | 2 * 2 | 4 * 2 | 8 * 2 | |
a 값 | 2 | 4 | 8 | 16 |
조건식이 거짓이 되면 실행문이 실행되지 않고 while문이 끝나게 된다.
일단 반복할 문장을 한 번 수행한 후에 조건을 검사한다.
조건과 관계없이 실행문을 무조건 한 번 실행한 뒤 while문과 같이 조건이 거짓이 되기 전까지 반복 실행된다.
do {
반복할 문장
} while (조건식); // 마지막에 세미콜론을 잊지 말자!!
ex) a 값을 두 배씩 늘리는 문장
int a = 1;
do {
a = a * 2; // 실행문
} while (a < 10); // 조건식
for문
for (i = 0; i < 10; i++)
{
printf("Hello, world!\n");
}
while문
i = 0;
while (i < 10)
{
printf("Hello, world!\n");
i++;
}
for문이 반복 횟수를 한눈에 알아보기 쉬우므로 반복 횟수가 정해진 경우에는 for문을 사용하는 것이 좋다.
잘 보고 갑니다. 허허