for 문을 이용한 반복 처리 — 제어 변수 활용·합계 계산·구구단·역순 출력 | 기초 C언어 7.1.2
기초 C언어Chapter 07 반복문 › Section 01 for 문
7.1.2 for 문을 이용한 반복 처리
반복마다 규칙적으로 변하는 제어 변수 i를 반복 안에서 직접 활용. 누적 합계, 7단 구구단, 1씩 감소하는 역순 출력을 비교.
영상 목차 · 원하는 부분부터 보기
01반복 안에서 쓰는 제어 변수교재 196p
- 앞 편 7.1.1에서는 같은 문장을 다섯 번 출력. 이번 편은 한 번 돌 때마다 달라지는 제어 변수 i를 반복 안에서 값으로 직접 사용.
- for 문의 진정한 힘은 단순히 여러 번 반복하는 것을 넘어, 반복을 제어하는 변수(주로 i)를 반복문 안에서 활용할 때 나타남.
- 제어 변수는 반복이 진행됨에 따라 1, 2, 3, …처럼 규칙적으로 변하는 값. 이 값을 응용하면 다양한 반복 처리를 쉽게 구현 가능.
| 예제 | 제어 변수 | 활용 방식 |
|---|---|---|
| CODE 7.2 합계 계산 | 1부터 10까지 1씩 증가 | sum에 누적 |
| CODE 7.3 7단 구구단 | 1부터 9까지 1씩 증가 | 고정된 값 dan과 곱셈 |
| CODE 7.4 역순 출력 | 10부터 1까지 1씩 감소 | 현재 값을 그대로 출력 |
02CODE 7.2 1부터 10까지의 합교재 196p
- 정수형 변수 i(반복 제어용)와 sum(누적합 저장용)을 사용. for (i = 1; i <= 10; i++)의 실행문은 sum += i; 한 줄.
- 실행 결과는 1부터 10까지의 합: 55 한 줄. 출력 문장이 반복문 밖에 있어 열 번이 아니라 한 번만 출력. 상세 코드는 교재 CODE 7.2.
03sum에 차곡차곡 누적교재 196~197p
- sum += i;는 sum = sum + i;와 같은 의미. 기존 sum의 값에 현재 i의 값을 더해 다시 sum에 저장.
- 반복마다 sum은 0, 1, 3, 6, 10, …으로 불어나 마지막에 55가 됨. +=는 5.1.2에서 살펴본 연산자.
합계 변수는 반드시 0으로 초기화
초기화하지 않으면 쓰레기 값에 i가 더해져 잘못된 결과가 나옴. 비우지 않은 저금통에 모으기 시작하면 원래 들어 있던 동전까지 세게 되는 것과 같은 상황. 쓰레기 값은 4.2.1에서 다룬 내용.
04CODE 7.3 7단 구구단교재 197~198p
- 변하는 값 i(1부터 9까지 1씩 증가)와 고정된 값 dan(7로 초기화한 단수)을 곱셈에 사용. 실행문은 dan, i, dan * i 세 값을 printf로 출력하는 한 줄.
- 실행 결과는 7 * 1 = 7부터 7 * 9 = 63까지 아홉 줄. 상세 코드는 교재 CODE 7.3.
- dan의 초기값 7을 3으로 고치면 3단이 출력됨. 숫자 하나만 바꿔 다른 단을 얻는 것이 변수를 쓰는 이유.
큰따옴표 안의 *는 출력되는 글자
서식 문자열의 %d 세 개가 뒤의 값 세 개와 차례대로 짝을 이룸. 문자열 안의 *는 화면에 그대로 찍히는 글자이고, 실제 곱셈은 마지막 인수 dan * i에서 수행.
05CODE 7.4 역순 출력교재 198p
- for (i = 10; i >= 1; i--)로 i를 10부터 1까지 1씩 감소시키며 현재 i 값을 한 줄에 하나씩 출력.
- 실행 결과는 10부터 1까지 열 줄. 맨 위의 10은 초기식이 정한 시작 값이며, 1을 출력한 뒤 i가 0이 되어 조건식이 거짓이 되면서 종료. 상세 코드는 교재 CODE 7.4.
06세 식의 조절과 다음 편교재 199p
| 식 | 1씩 증가 (CODE 7.2) | 1씩 감소 (CODE 7.4) |
|---|---|---|
| 초기식 | i = 1 | i = 10 (시작 값) |
| 조건식 | i <= 10 | i >= 1 (1이 될 때까지) |
| 증감식 | i++ | i-- (1씩 감소) |
- 초기식·조건식·증감식을 잘 조절하면 숫자를 1씩 감소시키는 반복문도 작성 가능.
- 횟수가 정해진 반복은 for 문의 몫. 조건이 참인 동안 되풀이하는 반복은 다음 편 7.2.1 while 문에서 다룰 예정.
비교 기호도 함께 바꿀 것
시작 값만 10으로 바꾸고 조건식을 i <= 1로 두면 처음부터 거짓이 되어 한 번도 반복하지 않음. 7.1.1에서 본, 조건식이 처음부터 거짓인 경우에 해당.
이 절의 핵심 정리
- for 문의 제어 변수는 반복이 진행됨에 따라 규칙적으로 변하므로 반복문 안에서 값으로 활용할 수 있다.
- CODE 7.2는 1부터 10까지 변하는 i를 sum에 누적하여 합계 55를 구한다.
- 합계를 저장할 변수는 0으로 초기화해야 쓰레기 값이 더해지지 않는다.
- CODE 7.3은 변하는 i와 고정된 값 dan을 곱하여 7단 구구단을 출력한다.
- 초기식, 조건식, 증감식을 조절하면 CODE 7.4처럼 1씩 감소하는 반복문도 만들 수 있다.
강의 자료7.1.2 for 문을 이용한 반복 처리
1 / 11
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기