티스토리 뷰
반응형
C언어 기초 Chapter 08: 조건문과 흐름 제어 (if / switch / break & continue / goto)
08-1. 조건식 실행과 흐름의 분기 (if문)
기본 구조
if (조건식) {
실행문;
}
예제:
#include <stdio.h>
int main(void) {
int age = 20;
if (age >= 18) {
printf("성인입니다.\n");
}
return 0;
}
if ~ else
if (조건식) {
실행문1;
} else {
실행문2;
}
예제:
int num = -5;
if (num > 0) {
printf("양수\n");
} else {
printf("음수 또는 0\n");
}
다중 if ~ else if ~ else
if (score >= 90) printf("A\n");
else if (score >= 80) printf("B\n");
else if (score >= 70) printf("C\n");
else printf("F\n");
08-2. 반복문과 함께 쓰는 흐름 제어 (continue & break)
break
- 반복문 즉시 종료
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
printf("%d ", i);
}
👉 출력: 1 2 3 4
continue
- 반복문의 나머지 부분 건너뛰고 다음 반복으로 이동
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
printf("%d ", i);
}
👉 출력: 1 2 4 5
08-3. switch문과 선택적 실행, 그리고 goto문
switch문 기본 구조
switch (변수) {
case 값1:
실행문;
break;
case 값2:
실행문;
break;
default:
실행문;
}
예제:
#include <stdio.h>
int main(void) {
int menu = 2;
switch (menu) {
case 1:
printf("메뉴1 선택\n");
break;
case 2:
printf("메뉴2 선택\n");
break;
default:
printf("잘못된 입력\n");
}
return 0;
}
goto문
- 특정 레이블로 강제 이동
- 일반적으로 추천하지 않음 (코드 가독성 저하)
예제:
#include <stdio.h>
int main(void) {
int n = 1;
if (n == 1) goto LABEL;
printf("이 문장은 건너뜀\n");
LABEL:
printf("goto로 이동!\n");
return 0;
}
핵심 정리 ✅
- if문: 조건 분기 기본
- break: 반복문 즉시 종료
- continue: 이번 반복 건너뛰기
- switch문: 값에 따른 선택 실행 (정수/문자에 적합)
- goto문: 가급적 사용 지양, 단순 탈출용으로 제한적 사용
연습 문제 ✍️
- 정수 하나를 입력받아 짝수/홀수 판별 프로그램 작성하기 (if문 활용)
- 1~10까지 출력하다가 5에서 멈추기 (break 활용)
- 사용자에게 메뉴 번호(1:저장, 2:불러오기, 3:종료)를 입력받아 해당 기능 출력하기 (switch 활용)
- 점수를 입력받아 학점(A~F) 출력하기 (if ~ else if 또는 switch 사용)
👉 연습문제 정답은?▼
Chapter 08 연습문제 풀이
1) 정수 하나를 입력받아 짝수/홀수 판별 프로그램 (if문)
#include <stdio.h>
int main(void) {
int num;
printf("정수를 입력하세요: ");
scanf("%d", &num);
if (num % 2 == 0)
printf("%d는 짝수입니다.\n", num);
else
printf("%d는 홀수입니다.\n", num);
return 0;
}
2) 1~10까지 출력하다가 5에서 멈추기 (break 활용)
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 10; i++) {
if (i == 5) break; // 5에서 반복 종료
printf("%d ", i);
}
return 0;
}
👉 출력: 1 2 3 4
3) 메뉴 번호 입력받아 기능 출력 (switch 활용)
#include <stdio.h>
int main(void) {
int menu;
printf("메뉴 선택 (1: 저장, 2: 불러오기, 3: 종료): ");
scanf("%d", &menu);
switch (menu) {
case 1:
printf("저장 기능 실행!\n");
break;
case 2:
printf("불러오기 기능 실행!\n");
break;
case 3:
printf("프로그램 종료!\n");
break;
default:
printf("잘못된 입력입니다.\n");
}
return 0;
}
4) 점수를 입력받아 학점(A~F) 출력 (if ~ else if)
#include <stdio.h>
int main(void) {
int score;
printf("점수를 입력하세요: ");
scanf("%d", &score);
if (score >= 90)
printf("학점: A\n");
else if (score >= 80)
printf("학점: B\n");
else if (score >= 70)
printf("학점: C\n");
else if (score >= 60)
printf("학점: D\n");
else
printf("학점: F\n");
return 0;
}
반응형
'[문법] C언어' 카테고리의 다른 글
7) C언어의 1차원 배열과 포인터에 대해 알아보자 (2) | 2025.09.01 |
---|---|
6) C언어 함수 완전정리: 정의, 호출, 변수 범위와 재귀까지 (4) | 2025.08.31 |
4) C언어 반복문 완전정리: while, do~while, for 한눈에 배우기 (4) | 2025.08.31 |
3) C언어 입출력 완전정복: printf와 scanf 쉽게 배우기 (4) | 2025.08.31 |
2) C언어 비트 연산자, 상수, 자료형 개념 정리 (2) | 2025.08.31 |