[C] 3강. 반복문
반복문
반복문의 개념
반복문의 조건
- 종료는 필수
반복의 종료 시점
- 종료검사 후 실행
- 실행 후 종료검사
반복의 횟수 조절
- 조건에 해당되면 반복 실행
- 조건이 거짓이면 반복 종료
반복문의 구조
- 시작에서 조건검사 (조건이 거짓이면 실행조차 안됨)
- 끝에서 조건검사 (어쨌든 1번은 실행이 됨)
- 중간에서 조건검사
반복문의 종류
while 문
-
조건을 반복의 첫 부분에서 검사
- 처음부터 거짓이면 문장이 한 번도 실행되지 않음
-
문장이 몇 번이나 반복되는지는 조건이 언제 거짓으로 변경되는가에 달려 있음
-
조건이 변하지 않거나 영원히 거짓이 안 되는 경우는 무한 반복의 오류에 빠지므로 주의
-
조건이 참일 동안 반복
-
반복할 행동이 2개 이상이면 블록 사용
int cnt;
cnt = 0;
while(cnt < 5) {
printf("hello\n");
cnt++;
}
do-while 문
- 문장을 최초 1번을 실행 (조건이 참이던 거짓이던)
- 이후 조건이 참이면 조건이 거짓할때까지 문장을 반복한다.
int cnt;
cnt = 0;
do {
printf('hello world');
cnt++;
} while(cnt < 10);
while | do-while |
---|---|
조건을 검사하고 문장을 실행 | 문장을 실행하고 조건을 검사 |
0회 반복이 가능 | 최소 1회 반복 |
hello를 5회 출력하는 program (적어도 한 번은 출력)
int cnt;
cnt = 0;
do {
printf('hello\n');
cnt = cnt + 1;
} while (cnt < 5);
for 문
- while과 기본적인 반복구조는 동일하고, 단지 지정된 횟수만큼 반복
- 반복변수를 제어하기 위한 초기화와 증감연산이 추가
- 세 가지 부분 중 불필요한 것은 비워둠
초기화
: 반복을 제어하는 변수에 초기값을 설정, 반복이 시작되기 전에 한 번만 실행조건
: 반복을 시작할 때마다 검사하여 참이면 반복을 진행하고 거짓이면 종료증감연산
: 매회 반복의 끝에서 실행하며, 반복 제어 변수의 값을 증가 또는 감소
int cnt;
for (cnt = 0; cnt < 5; cnt = cnt + 1) {
printf('hello\n');
}
두 수를 입력 받아 합을 출력하는 것을 5회 반복하는 program 작성
int a, b, cnt;
for (cnt = 0; cnt < 5; cnt = cnt + 1) {
printf("Enter 1st number: ");
scanf("%d", &a);
// scanf를 쓰게되면 표준 입력을 받아서 a 변수에 저장
printf("Enter 2nd number: ");
scanf("%d", &b);
// scanf를 쓰게되면 표준 입력을 받아서 b 변수에 저장
printf("SUM = %d\n", a+b);
// 더한 값 출력
}
반복문의 활용
1에서 10까지의 수를 화면에 출력
int i;
for (i=0; i<10; i++) {
printf("%d\n", i+1);
}
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
C언어 문법 익혀두기 (개념은 프로그래밍이 거기서 거기…)
반복 횟수를 입력 받고, 그 횟수만큼 정수를 입력 받아 평균을 출력하기
#include<stdio.h>
void main() {
int i, num, cnt, sum;
printf("몇 회를 반복할 것인가요?");
scanf("%d", &cnt);
printf("%d회 반복하여 정수를 입력하세요\n", cnt);
for (i = 0; i < cnt; i++) {
scanf("%d", &num);
sum = sum + num;
}
printf("평균은 %d", sum/cnt);
}