프로그래밍 언어/C언어

C언어 기초이론 (반복문)

chobyeonggyu03 2024. 6. 13. 14:29

반복문이란?

반복해서 실행하는 코드를 짤 때 반복행위를 명령하는 코드

1) while 반복문

-while문은 특정조건을 만족하는 동안 계속해서 반복하는 구조이다

-반복횟수를 정확히 모를 때 활용하면 유용함

-조건식이 for문에 비해 상대적으로 간단함

**while문 사용방법**

while ( 반복실행 조건 ){

(반복하며 실행할 내용)

}

 

/*
제목: 반복문 예제 7-2
날짜: 2024.02.24.
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int num, count = 1;

    printf("반복할 횟수를 입력하세요: ");
    scanf("%d", &num);

    while (count <= num) {
        printf("%d번째 Hello World! 즐겁게 프로그래밍합시다!\n", count);
        count++;
    }

    return 0;
}

 

 


**while문 주의사항**

*이중 반복문에서 속에 잇는 반복문 카운트를 초기화안해서 한 서클만 반복하는 경우 주의하기

(21번째 줄의 count==1; 부분 조심)

/*
제목: 반복문 예제 7-7
날짜: 2024.02.24.
내용: while문을 이용한 구구단 출력하기
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    int num = 2;  // 시작 숫자는 2
    int count = 1;  // 곱하는 수 시작은 1

    while (num <= 9) {  // 2단부터 9단까지
        while (count <= 9) {  // 각 단에서 1부터 9까지 곱하기
            printf("%d * %d = %d\n", num, count, num * count);
            count++;
        }
        printf("\n");  // 각 단이 끝나면 줄바꿈
        count = 1;  // 카운트 초기화
        num++;  // 다음 단으로
    }

    return 0;
}

 

 

 

2) do~while 반복문

-do~while문은 일단 반복문을 한번 실행하고 더 반복할지 말지에 대한 반복문 조건을 맨 마지막에서 확인하는 구조이다

**do while문 사용방법**

do{

(최소 1번 실행해야하는 반복 내용)

} while ( 반복실행 조건 );

/*
제목: 반복문 예제 7-8
날짜: 2024.02.24.
내용: do-while문을 사용한 반복 예제, 이번에 100미만의 짝수를 누적합 출력
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    int num = 0;
    int total = 0;

    do {
        num = num + 2;  // 짝수만 더하기
        total = total + num;  // 누적합
    } while (num < 100);  // 100미만일 때까지

    printf("0부터 100까지의 짝수 누적합: %d\n", total);

    return 0;
}

 


3) for 반복문

-for문은 (초기식; 조건식; 증감식; )으로 반복조건들을 한줄로 세팅하는 구조이며 while문에 비해 상대적으로 복잡해보임

-직관적이며, 반복하고싶은 횟수를 알 때 유용하게 사용됨

**for문 사용방법**

for ( 초기화; 조건식; 즘강식 ) {

(반복하며 실행할 내용)

}

/*
제목: 반복문 예제 7-9
날짜: 2024.02.24.
내용: for문을 이용한 0부터 n 까지의 누적합
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    int i, num;
    int total = 0;

    printf("정수를 입력하세요: ");
    scanf("%d", &num);
    printf("\n");

    for (i = 0; i <= num; i++) {
        total += i;
    }

    printf("0부터 %d까지의 누적합: %d", num, total);

    return 0;
}