조건적 실행과 흐름의 분기
흐름의 분기가 필요한 이유
프로그램의 흐름을 원하는 형태로 컨트롤할 수 있어야 하기 떄문에
if문을 이용한 조건적 실행
if(num1>num2) // num1이 num2보다 크다면 아래의 중괄호를 실행한다.
{
printf("num1이 num2보다 큽니다. \n");
printf("%d > %d \n", num1, num2);
}
#include <stdio.h>
int main(void)
{
int opt;
double num1, num2;
double result;
printf("1.덧셈 2.뺄셈 3.곱셈 4.나눗셈 \n");
printf("선택: ");
scanf("%d", &opt);
printf("두 개의 실수 입력: ");
scanf("%lf %lf", &num1, &num2);
if(opt==1)
result = num1 + num2;
if(opt==2)
result = num1 - num2;
if(opt==3)
result = num1 * num2;
if(opt==4)
result = num1 / num2;
printf("결과: %f \n", result);
return 0;
}
/* 결과
1.덧셈 2.뺄셈 3.곱셈 4.나눗셈
선택: 3
두 개의 실수 입력: 2.14 5.12
결과: 10.956800
*/
- 위 코드의 문제점: 어떠한 숫자가 입력되는 모든 조건검사(비교연산) 실행
If ~ else문을 이용한 흐름의 분기
- else는 독립적으로 사용되는 것이 아니라 키워드 if와 더불어 하나의 문장을 구성하는 형태로 사용