IF ~ Else문 ~ 조건문
조건문을 사용하다 보면 상황이 서로 반대되는 조건을 나열해야 할 때가 있다.
예를 들어, 비가 오면 우산을 들고 간다. // 비가 오지 않으면 운동화를 신고 나간다. 와 같은 표현이다.
이 표현에서 '비가 오면' 이라는 조건과 '비가 오지 않으면'이라는 조건은 서로 반대되는 조건이기 때문에 '비가 오면 우산을 들고 가고 그렇지 않으면 운동화를 신고 나간다' 라는 표현을 사용하여 조건과 반대 조건을 한 번에 사용하는 것이 더 편리 할 것이다.
이 상황을 if조건문으로 표현하면 이와같다.
이번에는 프로그램에서 'data가 10이면 data에 0을 저장하고, data가 아니면, data를 1를 증가시킨다. 라는 조건을 어떻게 표현하면 좋을지 생각하자.
하지만 이와 같은 과정은 너무 비효율적이다. 따라서 다음과 같이 반대 조건을 한 번에 표현하는 if~else~형식으로 변경할 수 있다.
if(data == 10) data = 0;
else data++; //data가 10이 아닌 경우에 수행한다.
이렇게 if~else문을 사용하면 조건 수식은 한 번만 수행한다.
단일 if ~else문
다음 예시를 보자,
#include <stdio.h>
void main()
{
int data = 5;
if (data > 3) printf("data는 3보다 큰 수입니다. \n");
else printf("data는 3보다 작거나 같은 수입니다. \n");
printf("작업 종료\n");
}
복합 if ~ else~문
또 다른 예시를 보자.
#include <Stdio.h>
void main()
{
int score = 95;
char grade;
if (score >= 90) {
grade = 'A';
printf("점수는 %d이고 등급은 %c입니다.\n", score, grade);
}
else {
grade = 'B';
printf("점수는 %d이고 등급은 %c입니다.\n", score, grade);
}
printf("작업종료\n");
}
결과
<출처 : DO IT C언어 - 김성엽>