풀스택개발자될거임

[Do it C언어 입문 정리] 9.반복문 본문

C/do it C언어 입문

[Do it C언어 입문 정리] 9.반복문

FullStack_dev178 2022. 12. 23. 13:58

반복문의 기본구조

1. 시작조건

2. 조건 변화 수식

3. 종결조건

한 가지라도 없거나 잘못 사용하면 반복을 안 하거나 무한반복됨

for 반복문

반복의 3요소를 제일 단순하고 정확하게 표현한 반복문

반복문중 제일 많이 사용되고 , 시작과 끝이 명확한 반복작업에 많이 사용됨

for(시작조건;종결조건;조건변화수식) 명령문;

for(시작조건;종결조건;조건변화수식)
{
    명령문1;
    명령문2;
}

for 반복문 - 변형

형식을 꼭 지킬 필요는 없음

int data = 0;
int i = 1;
for(; i < 101; i++) data += i;

앞쪽에서 i를 초기화했으면 for문 시작조건을 생략할 수 있음.

무한루프

for(;;) 명령문;

이렇게 하면 for문으로 무한루프를 돌릴 수 있음. (break 쓰면 탈출)

 

while 반복문

while(종결 조건) 명령문;

while(종결 조건)
{
    명령문1;
    명령문2;
}

while 반복문 - 무한루프

while(1)
{
    명령문;
}

break 쓰면 탈출함

 

do ~ while 반복문

do 명령문; while(종결조건);

do{
    명령문1;
    명령문2;
}while(종결조건);

이걸 사용하면 거짓조건일 때 한번 실행하고 종료함

 


반복문 심화

구구단 2단 코드작성 

#include <stdio.h>

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

구구단 사용자가 지정한 단 출력 코드

#include <stdio.h>

void gugu(int dan)
{
    for(int i = 1;i < 10; i++)
    printf("%d x %d = %d\n",dan,i,dan*i);
}
int main()
{
    int dan;
    printf("원하는단 : ");
    scanf("%d",&dan);

    gugu(dan);

    return 0;
}

구구단 모두 출력

#include <stdio.h>

int main()
{
    int a,b;
    int i, j;

    for(j = 1;j < 10; j++)
    {
        for(i = 2;i<10;i++)
        {
            printf("%d x %d = %d\t",i,j,i*j);
        }
        printf("\n");
    }
    return 0;
}

goto - 안쓰는게 좋음

#include <stdio.h>

int main()
{
    int i = 1;

    while(1)
    {
        printf("%d\n",i);
        if(i == 100) goto exit;
        i += 1;
    }
    exit:
    return 0;
}