[C언어] 분기문(if, switch)

Programming/C

2015. 1. 17. 21:50 - gold5230




1. if문

 

1
2
3
4
if (조건)
{
    //do something...
}
cs

이게 기본이라고 할 수 있을 것이다. 실행시킬 코드가 한줄이면 중괄호를 생략해도 된다.

조건의 예시 : i == 0, i >= 0, !IsRunning 등, 그 외에 함수를 안에 넣어서 반환값을 조건으로 쓸 수도 있다.

조건이 반드시 1개일 필요는 없다, &&이나 || 등을 사용해 여러가지 조건을 걸 수 있다.

또한 예시에서도 보다시피 !도 사용 가능하다.


이건 else문을 추가한 형태다. if를 만족하지 못한 경우 실행된다.

 

1
2
3
4
5
6
7
8
int Height;
 
scanf("%d", &Height);
 
if(Height >= 150
    printf("롤러코스터 탑승 가능");
else //if(Height < 150)
    printf("롤러코스터 탑승 불가능");
cs

 

 

검사할 조건이 3개 이상이면 if ~ else if ~ else 하는 식으로 쓰면 된다. else if는 많이 들어가도 된다!

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(condition) 
{
 
}
else if(condition2)
{
 
}
else if(condition3)
{
 
}
else
{
 
}
cs

 

이런 식으로 쓰면 된다. 마지막 else 문은 결국 condition, condition2, condition3 셋 다 불만족하는 경우에 수행될 것이다.


또한 if 안에 if를 넣을 수도 있다.

1
2
3
4
5
6
7
8
9
10
11
if(condition)
{
    if(condition2)
    {
 
    }
    else if(condition3)
    {
 
    }
}
cs

2. switch문


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch(Input)
{
case 1:
    func1();
    break;
case 2:
    func2();
    break;
case 'a':
    func3();
    break;
default:
    func4();
    break;
}
cs

이런 식으로 사용한다.

예시에서 Input은 변수명이다. Input의 값이 1일 경우 func1을 실행하고. 2는 func2(), a는 func3을 실행한다. default는 case에 있던 값 외의 나머지 값을 의미한다.


case에는 반드시 문자나 정수가 들어가야 하며, 문자열이나 실수는 case로 사용할 수 없다.

또한 case의 끝에는 반드시 break가 있어야 한다. 위의 예시에서 break가 없을 시에는

Input이 1일 경우에 func1부터 차례대로 내려와 func4까지 실행하게 될 것이다.

 


'Programming > C' 카테고리의 다른 글

[C언어] 함수  (0) 2015.01.17
[C언어] 반복문(for, while)  (0) 2015.01.17
[C언어] 연산자와 연산자 우선순위  (0) 2015.01.17
[C언어] 아스키 코드와 문자열  (0) 2015.01.17
[C언어] 자료형과 변수 선언  (0) 2015.01.17