티스토리 뷰
반응형
C언어 기초 Chapter 07: 반복문 while / do~while / for 완전 정리
07-1. while문을 이용한 문장의 반복
기본 구조
while (조건식) {
반복 실행할 문장;
}
- 조건식이 참(true) 이면 블록 실행
- 조건식이 거짓(false) 이면 반복 종료
예제:
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
return 0;
}
👉 출력: 1 2 3 4 5
무한 루프
while (1) {
printf("무한 반복!\n");
break; // 특정 조건에서 탈출 필요
}
⚠️ while(1) 은 종료 조건을 따로 만들어줘야 함
07-2. do~while문을 이용한 문장의 반복
기본 구조
do {
반복 실행할 문장;
} while (조건식);
- 최소 1번은 무조건 실행
- 조건 검사 → 참이면 다시 실행
예제:
#include <stdio.h>
int main(void) {
int num;
do {
printf("양수를 입력하세요: ");
scanf("%d", &num);
} while (num <= 0);
printf("입력한 수: %d\n", num);
return 0;
}
👉 while 과 달리 조건이 처음부터 거짓이어도 1회 실행
07-3. for문을 이용한 문장의 반복
기본 구조
for (초기식; 조건식; 증감식) {
반복 실행할 문장;
}
예제:
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 5; i++) {
printf("%d ", i);
}
return 0;
}
👉 출력: 1 2 3 4 5
다양한 활용
- 감소 반복
for (int i = 10; i > 0; i--) {
printf("%d ", i);
}
- 중첩 for문 (구구단)
for (int i = 2; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
printf("%d x %d = %d\n", i, j, i*j);
}
}
반복 제어 키워드
- break → 반복문 강제 종료
- continue → 아래 코드 건너뛰고 다음 반복 진행
예제:
for (int i = 1; i <= 10; i++) {
if (i == 5) continue; // 5 건너뜀
if (i == 8) break; // 8에서 종료
printf("%d ", i);
}
👉 출력: 1 2 3 4 6 7
핵심 정리 ✅
- while: 조건 먼저 검사 → 반복
- do~while: 최소 한 번 실행 후 조건 검사
- for: 반복 횟수 명확할 때 가장 많이 사용
- break, continue 로 반복 제어 가능
연습 문제 ✍️
- 1부터 100까지 합을 while문으로 구해보세요.
- 사용자에게 계속 정수를 입력받다가 0 입력 시 종료하는 do~while 프로그램을 작성하세요.
- for문으로 별 피라미드 출력하기
*
**
***
****
*****
- 1~50 중에서 짝수만 출력하되, continue를 활용해 보세요.
👉 정답? ▼
C언어 기초 Chapter 07: 반복문 while / do~while / for 완전 정리 + 연습문제 해설
반복문 기본 복습
- while : 조건을 먼저 검사하고 반복
- do~while : 최소 한 번 실행 후 조건 검사
- for : 반복 횟수가 명확할 때 사용
- break / continue : 반복 제어
연습문제 풀이 ✍️
1) 1부터 100까지 합 (while문)
#include <stdio.h>
int main(void) {
int i = 1, sum = 0;
while (i <= 100) {
sum += i;
i++;
}
printf("1부터 100까지의 합 = %d\n", sum);
return 0;
}
👉 출력: 5050
2) 정수 입력받다가 0 입력 시 종료 (do~while문)
#include <stdio.h>
int main(void) {
int num;
do {
printf("정수를 입력하세요 (0 입력 시 종료): ");
scanf("%d", &num);
if (num != 0)
printf("입력한 값: %d\n", num);
} while (num != 0);
printf("프로그램 종료!\n");
return 0;
}
3) 별 피라미드 (for문)
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
👉 출력:
*
**
***
****
*****
4) 1~50 중 짝수만 출력 (continue 활용)
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 50; i++) {
if (i % 2 != 0) continue; // 홀수는 건너뜀
printf("%d ", i);
}
return 0;
}
👉 출력: 2 4 6 ... 50
핵심 정리 ✅
- 반복문은 프로그램의 자동화와 효율성의 핵심
- while은 조건 중심, do~while은 최소 1회 실행, for는 횟수 중심
- break와 continue로 흐름 제어 가능
- 작은 예제들을 직접 실행해 보는 것이 가장 빠른 학습법!
반응형
'[문법] C언어' 카테고리의 다른 글
6) C언어 함수 완전정리: 정의, 호출, 변수 범위와 재귀까지 (4) | 2025.08.31 |
---|---|
5) C언어 조건문 완전정리: if / switch / break / continue (0) | 2025.08.31 |
3) C언어 입출력 완전정복: printf와 scanf 쉽게 배우기 (4) | 2025.08.31 |
2) C언어 비트 연산자, 상수, 자료형 개념 정리 (2) | 2025.08.31 |
1) C언어의 기본: C언어기초, 기본구성, 변수와 연산자 (6) | 2025.08.31 |