이번 강의에서는 C언어의 핵심 구조 중 하나인 조건문과 반복문에 대해 배워보겠습니다.
이미 우리는 이전 글에서 변수, 자료형, 연산자에 대해 배웠으며,
이러한 지식을 바탕으로 프로그램의 흐름을 제어하는 방법을 학습할 것입니다.
C 프로그래밍 언어 독학 시리즈 전편을 아직 안 보신 분은 아래 링크를 참고해 주세요!
C 언어 독학 #1 (기초, 쉬운 설명, Hello world)
C 언어 독학 시리즈 #2 (변수, 자료형, 연산자, 기본 입출력, 실습예제)
"C언어를 배우는 것은 마치 산을 오르는 것과 같다.
정상에 오를 때까지는 힘들고 도전적이지만, 정상에 서면 전에 보지 못했던 경치와 가능성을 볼 수 있다."
조건문
조건문은 주어진 조건에 따라 다른 코드를 실행하게 하는 구조입니다.
C언어에서는 주로 if, else, else if, switch 문을 사용합니다.
if문
if 문은 마치 도로의 분기점과 같습니다. 어떤 조건을 만족하면 한 길로 가고, 그렇지 않으면 다른 길로 갑니다. 조건의 복잡성에 따라 여러 개의 분기로 나뉠 수 있습니다. |
#include <stdio.h>
int main() {
int score = 85;
if (score >= 90) {
printf("A학점입니다.\n");
} else if (score >= 80) {
printf("B학점입니다.\n");
} else {
printf("C학점 이하입니다.\n");
}
return 0;
}
위 내용을 응용하여 나이에 따른 입장료 계산을 해보도록 하겠습니다.
#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age);
if (age < 13) {
printf("어린이 입장료는 2000원입니다.\n");
} else if (age <= 19) {
printf("청소년 입장료는 3000원입니다.\n");
} else {
printf("성인 입장료는 5000원입니다.\n");
}
return 0;
}
switch 문
switch 문은 마치 기차역의 스위치처럼 특정 변수의 값에 따라 다른 트랙으로 기차를 보내는 역할을 합니다. 각 케이스는 특정한 역에 해당하며, 해당 역에 정차할 때만 실행됩니다. |
#include <stdio.h>
int main() {
char grade = 'B';
switch (grade) {
case 'A':
printf("우수한 성적입니다.\n");
break;
case 'B':
printf("좋은 성적입니다.\n");
break;
default:
printf("노력이 필요합니다.\n");
break;
}
return 0;
}
위 내용을 응용하여 요일에 따른 스케줄 출력을 해보도록 하겠습니다.
#include <stdio.h>
int main() {
int day;
printf("요일을 입력하세요 (1=월요일, ..., 7=일요일): ");
scanf("%d", &day);
switch(day) {
case 1:
printf("월요일: 팀 회의가 있습니다.\n");
break;
case 2:
printf("화요일: 프로젝트 작업의 날입니다.\n");
break;
case 3:
printf("수요일: 영어 학습 시간입니다.\n");
break;
case 4:
printf("목요일: 체육활동이 있습니다.\n");
break;
case 5:
printf("금요일: 자유 연구 시간입니다.\n");
break;
case 6:
printf("토요일: 휴식일입니다.\n");
break;
case 7:
printf("일요일: 가족과 시간을 보냅니다.\n");
break;
default:
printf("잘못된 입력입니다.\n");
break;
}
return 0;
}
반복문
반복문은 특정 조건이 만족하는 동안 코드 블럭을 반복 실행합니다.
C언어에서는 for, while, do-while 문을 사용합니다.
for 문
for 문은 마치 달력의 날짜를 하나씩 넘기는 것과 같습니다. 시작점, 종료점, 그리고 얼마나 빠르게 넘길지(증가량)를 정해놓고 반복합니다. |
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("%d ", i);
}
printf("\n");
return 0;
}
위 내용을 응용하여 1부터 10까지의 합 계산을 해보도록 하겠습니다.
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("1부터 10까지의 합은 %d입니다.\n", sum);
return 0;
}
while 문
while 문은 마치 조건을 충족하는 동안 무한 루프 도로를 도는 자동차와 같습니다. 주어진 조건이 참인 동안 계속해서 루프를 돕니다. |
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
printf("\n");
return 0;
}
위 내용을 응용하여 사용자로부터 0이 입력될 때까지 숫자 입력 받기를 해보도록 하겠습니다.
#include <stdio.h>
int main() {
int number;
printf("숫자를 입력하세요 (0으로 종료): ");
scanf("%d", &number);
while (number != 0) {
printf("입력한 숫자: %d\n", number);
printf("다시 숫자를 입력하세요 (0으로 종료): ");
scanf("%d", &number);
}
printf("프로그램을 종료합니다.\n");
return 0;
}
이제 위 내용을 모두 포함한 실습 예제를 하나 만들어보겠습니다.
조건문과 반복문을 모두 활용하여 하나의 통합된 프로그램을 구성할 것이며, 아래 기능을 포함할 것입니다
|
C코드 구현
#include <stdio.h>
int main() {
int day, age, number, sum = 0;
// 요일 입력받기
printf("요일을 입력하세요 (1=월요일, ..., 7=일요일): ");
scanf("%d", &day);
// 스케줄 출력 (switch 문)
switch(day) {
case 1: printf("월요일: 팀 회의가 있습니다.\n"); break;
case 2: printf("화요일: 프로젝트 작업의 날입니다.\n"); break;
case 3: printf("수요일: 영어 학습 시간입니다.\n"); break;
case 4: printf("목요일: 체육활동이 있습니다.\n"); break;
case 5: printf("금요일: 자유 연구 시간입니다.\n"); break;
case 6: printf("토요일: 휴식일입니다.\n"); break;
case 7: printf("일요일: 가족과 시간을 보냅니다.\n"); break;
default: printf("잘못된 입력입니다. 프로그램을 종료합니다.\n"); return 1;
}
// 나이 입력받기
printf("나이를 입력하세요: ");
scanf("%d", &age);
// 입장료 계산 (if 문)
if (age < 13) {
printf("어린이 입장료는 2000원입니다.\n");
} else if (age <= 19) {
printf("청소년 입장료는 3000원입니다.\n");
} else {
printf("성인 입장료는 5000원입니다.\n");
}
// 1부터 day까지의 합 계산 (for 문)
for (int i = 1; i <= day; i++) {
sum += i;
}
printf("1부터 %d까지의 합은 %d입니다.\n", day, sum);
// 0이 입력될 때까지 숫자 입력받기 (while 문)
printf("숫자를 입력하세요 (0으로 종료): ");
scanf("%d", &number);
while (number != 0) {
printf("입력한 숫자: %d\n", number);
printf("다시 숫자를 입력하세요 (0으로 종료): ");
scanf("%d", &number);
}
printf("프로그램을 종료합니다.\n");
return 0;
}
우리는 위 예제를 통해 아래와 같은 c언어 구현 스킬을 배워봤습니다.
1. 요일에 따른 스케줄 출력 (switch 문 활용)
2. 나이에 따른 입장료 계산 (if 문 활용)
3. 1부터 day까지의 합 계산 (for 문 활용)
4. 0이 입력될 때까지 숫자 입력받기 (while 문 활용)
|
오늘 배운 조건문과 반복문을 통해 프로그램의 흐름을 자유자재로 제어할 수 있는 기초를 마련했습니다.
다음 강의에서는 배열과 포인터에 대해 자세히 다룰 예정이니,
이번 강의 내용을 복습하고 연습문제를 풀어보면서 확실하게 이해하시면 좋을 것 같습니다.
Happy coding!
궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!
'개발 > C언어' 카테고리의 다른 글
C언어 독학 완전 기초부터 마스터까지 #2 (변수, 자료형, 연산자, 기본 입출력, 실습 예제) (1) | 2024.04.02 |
---|---|
C언어 독학 완전 기초부터 마스터까지 #1 (기초, 쉬운 설명, Hello world) (1) | 2023.12.19 |