*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 |