for (선언; 조건; 증감) {
수행할 문장
}
while (조건) {
수행할 문장 (증감 포함)
}
do {
수행할 문장(증감 포함)
} while (조건);
이중 반복문의 예
피라미드 쌓기
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int floor;
printf("몇층으로 쌓으시겠습니까?");
scanf("%d", &floor);
for (int i = 0; i < floor; i++) {
for (int k = 0; k < floor-i-1; k++) {
printf(" ");
}
for (int l = 1; l <= 1+(2*i); l++) {
printf("*");
}
printf("\n");
}
return 0;
}
피라미드를 쌓는 프로그램이다.
이중 반복문을 이해하는데에 매우 유용한 표를 사용하면 된다.
반복횟수 | i값 | k값 | l값 | floor - i -1 | 1 + (2 * i) | 출력내용 |
1 | 0 | 012345678 | 1 | 10 - 0 - 1 = 9 | 1 | 공백k개*l개 |
2 | 1 | 01234567 | 123 | 10 - 1 - 1 = 8 | 3 | 공백k개*l개 |
3 | 2 | 0123456 | 12345 | 10 - 2 - 1 = 7 | 5 | 공백k개*l개 |
4 | 3 | 012345 | 1234567 | 10 - 3 - 1 = 6 | 7 | 공백k개*l개 |
5 | 4 | 01234 | 123456789 | 10 - 4 - 1 = 5 | 9 | 공백k개*i개 |
앞길이 막막해 보인다면 루프 제어 변수인 i, j, k, l .. 값이라도 반복 횟수에 따라 정리해본다면 한번에 이해하기가 쉬울 것이다.
반복문의 i j k 와 같은 변수를 반복 인덱스 혹은 루프 카운터라고 부르는데 영어로는
iteration index
loop counter
라고 한다.
'C언어 자습 > 혼자공부하는 C언어 (저자 서현우)' 카테고리의 다른 글
난수 생성하기 (0) | 2023.04.12 |
---|---|
continue 와 break 그리고 switch (0) | 2023.04.11 |
C언어 상수 (0) | 2023.04.10 |
실수형 변수, 서식문자 표현법 (0) | 2023.04.10 |
포인터에 대해 정리한 글 (0) | 2023.04.10 |