본문 바로가기
Development/C

(C언어 기초) 8. 반복문 while, for, do ~ while

by eoieiie 2023. 8. 29.

일정 조건을 만족하는 동안 같은 실행문을 반복하는 게 바로 반복문입니다. 조건식의 위치에 따라 크게 세 가지 반복문으로 구분됩니다. 

 

while 문


while 문은 조건식을 먼저 검사하고 조건식이 참인 동안 실행문을 반복합니다. 

 

#include <stdio.h>

int main(void)
{
    int a = 1;

    while (a < 10)
    {
        a *= 2;
    }

    printf("a : %d\n", a);
   
    return 0;
}


//실행 결과

a : 16

 

특별히 어려울 건 없습니다. 다만 불필요한 에러를 막기 위해서 반복할 부분을 명확히 중괄호로 표시하는 것이 좋습니다. 

 

for 문


while 문과 비슷한 기능을 가지지만, for 문은 실행문을 원하는 횟수만큼 반복할 때 사용합니다. 

 

#include <stdio.h>

int main(void)
{
    int a = 1;
    int i;
    
    for (i = 0; i < 3; i++)
    {
        a = a * 2;
    }
    printf("a : %d\n", a);
   
    return 0;
}


//실행 결과

a : 8

 

세부적인 기능을 살펴보겠습니다.

 

for (i = 0; i < 3; i++)

 

  1. i 를 0으로 초기화한다. (초기식)
  2. i < 3일 동안 반복한다.  (조건식)
  3. 명령 수행 후 i값을 1증가시킨다. (증감식) 

 

do ~ while문


while과 for는 조건식을 먼저 확인하는 반면 do ~ while문은 일단 반복할 문장을 수행한 후에 조건을 검사합니다. 예를 들어 a값이 10보다 작은 동안 두 배씩 늘리는 문장을 do ~ while 문으로 작성하면 다음과 같습니다. 예제를 통해 실행 과정을 확인해보겠습니다. 

 

#include <stdio.h>

int main(void)
{
    int a = 1;

    do //반복문 시작 위치
    {
        a *= 2; 
    } while (a < 10); // a가 10보다 작으면 9행을 반복
    
    printf("a : %d\n", a); //반복이 끝난 후 a값 출력
    
    return 0;
}


//실행 결과

a : 16

 

 

예시에서 볼 수 있듯이 while문과 다르게, do ~ while 문은 조건식과 관계없이 반복할 문장을 최소 한 번은 실행합니다.

 

while문 do ~ while문
while (a < 10)
{
    a *= 2;
}
do
{
    a *= 2;
}    while (a < 10) ;

 

확인문제


 

반복문을 사용하여 화면에 "$"를 10번 출력하는 프로그램을 작성하세요.

더보기
#include <stdio.h>

int main(void)
{
    int i;

    for (i = 0; i <= 10; i++)
    {
        printf("$");
    }

    
    return 0;
}


//실행 결과

$$$$$$$$$$$

 

 

'Development > C' 카테고리의 다른 글

(C언어 기초) 10. 함수의 작성과 사용  (0) 2023.09.01
(C언어 기초) 9. 반복문 활용  (0) 2023.08.30
(C언어 기초) 7. 조건문 if  (0) 2023.08.28
(C언어 기초) 6. 연산자(2)  (0) 2023.08.28
(C언어 기초) 5. 연산자(1)  (0) 2023.08.27

댓글