본문 바로가기
프로그래밍언어/C언어

반복문을 만드는 방법2 - for문

by J코딩 2022. 5. 20.
반응형
지금까지 while 문을 이용하여 C 언어에서 반복문을 구현하는 방법에 관하여 알아보았습니다.
이제부터는 for 문을 사용하여 반복문을 표현하는 방법을 알아보겠습니다. for 문에서 주로 다
룰 내용은 다음과 같습니다.
  • for 문의 기본 문법
  • for 무한 루프
  • 중첩 for 문
  • for 문의 여러 가지 변형


for 문의 기본 문법


for의 사전적 의미도 while과 마찬가지로 '~하는 동안'의 의미가 있습니다. 그래서 for 문도 조건이 참인 동안 계속해서 반복하라는 의미입니다. 반복문을 만들 때 for 문과 while 문 중 어느것이 더 좋다고 할 수는 없습니다.


그러나 for 문을 이용하면 while 문보다 반복 횟수를 표현하는 것이 더 편리합니다. for 문은
초깃값, 조건값, 증감값 세 부분을 세미콜론(;)으로 구분하고 있습니다. 특히, 증감값에 i++이
나 i=i+1과 같은 표현을 사용하면 for 문이 수행할 반복 횟수를 보다 쉽게 표현할 수 있습니다.
다음 예제는

https://jcoding7.tistory.com/entry/%EB%B0%98%EB%B3%B5%EB%AC%B8%EC%9D%84-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%951-while%EB%AC%B8?category=1000023

 

반복문을 만드는 방법1 - while문

while 문은 일반적으로 프로그래밍을 할 때 자주 사용하는 것 중 하나이며 while 루프(Loop)라고도 합니다. 여기서는 while 문과 관련하여 다음과 같이 세 가지를 다룰 예정입니다. while 문의

jcoding7.tistory.com

for 문으로 변환한 코드입니다.

while문과 for문은 같은 결과를 출력합니다. 사실, while 문에서도 초깃값, 조건값, 증감값을 이미 사용하고 있었습니다. 다음 그림을 보면 while 문과 for 문 할 것 없이 반복문에서는 초깃값, 조건값, 증감값을 대부분 필요로 하고 있다는 것을 이해할 수 있습니다.


while 문과 for 문의 비교

 


다음 그림에서 for 문의 실행 순서를 보면 초깃값은 무조건 한 번만 실행되고, 반복되는 부분은 조건값과 증감값입니다. 꼼꼼히 분석해 보기 바랍니다.

 

 


해석 : ①초깃값은 무조건 한 번만 수행하고 ② 조건값, ③반복할 내용, ④증감값은 반복적으로 수행해라

 

다음 예제는 for 문의 사용법에 관한 이해를 돕기 위해

https://jcoding7.tistory.com/entry/%EB%B0%98%EB%B3%B5%EB%AC%B8%EC%9D%84-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%951-while%EB%AC%B8?category=1000023

 

반복문을 만드는 방법1 - while문

while 문은 일반적으로 프로그래밍을 할 때 자주 사용하는 것 중 하나이며 while 루프(Loop)라고도 합니다. 여기서는 while 문과 관련하여 다음과 같이 세 가지를 다룰 예정입니다. while 문의

jcoding7.tistory.com

를 for 문으로 변환
한 코드입니다(1~10까지의 합을 구하는 예제).

5행부터 9까지에서 흐름은 다음과 같습니다.
① 변수 i의 값을 0으로 초기화
② i가 10보다 작거나 같은지(i <=10) 비교 연산을 하고 결과가 참이면
③ 'sum=sumi'을 수행하고 printf() 함수를 수행
④ i++ 실행
다시 반복해서
② i가 10보다 작거나 같은지(i<=10) 비교 연산을 하고 결과가 참이면
③ 'sum=sum+i'을 수행하고 printf() 함수를 수행
④ i++ 실행
for 문의 조건값(i<=10)이 참인 경우 반복 수행하고 거짓인 경우 반복 수행을 종료합니다.
다음 그림을 보면서 앞의 과정을 이해합시다.

 

for 문의 반복 수행 흐름


다음 예제를 하나 더 살펴보겠습니다.

9행에서 변수의 값을 1로 초기화해서 증감값을 i=i+2로 설정합니다. 이전에 보았던 예제들은 i++, 즉, i=i+1로 설정되어 있어서 i 값을 1씩 증가하도록 되어 있었지만, 이 예제에서는 i=i+2로 설정되어 i 값이 2씩 증가하게 됩니다. 이것이 실행 결과에 잘 반영되고 있습니다.

반응형

댓글