여러분 안녕하세요. 세이버입니다.
1강부터 꾸준히 강의를 보신 분들은 이제 조건문을 이용해 프로그래밍을 하실 수 있을 겁니다.
이번 강에서는 반복문이라는 것을 배움으로써 더 복잡한 연산을 쉽게 하는 방법을 습득하실 수 있을 겁니다.
1. 반복문이란 무엇인가?
여러분에게 종이에 "나는 프로그래머입니다."를 100번 쓰라고 하면 어떨 거 같나요??
100번이야 누군가에겐 쉬울 수 있고, 누군가는 귀찮을 수 있습니다.
학창 시절에 학원에서 영어단어 100번 쓰기 숙제를 하면 진짜 귀찮았거든요.
그럼 숫자를 더 높여서 1000번이면 어떨 거 같습니까??? 더 높여서 100000번이면???
아마 1000번이 넘어가는 순간 대부분의 사람들이 포기할 것입니다.
예를 바꿔서 종이에 원하는 단어를 대필해주는 기계가 있다고 가정합시다.
이 기계는 원하는 숫자를 입력하고 버튼을 누르면 그 숫자만큼 단어를 써주는 기계입니다.
이 기계를 가지고 "나는 프로그래머입니다."를 100000번 쓰라고 하면 어떨 거 같나요??
아마 이건 쉽다고 생각할 것입니다. 100000을 입력하고 버튼만 누르면 기계가 알아서 해주니까요.
이런 기계가 있다면 100000보다 더 큰 숫자를 요구해도 아무 부담 없이 수행할 수 있을 겁니다.
반복문은 이러한 기계처럼 반복적인 일을 자동으로 해주는 역할을 합니다.
반복문의 정의는 어떠한 코드를 여러 번 반복하는 함수로, 대표적으로 for 함수와 while 함수가 있습니다.
이번 강에서는 for 함수를 소개해드리겠습니다.
2. for 함수
for 함수는 가장 대표적인 반복문 중 하나로, 다음의 구조를 가지고 있습니다.
for 함수의 구조
for(초깃값; 조건식; 증감식)
{
반복할 코드
}
여기서 중요한 것은 초깃값, 조건식, 증감식이 무엇인지를 아셔야 한다는 것입니다.
원활한 설명을 위해 실습을 먼저 보여드리겠습니다.
위 코드는 "안녕하세요."를 10번 반복해서 출력하는 코드로 for 함수를 이용하였습니다.
7줄의 for 함수를 보시면 i=1; i<=10; i++가 보이실 겁니다.
i=1이 초깃값, i<=10은 조건식, i++이 증감식입니다.
일단 for 함수를 사용하기 위해서는 반복변수라는 것이 필요합니다.
위 코드에서는 i가 반복변수입니다. 반복변수의 이름은 어떤 거라도 상관없습니다.
초깃값은 반복변수에 처음 대입하는 값으로 반복문이 실행되고 맨 처음 동작하는 부분입니다.
조건식은 반복변수(혹은 다른 변수)가 조건에 맞는지 검사하는 역할로, 참이면 실행하고 거짓이면 반복문을 넘어갑니다.
증감식은 코드의 반복이 끝나면 반복변수에 증감을 해주는 역할을 합니다.
위 코드의 동작 과정을 설명드리면, 초깃값 i=1에서 반복변수 i에 1이 들어갑니다.
그런 후 조건식인 i<=10을 검사합니다.
i<=10이 참이므로 9줄의 printf 함수를 실행합니다.
마지막으로 증감식인 i++를 실행하여 i의 값을 2로 바꿉니다.
그런 다음 조건식으로 가 조건 확인 후 참이면 printf 함수를 실행하는 것을 반복합니다.
만약 조건식이 거짓이 되는 순간 반복문을 끝내게 됩니다.
코드상에서는 이러한 과정을 거쳐서 for 함수가 동작됩니다.
이렇게 반복변수의 값을 출력하여 확인할 수도 있습니다.
i의 값을 보시면 아시겠지만 i가 10이 마지막인 이유는 i가 10일 때 출력이 끝나면 증감식(i++)으로 i가 11이 되고, 조건식(i<=10)을 만족하지 못해서입니다.
3. 중첩 for 함수
이 장에서는 for 함수를 두 번 중첩하는 방법을 알아보겠습니다.
방법은 간단합니다. for 함수 안에 for 함수를 쓰면 됩니다.
중첩 for 함수를 설명할 때 여러 서적에서 사용하는 예시가 구구단입니다.
그래서 저도 구구단을 중첩 for 함수 실습으로 보여드리겠습니다.
이렇게 for 함수 안에 for 함수를 넣음으로써 위와 같은 구구단을 구현할 수 있습니다.
동작 과정을 간단하게 설명해드리면
1. i가 2이고 조건식을 만족하므로 9줄 for 함수로 넘어갑니다.
2. j가 1이고 조건식을 만족하므로 11줄의 printf 함수를 실행합니다.
3. 조건식이 거짓이 되는 j가 10이 될 때까지2를 반복합니다.
4. 13줄의 구분선을 실행합니다.
5. 7줄 for 함수의 증감식 i++를 실행합니다.
6. 1부터 반복합니다.
이런 과정으로 동작하게 됩니다.
직접 코드를 작성하시고 하나씩 차근차근 과정을 생각해보시면 이해가 쉽게 되실 겁니다.
이번 강은 여기서 마치겠습니다.
다음 강에서는 또 다른 반복문인 while문을 소개해드리도록 하겠습니다.
오늘도 수고하셨습니다.
정리
- 반복문 : 특정 코드를 반복적으로 실행하는 함수
- for 함수의 동작 과정 : 초깃값 -> 조건문 -> 참일 경우 코드 실행 -> 증감식 -> 조건문으로 돌아가 반복
- 중첩 for 함수 : for 함수 안에 for 함수를 쓰는 것
강의가 유익하셨거나 마음에 드셨으면 구독과 좋아요, 댓글 부탁드립니다.
궁금하신 점이나 질문은 댓글이나 메일을 남겨주세요.
'C언어' 카테고리의 다른 글
세이버의 C언어 강의 15강_반목문이란 무엇인가 Part 3 (do while 함수와 break+continue) (0) | 2019.03.16 |
---|---|
세이버의 C언어 강의 14강_반목문이란 무엇인가 Part 2 (while 함수) (0) | 2019.03.12 |
세이버의 C언어 강의 12강_조건문(switch 함수) (0) | 2019.02.26 |
세이버의 C언어 강의 11강_조건문(if 함수) (0) | 2019.02.17 |
세이버의 C언어 강의 10강_주석이란 무엇인가 (0) | 2018.11.11 |