[C언어] 7강 반복문

강지원·2024년 6월 10일

리눅스 기반 C언어

목록 보기
12/24

While 문

괄호 안에 0이면 멈춤, 0이 아니면 무한 루프

while(0){

}

EX) while문 1

결과값은

EX) while문 2

#include <stdio.h>

int main(){

        int a = 10;
        int b = 3;
        while(a > b){          //조건 넣어주기
                a--;
                printf("a : %d\n",a);

        }

        return 1;
}

결과값은

a : 9
a : 8
a : 6
a : 5
a : 4 // a > b 가 성립이 안될 때 중단

for 문

for(초기값; 조건; 루프돌고 난 후 수행){
	조건이 0이면 끝, 참이면 계속수행
	조건에 아무것도없으면 무한루프,
    
}

EX) for문

결과값은

do while 문

조건이 거짓이여도 한번은 반드시 실행시켜야 할 때 사용함
하지만 잘 안 씀.

do{
	한번은 실행해야할 문장 
}while(0);
#include <stdio.h>

int main(){

        int a;

        do{
                zero(); 
        }while(0);

        return 1;

} 

이중 for문

EX) 구구단 만들기

#include <stdio.h>

int main(){

        int i,j;
        for(i = 1 ; i <=9 ; i++){        //1단 ~9단
                printf("[%d]단\n",i);

                for(j = 1 ; j <= 20 ; j++){  // *20 까지

                        printf("%02d * %02d = %03d\n",i,j,i*j);
                }
                printf("\n");
        }

        return 1;

}

continue, break

continue

: continue 문은 반복문 내에서 사용되며, 
continue 문을 만나면 현재 실행 중인 루프의 나머지 부분을 건너뛰고 반복문의 다음 반복으로 넘어간다. 
즉, continue 문이 실행되면 반복문의 나머지 부분은 실행되지 않고 다음 반복으로 넘어가게 된다.

구구단에서 짝수만 표현하기

#include <stdio.h>

int main(){

        int i,j;
        for(i = 1 ; i <=9 ; i++){
                printf("[%d]단\n",i);

                for(j = 1 ; j <= 20 ; j++){

                        if(j % 2 == 1){
                                continue;  //홀수일 때 다음문장으로 안 가고 for문 다음 루프 돌기
                        }
                        printf("%02d * %02d = %03d\n",i,j,i*j);

                }
                printf("\n");
        }
        return 1;
}

break

: 해당 문을 실행하는 도중에 루프를 종료하거나 switch 문에서 빠져나오는 역할을 한다. 
즉, break 문이 실행되면 가장 가까운 반복문이나 switch 문에서 빠져나오게 된다.

i x 4 까지만 구구단 하기

#include <stdio.h>

int main(){

        int i,j;
        for(i = 1 ; i <=9 ; i++){
                printf("[%d]단\n",i);

                for(j = 1 ; j <= 20 ; j++){

                        if(j > 5){
                                break;  // 실행되는 for문을 끝내버림
                        }
                        printf("%02d * %02d = %03d\n",i,j,i*j);

                }
                printf("\n");
        }

        return 1;

}

goto

사용 권장하지 않지만 가끔씩 쓸 때가 있음

ojw:
		printf("ojw place\n");

	goto ojw;  // 무한루프 돈다

0개의 댓글