조건문 If ~ else If
조건문이란?
정해진 조건이 참일때만 조건문 내의 코드를 실행하는 문법이다. if, else if, else가 존재한다.
if(A>=B)
{
1
}
if(A<B)
{
2
}
if(A>=B)
{
3
}
A>=B일경우 1과 3이 실행되며 A<B일 경우 2가 실행된다.
if(A>=B)
{
1
}
else if(A<B)
{
2
}
else if(A>B)
{
3
}
A>=B일경우 1이 실행되며 A<B일 경우 2가 실행된다.
else if는 위의 if나 else if가 거짓이고 자신의 조건이 참일때 실행된다.
if(A>B)
{
1
}
else if(A<B)
{
2
}
else
{
4
}
A>B일경우 1이 실행, A<B일 경우 2가 실행, A=B일 경우 4가 실행된다.
else는 위의 모든 조건이 거짓일때 실행된다.
#include <stdio.h>
void main()
{
int num1, num2;
printf("두 수를 입력하시오(띄어쓰기 구분)\n");
printf("입력 : ");
scanf("%d %d", &num1, &num2);
if(a>b)
{
printf("%d가 %d보다 큽니다.\n", num1, num2);
}
else if(a<b)
{
printf("%d가 %d보다 작습니다.\n", num1, num2);
}
else
{
printf("%d는 %d와 같습니다.\n", num1, num2);
}
}
① int num1, num2;
☞ 변수 num1와 변수 num2 선언(=생성)한다.
② scanf("%d %d", &num1, &num2);
☞ 변수 num1와 num2에 차례대로 입력한다.
③ if(num1>num2)
☞ num1이 num2보다 클경우 참이기 때문에 실행되며 num1이 num2보다 큽니다라는 출력문이 실행된다.
④ else if(num1<num2)
☞ 위의 값이 참이 아니면서 num1이 num2보다 작을경우 실행되며 num1이 num2보다 작습니다라는 출력문이 실행된다.
⑤ else
☞ 위의 조건문들이 모두 거짓일때 실행되며 num1과 num2는 같습니다라는 출력문이 실행된다.
#include <stdio.h>
int plus(int num1, int num2);
int minus(int num1, int num2);
int time(int num1, int num2);
int divide(int num1, int num2);
int main(int argc, char** argv)
{
int select;
int num1, num2;
int result;
printf("1. 더하기\n");
printf("2. 빼기\n");
printf("3. 곱하기\n");
printf("4. 나누기\n");
printf("입력 : ");
scanf("%d", &select);
printf("두 숫자를 입력하시오.\n");
printf("입력 : ");
scanf("%d %d", &num1, &num2);
//if안에 들어갈 줄이 한줄이면(;이 한줄을 의미한다.) 중괄호를 제거해도 문제되지 않는다.
if(select==1)
result = plus(num1, num2);
else if(select==2)
result = minus(num1, num2);
else if(select==3)
result = time(num1, num2);
else if(select==4)
result = divide(num1, num2);
else
printf("메뉴를 잘못 입력하셨습니다.");
printf("\n\n");
printf("결과 = %d\n", result);
return 0;
}
int plus(int num1, int num2)
{
return num1+num2;
}
int minus(int num1, int num2)
{
return num1-num2;
}
int time(int num1, int num2)
{
return num1*num2;
}
int divide(int num1, int num2)
{
return num1/num2;
}
연습문제
1) else if와 else는 if가 없어도 잘 실행 되는가?
2) 입력 받은 값이 짝수인지 홀수인지 출력하는 프로그램을 작성하시오.