이 장에서는 if문 예제를 통해 C언어 프로그램의 if문(if~else 중첩된 if else 포함)에 대해 작성한다.
1. C언어 if문
C언어 프로그래밍에서 if문의 구문은 다음과 같다.
if(test expression)
{
}
1) if문 작동방법
- 테스트 표현식이 참
int test = 5;
if(test < 10)
{
코드실행
}
- 테스트 표현식이 거짓
int test = 5;
if(test>10)
{
}
코드실행
ex) if문
#include <stdio.h>
int main() {
int number;
printf("Enter an integer : ");
scanf("%d", &number);
if(number < 0){
printf("you entered %d.\n, number);
}
printf("the if statement is easy.");
return 0;
}
output) Enter an integer : -2
you entered -2
the if statement is easy.
* 사용자가 -2를 입력하면 테스트 표현식 number < 0 이 참
* you entered -2 가 화면에 표시
output) Enter an integer : 5
the if statement is easy.
* 사용자가 5를 입력하면 테스트 표현식은 number < 0 이 거짓이므로 본문 내부의 if문은 실행되지 않습니다.
2. C언어 if~else문
- if문은 else를 선택할 수 있음
ex) if (test expression){
}
else{
}
1) if~else 문 작동방법
1-1)테스트 표현식이 참일 때
- if 본문 내의 명령문이 실행
- else 명령문은 실행하지 않음
1-2)테스트 표현식이 거짓일 때
- if문 본문이 실행되지 않고 else문이 실행
- if문을 건너뜀
ex) #include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
if (number % 2 == 0){
printf("%d is an even integer." ,number);
}
else{
printf("%d is an odd integer." ,number);
}
return 0;
}
ouput) Enter an integer : 9
9 is an odd integer.
* 사용자가 9를 입력하면 테스트 표현식 number % 2 == 0이 거짓으로 판단하여 if문을 실행하지 않고 else문을 실행한다.
3. C언어 if ~ else if
- if ~ else 명령문은 테슽 표현식이 참인지 거짓인지에 따라 두가지 다른 코드를 실행
- 2개 이상의 가능성 중에 선택이 가능함
- if ~ else if 문을 사용하면 여러 테스트 표현식을 확인하고 다른 명령문을 실행할 수 있음
1) if ~ else if 구문
ex) if (test expression1) {
}
else if(test expression2){
}
else if(test expression3){
}
........
else{
}
ex) #include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d, &number1, &number2);
if(number1 == number2){
printf("Result : %d = %d", number1, number2);
}
else if (number1 > number2){
printf("Result : %d > %d", number1, number2);
}
else{
printf("Result : %d < %d", number1, number2);
}
return 0;
}
output) Enter two integers : 24 35
Result : 24 < 35
4. 중첩된 경우와 아닌 경우
- if ~ else 문에서 본문 안에 if ~ else 문을 포함할 수 있음
1) 중첩된 if ~ else
- 예제 프로그램은 두 정수에 관한 <, >, = 를 사용하여 비교하는 코드
ex) #include <stdio.h>
int main() {
int num1, num2;
printf("Enter two integers : ");
scanf("%d %d, &num1, &num2);
if(num1 <= num2){
if(num1 == num2){
printf("Result : %d = %d", num1, num2);
}
else {
printf("Result : %d = %d", num1,num2);
}
return 0;
}
* if ~ else 명령문의 본문에 명령문이 하나만 있는 경우 대괄호{ } 를 사용할 필요가 없습니다
ex1) if(a>b){
printf("hello");
}
printf("hi");
ex2) if(a>b)
printf("hello");
printf("hi");
* 위에 나온 예시로 ex1과 ex2는 동일하다
'Program > C' 카테고리의 다른 글
9. C언어 While 및 do~while 문 (0) | 2021.10.18 |
---|---|
8. C언어 for 문 (0) | 2021.10.14 |
6. C언어 프로그래밍 연산자 (0) | 2021.10.12 |
5. C언어 입력 출력(I/O) (0) | 2021.10.11 |
4. C언어 데이터 유형 (0) | 2021.10.11 |
댓글