본문 바로가기
C

[C] 반복문 | while문, do-while문, for 문, break, continue

by Lizzie Oh 2022. 10. 21.

while 문 

while (반복 조건)
{
	반복 조건이 만족하는 동안 실행할 구문(들)
}

while 문으로 구구단 출력하는 프로그램 생성

#include <stdio.h>
int main()
{
    int n;
    int i=1;
    printf("몇 단을 출력할까요?");
    scanf("%d",&n);
    while(i<10)
    {
    printf("%d * %d = %d \n", n,i,n*i);
    i++;
    }
    return 0;
}

출력 결과!

 

do-while 문 

반복조건을 따지기 전에 한번은 실행문이 돌아야 하는 경우에는 do-while 문을 사용할 수 있다. 일반적인 while문 에서는 항상 반복 조건을 먼저 확인하고 실행 구문을 실행했지만, do-while 문에서는 먼저 실행문을 한 번은 실행하고, 그 이후 반복 조건을 따진다. 즉 적어도 한번은 반복 실행문을 실행하는 것이다! 

do
{
	반복 실행할 구문(들) // while 반복 조건의 참/거짓과 관계없이 최소 한 번은 루프를 실행 
} while (반복 조건)

 

do-while 문으로 1부터 입력받은 정수까지의 합을 계산하는 프로그램 만들기 

#include <stdio.h>
int main()
{
    int to_num ;
    int total= 0 ;
    int i =1 ;
    printf("1부터 어떤 수까지의 합을 출력할까요?");
    scanf("%d", &to_num);
    do
    {
        total += i ;
        i++ ; 
    } while (i<= to_num);
    printf("합은 %d 입니다\n", total);
    return 0;
}

출력 결과!

 

for 문 

for(초기문; 조건문; 증감문)
{
    조건문이 참인 경우 반복해서 실행할 구문(들)
}

실행 순서

1. 초기문 수행 (초기문은 for문 수행 시작과 동시에 딱 한 번만 수행된다) 

2. 조건문 평가 

2-1. 참이라면 { } 내의 구문들을 실행하고 증감문을 실행하고 다시 2번(조건문 평가)시행 

2-2. 거짓이라면 반복문 탈출 

 

위에서 while문과 do-while문으로 작성한 구구단 프로그램과 합을 구하는 프로그램을 for문으로도 작성해보면 아래와 같다. 

#include <stdio.h>
int main()
{
	int n;
    int i ;
    printf("몇 단을 출력할까요?");
    scanf("%d",&n);
    for(i=1;i<10;i++)
    {
        printf("%d * %d = %d\n", n, i ,n*i);
    }
    return 0;
}
#include <stdio.h>
int main()
{
    int to_num ;
    int total= 0 ;
    int i =1 ;
    printf("1부터 어떤 수까지의 합을 출력할까요?");
    scanf("%d", &to_num);
    for(i=1; i<=to_num; i++)
    {
        total += i ;
    }
    printf("합은 %d 입니다\n", total);
    return 0;
}

 

break문과 continue문

break문은 현재 자신이 수행하고 있는 반복문 자체를 빠져나가겠다는 의미

continue문은 현재 자신이 수행하고 있는 반복문의 '현재 루프에서' continue 이하의 수행은 무시하고 다시 반복의 시작점으로 가서 그 이후의 수행을 하겠다는 의미 

 


Reference

1. C Programming : A Modern Approach, 2/E  K. N. King | W. W. Norton & Company

2. 나혼자 C언어 이창현  | 디지털북스 | 

반응형

댓글