본문 바로가기
PROGRAMMING/C

C언어 FOR 문 (반복문)

by 쪼렙엔지니어 2022. 9. 26.
반응형

지난 시간에 if문법에 대해서 알아보았습니다. 이번시간에는 C언어 문법 중 두번째로 for문에 대해서 이야기 해 보겠습니다. for는 영어로 "~~을 위해"라는 의미가 있습니다. C언어에서도 비슷한 의미로 사용됩니다. 그럼 예제를 통해서 조금씩 알아가 보도록 하겠습니다.

만약에 1부터 10까지의 수를 더해야 한다면 프로그램을 어떻게 짜야 할까요? 우리는 경험이 있기 때문에 따로 계산하지 않고서도 1부터 10까지를 더하면 55가 나온다는 것을 잘 알고 있습니다. 그렇지만 컴퓨터는 그렇지가 못하지요. 물론 노가다(?)를 하여 1부터 10까지 일일이 더해도 됩니다만 그건 우리가 원하는게 아니잖아요. 이럴 때 사용하는 문법이 반복문이라는 것입니다. 우리가 원하는 목표에 도달할 때 까지 프로그램을 반복수행 하는 문법이죠. 오늘 배울 for문도 반복문 중 하나입니다. 먼저 for문의 간단한 아래 예제를 보시지요.

 

1. 1부터 10까지 출력해 보자

먼저 위 프로그램은 1부터 10까지의 수를 차례대로 출력하는 예제입니다. 핵심적인 부분은 for문법을 사용한 아래 부분입니다.

큰틀을 간단하게 설명을 해보자면 a라는 정수형 변수를 선언한 뒤, for문을 이용하여 최초설정값부터 목표값에 도달할때 까지 설정된 증감량만큼 계속 반복하여 중괄호 속의 프로그램을 실행한다고 생각하시면 됩니다. 그럼 for문의 구조를 알아보겠습니다. for문의 구조는 아래와 같은 기본구조를 가지고 있습니다.

초기식은 for문을 최초로 시작할 때 변수의 초기설정값을 지정해준다고 생각하시면 됩니다. 위 예제에서 a라는 변수의 초기 설정값을 1로 지정해 주었으니 for문 내부에서 1부터 시작하게 되는 것이지요. 그리고 그 다음에 오는 조건식은 변수가 최종적으로 도달해야하는 목표값을 지정해 줍니다. 위 예제에서 조건식으로 a<=10를 입력했으니 변수 a가 10이하가 될 때 까지, 즉 11이 되기 전까지 계속해서 프로그램을 반복실행 하게 됩니다. 마지막으로 증감식은 for문에서 사용한 변수가 초기설정값에서 목표값까지 "어떻게" 도달해야하는지를 지정해 주는 부분입니다. 위 예제에서는 a++을 입력했으니 매번 a에 1이 더하여 지는 것을 의미하겠지요. 

즉, a=1부터 시작하여 for문의 printf함수를 실행하고, 증감식의 a++대로 1을 더한 뒤 다시 printf함수를 실행하는 행동을 반복합니다. 이때는 a=2가 되어 있겠지요. 이 행동을 a<=10을 만족하지 못 할 때까지 계속 반복하는 것입니다. 그렇다면 결과값이 어떻게 나오는지 한번 보겠습니다.

초기설정값 1부터 목표값 10까지 반복하여 1씩 더해지며 출력되었습니다. 예상했던 내용과 실행결과가 일치하나요? 그럼 좀 더 한발작 더 들어가서 아까 위에서 이야기 했던 1부터 10까지 더하는 프로그램을 작성해 보겠습니다.

 

2. 1부터 10까지 더하여 보자.

위 예제는 1부터 10까지 더하는 프로그램입니다. for문의 초기식 부분에서 변수 a의 최초값을 1로 지정하였고, 조건식에서 변수a의 목표값을 10으로 지정하였습니다. 그리고 증감식에서 a의 증감량을 1씩 증가로 지정하였습니다. 그래서 변수 a가 1부터 10이 될때까지 1씩 증가하며 sum=sum+a를 실행하게 됩니다. 그리고 a가 11이 되었을 때 조건식을 만족하지 못하므로 for문을 빠져나와 printf함수를 실행하게 되는데, 그 실행 결과값은 아래와 같습니다.

우리가 알고 있던 결과와 동일한 것을 알 수 있습니다. 프로그램이 정상적으로 잘 작동한 것 같네요. 그럼 이것보다 좀 더 실용적으로 for문을 사용할 수 있게 한단계 더 나아간 프로그램을 작성해 볼까요?

 

3. x부터 y까지 더하여 보자.

위에서는 1부터 10까지라고 지정되어 있는 값을 더하는 프로그램이었다면 이번에는 매번 다른 숫자들을 지정하여 그 숫자들 사이의 값들을 모두 더하는 프로그램을 작성해 보겠습니다. 아래 내용을 보시기 전에 미리 한번 직접 작성해 보시는 것을 추천드립니다.

위 내용은 따로 설명을 길게 하진 않아도 되겠지요? 변수 x와 y의 값을 직접 입력받은 다음에 입력받은 값들을  for문의 초기식과 조건식에서 사용하여 초기설정값과 목표값으로 지정해 주었습니다. 그리고 다른 내용들은 이전 예제와 동일하지요. 생각보다 간단하죠? 실행한 결과값은 어떻게 나왔을까요?

100부터 110까지 더하여 보니 1155가 나왔네요. 처음보는 수를 더하다 보니 맞는지 헷갈립니다. 그래서 윈도우 계산기를 통해 직접 더하여 보았습니다.

아 다행히 맞는 값이 나왔네요. 이제 대략적인 C언어에서의 for문 사용법을 익히셨을거라 생각합니다. 여러가지 상상을 통해 직접 만들어보고 싶은 여러가지 프로그램을 만들어보며 연습을 해보시길 추천드립니다. 연습만큼 완벽해지는 빠른 길은 없으니까요. 오늘은 여기까지 입니다. 감사합니다.

제 블로그를 방문해 주셔서 감사합니다.

도움이 되셨다면 공감(좋아요) 부탁드리고,

댓글은 다른분들께도 좋은 정보일 수 있으니

공개로 부탁드립니다.

여러분의 작은 정성이 좋은 포스팅을 생산하는

힘이 된답니다. :)

감사합니다.

반응형

댓글