조건문은 어떠한 조건을 충족할때 실행되는 구문이다.
*IF문
if문은 내부의 조건을 검사해, 진행 경로를 결정한다. 조건의 개수가 적을때 사용하는것이 유리하다. (조건이 많으면 switch문이 좋다.)
구조
if (조건1){
조건1을 만족하면 실행되는 구문}
else if (조건2){
조건2을 만족하면 실행되는 구문}
else{
조건1, 조건2를 만족하지 않을시 실행되는 구문}
|
- 실행문이 한개라면, 중괄호는 쓰지 않아도 된다.
- else if는 여러개 사용해도 되지만, if와 else는 하나만 존재해야 한다.
- else문를 쓰지 않고, if문만, 또는 if문과 if else문만 사용 해도된다..
if문 예제
#include <stdio.h>
int main(void) {
int score ;
printf("수학 점수를 입력하세요.");
scanf("%d",&score);
if (score > 80){
printf("A");
}
else if (score>60){
printf("B");
}
else{
printf("C");
*switch문
조건이 다양하게 존재할때, (갯수가 많을때) 유리한 조건문이다. 짧은 코드로 여러가지 조건을 다룰 수 있다.
구조
switch(확인타겟){ case 값1: 값 1을 만족할때 실행되는 구문 case 값2: 값 2를 만족할때 실행되는 구문 default: 어떠한 CASE에도 해당되지 않을때 실행됨. else와 비슷 ( default 는 생략 해도 된다.) }
## 중요한점은 case 1을 만족하면 그 아래로 쭈욱 전부 실행되므로 break문을 넣어야한다.
|
switch에서 판별할 변수는, 정수 자료형만 사용 가능하다. (int와 char) ,
실수자료형 (float, double 등)은 사용 불가능!
#include <stdio.h>
int main(void){
printf("학점을 입력하세요");
char grade;
scanf("%c", &grade);
switch (grade){
case 'A' :
printf("very good!"); break;
case 'B' :
printf("nice!"); break;
case 'C' :
printf("cheer up!"); break;
default :
printf("유감입니다."); break;
}
return 0;
}
#include <stdio.h>
int main(){
int n;
printf("몇월입니까?");
scanf("%d",&n);
switch(n){
case 3:
case 4:
case 5: printf("%d월은 봄이네요",n); break;
case 6:
case 7:
case 8: printf("%d월은 여름이네요",n); break;
case 9:
case 10:
case 11: printf("%d월은 가을이네요",n); break;
case 12:
case 1:
case 2: printf("%d월은 겨울이네요",n); break;
default:printf("잘못된 값을 입력했습니다.");
}
}
만족하는 case 의 명령어부터 밑으로 쭈욱 실행되므로, 3, 4 에는 써주지 않아도 된다. 어차피 5에서 만나서 "봄이네요"를 출력하고 break를 만나기 때문에