안녕하세요. 언제나휴일의 언휴예요.
C언어에서는 프로그램의 수행 순서를 제어하는 제어문을 제공하고 있어요. 조건에 따라 수행을 결정하는 조건문, 값에 따라 수행할 구문을 선택하는 선택문, 특정 조건이 참일 때 반복하는 반복문과 원하는 영역으로 점핑하는 분기문이 있어요.
프로그래밍 언어에서 제어문은 문법을 이해하는 것은 어렵지 않아요.
하지만 원하는 문제를 해결하기 위해 어떻게 제어문을 표현해야 할 지 판단하는 것은 많은 경험을 통해 얻어나가야 합니다.
프로그래밍 언어를 학습하는 단계에서 제어문을 이용하여 문제를 해결하는 것이 어렵다고 두려워하지 마세요.
경험을 통해 극복할 수 있으며 조금씩 해결할 때마다 희열을 느낄 수도 있을 거예요.
C언어의 제어문 중에 조건문을 먼저 살펴봅시다.
조건문 문법 if 조건문 사용 if else 조건문 사용 다음 문제를 해결해 보세요.
1. 조건문 문법
C언어의 조건문은 조건이 참일 때 수행하는 if문을 사용할 수 있어요.
if (조건 표현식) 수행 구문;
조건이 거짓일 때 수행하는 구문도 있다면 if else문을 사용하세요.
if (조건 표현식) 수행 구문;
else 수행 구문;
조건문은 if 괄호에 조건 표현식에 따라 수행을 결정합니다.
따라서 조건 표현식은 참인지 거짓인지 판별할 수 있는 표현을 사용합니다.
0은 거짓이고 0 이외의 값은 참으로 판별합니다.
2. if 조건문 사용
다음은 사용자로부터 0에서 100사이의 점수(정수)를 입력 받는 코드입니다.
만약 사용자가 원하는 범위의 정수가 아닐 때 오류를 출력합니다.
이를 위해 if 조건 표현식에 (num<0)||(num>100)을 사용합니다.
#include <stdio.h> int main() { int score = 0; printf("점수(0~100):"); scanf_s("%d", &score); if ((score < 0) || (score > 100)) { printf("범위를 벗어났습니다.\n"); return; } printf("입력한 점수는 %d 입니다.\n", score); return 0; }
범위를 벗어난 정수를 입력하였을 때 if 조건문 내에 정의한 구문을 수행합니다.
점수(0~100):-1 범위를 벗어났습니다.
범위 내의 정수를 입력하면 if 조건문 내에 정의한 구문을 수행하지 않습니다.
점수(0~100):90 입력한 점수는 90 입니다.
3. if else 조건문 사용
다음은 if else 조건문을 사용하여 홀수인지 짝수인지 판별하는 코드입니다.
if 조건 표현식에서 num%2 를 사용할게요.
조건 표현식에서 2로 나눈 나머지가 연산 결과여서 홀수일 때 참이고 짝수일 때 거짓이죠.
#include <stdio.h> int main() { int num = 0; printf("정수:"); scanf_s("%d", &num); if (num % 2) { printf("홀수입니다.\n"); } else { printf("짝수입니다.\n"); } return 0; }
홀수를 입력하였을 때 실행 결과입니다.
홀수입니다.
짝수를 입력하였을 때 실행 결과입니다.
짝수입니다.
4. 다음 문제를 해결해 보세요.
경험을 통해 문제 해결 능력을 길러보세요.
- 1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오.
- 2. 0~100 사이의 정수를 입력받은 후에 90~100일 때 A, 80~89일 때 B, 70~79일 때 C,
60~69일 때 D, 50~59일 때 F, 그 외에는 NA를 출력하는 프로그램을 작성하시오. - 3. 두 개의 정수를 입력받은 후에 작은 수가 큰 수의 약수인지 확인하는 프로그램을 작성하시오.
- 4. 세 개의 정수를 입력받은 후에 크기가 큰 순서부터 출력하는 프로그램을 작성하시오.