반복문과 배열의 조합 — for 문을 이용한 배열 순회, 전체 출력과 총합 | 기초 C언어 8.1.3
기초 C언어Chapter 08 배열 › Section 01 1차원 배열
8.1.3 반복문과 배열의 조합
for 문의 제어 변수를 인덱스로 써서 배열의 모든 요소를 차례로 방문. 같은 순회 틀로 전체 출력과 총합 계산을 비교.
영상 목차 · 원하는 부분부터 보기
01배열과 for 문의 결합교재 234p
- 앞 편에서는 인덱스 자리에 변수를 쓸 수 있음을 확인. 이번 편에서는 그 변수를 for 문으로 바꾸며 모든 요소에 순서대로 접근.
- 배열은 여러 데이터를 저장하고, 반복문은 특정 작업을 여러 번 반복. 둘을 함께 쓰면 모든 요소에 동일한 작업을 매우 효율적으로 수행 가능.
- 교재의 비유는 아파트 관리인. 101호, 102호의 문을 일일이 여는 대신 ‘101호부터 505호까지 순서대로 방문하라’는 반복문 하나로 처리하는 방식.
02처음부터 끝까지 한 번씩, 순회교재 234p
- 순회 — 배열의 모든 요소를 처음부터 끝까지 한 번씩 방문하는 것. for 문을 사용하면 순회 패턴을 만들 수 있음.
- 순회 패턴의 꼴은 for (int i = 0; i < 배열의_크기; i++). 중괄호 안에서 배열이름[i]로 각 요소에 대한 작업을 수행.
- 초기식 안에서 i를 선언하는 꼴은 C99 표준부터 가능. 교재 예제처럼 i를 미리 선언해 두어도 무방.
03순회 패턴의 세 식교재 234p
| 식 | 역할 |
|---|---|
| int i = 0; | 첫 번째 요소의 인덱스인 0에서 시작 |
| i < 배열의_크기; | 마지막 인덱스(크기 - 1)까지만 반복 |
| i++ | 한 요소의 작업을 마친 뒤 다음 요소로 이동 |
- 7장의 for 문은 주로 1에서 시작했지만, 배열을 순회할 때는 인덱스에 맞추어 0에서 시작.
조건식에는 <= 가 아니라 <
i <= 배열의_크기로 쓰면 크기와 같은 인덱스까지 반복하여 존재하지 않는 칸에 접근하게 됨. 크기가 5이면 i는 0부터 4까지만 돌도록 < 를 사용.
04CODE 8.3 — 배열 전체 출력교재 235p
- CODE 8.3 — scores 배열의 다섯 점수를 for 문 하나로 모두 출력하는 예제. i가 0, 1, 2, 3, 4로 변함에 따라 scores[0]부터 scores[4]까지 순서대로 접근.
- 실행 결과는 1번 학생의 점수: 90부터 5번 학생의 점수: 92까지 다섯 줄. 반복 한 번에 한 줄씩 출력.
- 학생 번호는 i + 1로 표시. i의 값은 그대로 두고 1을 더한 수만 넘기는 방식이며, 1부터 세는 사람과 0부터 세는 배열 사이를 맞추는 역할. 상세 코드는 교재 CODE 8.3.
05CODE 8.4 — 배열 원소 총합교재 236p
- CODE 8.4 — 0으로 초기화한 sum에 sum += scores[i];로 각 칸의 값을 누적하는 예제. 실행 결과는 점수 총합: 444 한 줄.
- sum은 90, 175, 275, 352를 거쳐 444로 변화. 7.1.2의 합계 누적이 변하는 i 자체를 더했다면, 여기서는 i가 가리키는 칸의 값을 더하는 차이.
- sum을 0으로 초기화하는 까닭과 += 누적은 7.1.2 내용과 같음. 상세 코드는 교재 CODE 8.4.
크기를 숫자로 적었다면 함께 수정
두 예제의 조건식은 배열의 크기를 숫자 5로 직접 적은 꼴. 배열의 크기를 바꾸면 조건식의 숫자도 함께 고쳐야 없는 칸 접근이나 빠진 칸을 막을 수 있음.
06가장 기본적이자 자주 쓰이는 패턴교재 236p
- 두 예제의 for 문은 같고, 중괄호 안의 한 줄만 출력 또는 누적으로 바뀐 구조. 반복의 틀은 그대로 두고 각 요소에 할 작업만 교체.
- for 문과 배열의 조합은 C 프로그래밍에서 데이터를 다루는 가장 기본적이자 자주 쓰이는 패턴. 앞으로 배열을 사용하는 대부분의 작업에서 활용.
- 한 줄로 늘어선 1차원 배열은 여기까지. 다음 편 8.2.1에서는 행과 열이 있는 2차원 배열을 다룸.
이 절의 핵심 정리
- 배열과 for 문을 함께 쓰면 배열의 모든 요소에 동일한 작업을 효율적으로 수행할 수 있다.
- 배열 순회는 인덱스 0에서 시작하여 크기보다 작은 동안 반복하며 모든 요소를 한 번씩 방문한다.
- 조건식에 크기와 같은 값까지 포함하면 존재하지 않는 요소에 접근하게 된다.
- CODE 8.3은 i가 0부터 4까지 변하면서 scores[i]를 차례로 출력하고 학생 번호는 i + 1로 표시한다.
- CODE 8.4는 반복할 때마다 scores[i]를 sum에 누적하여 총합 444를 구한다.
강의 자료8.1.3 반복문과 배열의 조합
1 / 11
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기