if 문은 조건식의 결과가 참(true)이면 주어진 명령문을 실행하며, 거짓(false)이면 아무것도 실행하지 않는다.
if 문 문법
#include <stdio.h>
int main(void)
{
if (조건식)
{
조건식의 결과가 참일 때 실행하고자 하는 명령문;
}
return 0;
}
위의 코드에서 블록에 속한 명령문은 중괄호({})를 기준으로 오른쪽으로 들여쓰기가 되어 있는 것을 볼 수 있다. 이처럼 들여쓰기를 통해 코드의 가독성을 높이는 것을 인덴트(indent)라고 하며, 될 수 있으면 모든 코드를 인덴트하는 것이 좋다.
if / else 문
if 문과 함께 사용하는 else 문은 if 문과는 반대로 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행한다.
if / else 문 문법
#include <stdio.h>
int main(void)
{
if (조건식)
{
조건식의 결과가 참일 때 실행하고자 하는 명령문;
}
else
{
조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
}
return 0;
}
if / else if / else 문
else if 문은 if 문처럼 조건식을 가질 수 있기 때문에 중첩된 if 문을 좀 더 간결하게 표현할 수 있도록 해준다.
하나의 조건문 안에서 if 문과 else 문은 단 한 번만 사용될 수 있다.
하지만 else if 문은 여러 번 사용될 수 있어서 복잡한 조건도 표현할 수 있다.
if / else if / else 문 문법
#include <stdio.h>
int main(void)
{
if (조건식1)
{
조건식1의 결과가 참일 때 실행하고자 하는 명령문;
}
else if (조건식2)
{
조건식2의 결과가 참일 때 실행하고자 하는 명령문;
}
else
{
조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
}
return 0;
}
switch ~ case 문
주어진 조건식의 값에 따라 여러 개의 명령문 중에서 어느 특정한 명령문만을 실행
하고자 할 때 switch ~ case 문을 사용
switch ~ case 문 문법
#include <stdio.h>
int main(void)
{
switch ( 정수식 또는 정수형 변수 )
{
case 상수값 1 : 명령문1 ; break ;
case 상수값 2 : 명령문2 ; break ;
case 상수값 n : 명령문n ; break ;
default : 명령문 n + 1 ;
}
return 0;
}
괄호 안의 정수식이나 정수형 변수를 평가하여 그 결과가 case 다음의 값들과 일치
하는 것이 있으면 해당하는 case 에 있는 명령문들을 수행하고 break 문을 만나면
switch ~ case 문을 벗어난다. 일치하는 case 문이 없을 경우에는 default 문의 명령문을
실행하며 , default 문이 없을 경우에는 switch ~ case 문을 벗어난다.
#include <stdio.h>
int main(void)
{
int score ;
char grade ;
printf ( " SCORE => " ) ;
scanf ( " %d " , &score ) ;
switch ( score / 10 )
{
case 10 :
case 9 : grade = 'A' ; break ; // score가 90점 이상의 경우 A 출력
case 8 : grade = 'B' ; break ; // score가 90점 미만 80점 이상인 경우 B 출력
case 7 : grade = 'C' ; break ; // score가 80점 미만 70점 이상인 경우 C 출력
case 6 : grade = 'D' ; break ; // score가 70점 미만 60점 이상의 경우 D 출ㄹ겨
default : grade = 'F' ; // 60점 미만의 경우 F 출력
}
return 0;
}