*10주차 복습 예제

#include <stdio.h>  // printf 함수를 사용하기 위해 표준 입출력 라이브러리를 포함

int main()          // 프로그램이 시작되는 main 함수
{
	//int i;          // 정수형 변수 i 선언 (현재는 사용하지 않아 주석 처리됨)

	// i를 1로 초기화하고, i가 1000보다 작은 동안 1씩 증가시키며 반복
	for (int i = 1; i < 1000; i++) {

		// i+1 값을 4자리 숫자로 출력하고 뒤에 "서진이"를 출력
		// %04d :
		//   d  -> 정수 출력
		//   4  -> 총 4자리로 출력
		//   0  -> 빈 자리는 0으로 채움
		// \n -> 줄바꿈
		printf("%04d서진이\n", i + 1);
	}

	return 0;        // 프로그램을 정상적으로 종료
}
 
 

 

*다양한 for문의 형태


for (int i=0; i<10; i++) {
printf("%d ",i);
}
for (int i=0; i<10; i++) {
printf("%d\n",i);
}
for (int i=0; i<10; i++) {
printf("%d ",i+1);
}
for (int i=0; i<10; i++) {
printf("횟수:%d\t",i);
}
for (int i=0; i<10; i++) {
printf("횟수:%02d\n",i+1);
}

 

 

 

*for문의 {} 사용법

→ 5번째 줄에서 반복하고 끝나기 때문에 6번째 줄의 Hi가 반복 되지 않음

 

문제 해결 : 5번째 줄의 ;를 지운다.

 

그러나 한 줄이 아닐 경우 실수할 가능성이 높아 {}를 사용하는 것이 좋다.

이것을 block이라고 한다.

 

 

*for문의 다양한 사용 예

- 100부터 5씩 줄이기

 

- 1부터 100까지 더하기 (실습 예제 7.20)

누적하는 변수(해당 예제에서는 sum) 초기 값을 0으로 설정해주어야 한다.

 

 

*무한 반복 계산기

(7.19 예제 수정 / 7.23 참고)

무한 반복을 걸고 break로 빠져나온다.

 

 

*실습 예제 7.24

#define _CRT_SECURE_NO_WARNINGS
// Visual Studio에서 scanf 관련 경고를 비활성화하는 전처리기
#include <stdio.h> // printf, scanf 함수 등을 사용하기 위한 헤더 파일
#include <limits.h> // INT_MIN, INT_MAX 상수를 사용하기 위한 헤더 파일

int main(void) // 프로그램의 시작 함수 main
{
    int i, num, sum = 0, total, max = INT_MIN, min = INT_MAX;
    // i      : 반복문에서 사용할 변수
    // num    : 입력받은 숫자를 저장하는 변수
    // sum    : 숫자들의 합계를 저장하는 변수(초기값 0)
    // total  : 입력할 숫자의 개수
    // max    : 최댓값 저장 변수(INT_MIN으로 초기화)
    // min    : 최솟값 저장 변수(INT_MAX로 초기화)

    // 누적하는 변수 sum은 반드시 초기화
    // max는 int형으로 표현할 수 있는 가장 작은 값 INT_MIN으로 초기화

    // min은 int형으로 표현할 수 있는 가장 큰 값 INT_MAX로 초기화

    for (;;) {
    // 무한 반복문
    // 종료 조건이 없으므로 break를 만날 때까지 계속 반복

        sum = 0, max = INT_MIN, min = INT_MAX;
        // 새로운 계산을 위해 변수 초기화
        // sum은 0으로
        // max는 가장 작은 정수값으로
        // min은 가장 큰 정수값으로 설정

        printf("임의 개수의 수 평균을 구하는 프로그램입니다.\n");
        // 프로그램 설명 출력
        printf("계산하려는 수는 몇 개입니까==");
        // 입력할 숫자의 개수를 사용자에게 물어봄

        scanf("%d", &total);
        // 숫자의 개수를 입력받아 total 변수에 저장

        if (total == 0) break;
        // total이 0이면 반복문 종료
        // 즉 프로그램 끝냄

            for (i = 1; i <= total; i++) {
            // 1부터 total까지 반복
            // 사용자가 입력할 숫자의 개수만큼 반복 수행

            printf("%d번째 수를 입력하세요=", i);
            // 몇 번째 숫자인지 출력

            scanf("%d", &num);
            // 숫자를 입력받아 num 변수에 저장

            sum += num;
            // 입력받은 숫자를 sum에 누적
            // sum = sum + num 과 같은 의미

            max = (num > max) ? num : max;
            // 삼항 연산자를 사용하여 최댓값 계산
            // num이 max보다 크면 num 저장
            // 아니면 기존 max 유지

            min = (num < min) ? num : min;
            // 삼항 연산자를 사용하여 최솟값 계산
            // num이 min보다 작으면 num 저장
            // 아니면 기존 min 유지
            }

        printf("합=%d, 평균=%.2f, 최댓값=%d, 최솟값=%d\n",
            sum,
            (double)sum / total,
            max,
            min);
        // 결과 출력
        // 합계 출력
        // 평균 출력 (double 형변환으로 실수 계산)
        // %.2f는 소수점 둘째 자리까지 출력
        // 최댓값 출력
        // 최솟값 출력
        }

    return 0;
    // 프로그램 정상 종료
}

 

 

*실습 예제 7.25

점점 느리게 출력

 

점점 빠르게 출력 (변형)

 

 

*실습 예제 7.26

 

 

*실습 예제 7.27

 

 

*do~while문

while문은 ;를 보통 넣지 않으나, do~while문의 경우 반드시 ;이 필요하다.

 

(실습 예제 7.29)

 

(실습 예제 7.30)

 

(실습 예제 7.31 수정) - 메뉴 추가

 

 

*무한 루프

- 출처: c언어 프로그래밍 강의 자료|한성현 교수님

 

 

*break 문

(실습 예제 7.32 수정)

 

 

*continue 문

(실습 예제 7.33)

 

 

 

 

 

 

'c언어 > 복습 과제' 카테고리의 다른 글

c프로그래밍 13주차  (0) 2026.05.27
c프로그래밍 12주차  (0) 2026.05.20
c프로그래밍 10주차  (0) 2026.05.06
c프로그래밍 9주차  (0) 2026.04.29
c프로그래밍 7주차  (0) 2026.04.15