C에서 if 라는 키워드는 조건적 실행(조건에 따라서 실행을 하느냐 마느냐)를 가능하게 한다. if문은 조건이 만족하면 if문 아래의 문장이 실행되고, 조건이 만족하지 않으면 실행하지 않는다. if문의 영향을 받는 문장은 중괄호로 감싸고 한 줄이라면 들여쓰기로 구분할 수 있다.
다음 코드는 입력받은 숫자에 따라 0보다 큰지, 작은지, 0인지 판단하는 코드이다.
#include <stdio.h>
int main(void){
int num;
printf("input number : ");
scanf("%d", &num);
if(num<0)
printf("number is smaller than 0. \n");
if(num>0)
printf("number is bigger than 0. \n");
if(num == 0)
printf("number is 0. \n");
return 0;
}
else 라는 키워드는 독립적으로는 사용할 수 없고, if와 함께 사용해야 한다. if절의 조건이 참이면 if 블록이 실행되고, 거짓이면 else 블록이 실행되는 구조이다. 다음 코드는 입력한 값이 0이면 0이라고 출력하고 다른 값이면 0이 아니라고 출력하는 코드이다.
#include <stdio.h>
int main(void)
{
int num;
printf("input number : ");
scanf("%d", &num);
if(num==0)
{
printf("number is 0\n");
}
else
{
printf("number is not 0\n");
}
return 0;
}
위 코드의 경우에는 두 개의 블록중 하나를 선택하여 실행하는 코드였다. else if 라는 키워드를 사용하면 3개이상의 블록중 하나의 블록을 선택하여 실행하도록 할 수 있다. 처음에는 if 절로 끝나고 마지막은 else 절로 끝난다. if절과 else절 사이에는 else if 절을 몇개든지 추가할 수 있다. 조건의 만족 여부 검사는 위에서 아래로 진행되고 조건이 만족되어 해당 블록을 실행하고 나면 마지막 else까지 아래의 블록들은 전부 건너 뛴다.
#include <stdio.h>
int main(void)
{
int num = 3;
if(num < 0)
{
printf("num is smaller than 0\n");
}
else if (num > 0)
{
printf("num is bigger than 0\n");
}
else if(num==3)
{
printf("num is 3\n");
}
else
{
printf("num is 0\n");
}
return 0;
}
위 코드의 경우 조건에 만족하는 첫번째 else if절을 실행하고, 다음 코드들은 전부 실행하지 않는다. 두번째 else if 절도 조건을 만족하지만 이미 위 조건을 만족했기 때문에 실행하지 않는다.
'Language > C, C++' 카테고리의 다른 글
[C] break (0) | 2020.12.05 |
---|---|
[C] 조건 연산자(삼항 연산자) (0) | 2020.12.05 |
[C] for (0) | 2020.11.29 |
[C] do~while (0) | 2020.11.28 |
[C] while (0) | 2020.11.27 |