프로그래밍 언어/C언어

C언어) 13. C언어 반복하는 for문. while과 for의 차이

luana_eun 2024. 3. 28. 11:09
728x90

for문 이란?

C언어의 반복문 중의 하나.

앞서 배운 while문의 간결한 버전(?) 이다.

 

 

형식​

 [for (초기식; 조건식; 증감식)]

*초기식: 자료형, 변수, 변수값 선언 ex) int i = 0

*조건식: while문에서 조건에 썼던것. ex) i <= 10

*증감식: 후위/전위 증감 연산자 ex) i++

 

 
 

for과 while의 차이

반복을 하는 함수는 while과 for가 있다.

둘의 차이점을 살펴보면

while: 변수선언X, 반복 횟수 선언X

for: 변수선언O, 반복 횟수 선언O

while문은 보통 얼마나 반복하게 될지 잘 모를때 사용하고,

for문은 반복횟수를 지정하고, 증가수가 일정할때 사용한다.

(실제로는 for를 훨씬 더 많이쓰는 편)

또한 둘다 무한반복이 필요할 경우,

while(1), for(;;)이렇게 표기방식이 다르다.

 

 

for과 while비교

아래 같은 결과를 for과 while로 작성해보자.

while문

변수i가 1부터 시작해서 조건(i<5)와 후휘증감(i++)로 인해

총 4번 반복한다.

 

 

 

for문

같은조건을 for문 안에 다같이 씀으로 인해

코드가 보이게 간결해졌다.

 

 

예제)

n의 숫자를 입력받고 1부터 n까지 중에 2의 배수를 출력하시오.

문제해결방안)

①2의 배수는 2로 나눴을 때 나머지가 0이다.

=> i % 2 == 0

②입력받을 변수 n과 하나씩 늘어갈 변수 i가 필요하다.

③입력받은 숫자n까지만 반복해야 한다.

=> i <= n

<한줄한줄 살펴보기>

3번줄: 입력받을 변수n 선언

4번줄: 입력 받도록 scnaf함수 사용

5번줄: 편하게 보도록 2의 배수라는 문구 출력

6번줄: for문 안에서의 변수i선언, 조건선언, 후휘증가선언.

=> 후위 증가 선언으로 인해 i는 +1씩 증가하여

1부터 2, 3, 4,....n까지 증가한다.

7번: 1씩 증가하는 i를 2로 나누어 나머지가 0일 경우에만

걸러지도록 if문을 사용한다.

8번: 7번에서 걸러진 2의 배수들을 출력.

 

for문은 한 줄에 입력하는 조건들이 많아서

처음할때는 매우 복잡할 수 있다.

하지만 익숙해지면 매우 간편한 명령어이니,

동작과정을 완벽히 이해하는 것이 중요하다.

 

 

도움이 되었다면 [하트] 부탁합니다~

 

 

728x90