C/C언어 이론

(4)Conditional

T_Y 2018. 6. 20. 12:57
반응형

조건문

- 주어진 조건에 만족할 때 수행하는 '제어문'


1. if문

- 조건식, 수행문


if( 조건식1 )

{

수행문1

> 만약(if) 조건식1이 만족(참)하면 수행문1을 수행해라!

> 거짓이면 수행하지 않고 넘어감

}

else if( 조건식2 )

{

수행문2

> 위 조건식1이 만족하지 않고 넘어왔다면, (else)

 만약(if) 조건식2가 만족하면 수행문2를 수행해라!

> 무조건 if가 위에 있어야 사용할 수 있다. --> if문에 종속된다.

> 여러 개 사용할 수 있다. (경우의 수가 늘어남)

}

else

{

수행문3

> 위 조건식(들)이 만족하지 않고 넘어왔다면, (else)

   '무조건' 수행문3을 수행해라!

> 무조건 if가 위에 있어야 사용할 수 있다. --> if문에 종속된다.

> 하나만 사용할 수 있다. (조건식이 없기 때문)

}


- 수행문을 수행하면, 다음 조건을 검사하지 않고 모든 조건식을 빠져나간다.


2. switch~case문

- 하나의 조건(값)으로 많은 경우의 수를 처리

1. 조건식의 결과(연산 가능)는 '정수'만 허용

2. case문의 값은 '정수 상수'만 가능하며, 중복 불가


- break;

> switch문을 빠져나간다. (탈출)

> case를 만족하고 수행을 했는데, break; 가 없으면

   그 아래 있는 모든 case는 만족한 것으로 간주하고 다 수행

   (break;를 만나거나 switch가 끝날때까지!)




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
int a = 0// 전역변수 (참고)
 
void main()
{
    int iAge = 0// 지역변수! -> 프로그램 실행 시 생성, 프로그램 종료 시 소멸
    printf("나이를 입력하세요 : ");
    scanf("%d"&iAge); // & 필수!!
 
    // 조건식에는 보통 비교연산자를 사용~ (참이면 1, 거짓이면 0)
    if( iAge > 19 ) // 조건식
    {
        // 수행문 (새로운 지역 - 블럭{}이 새로 열림)
        int iValue = 1// 선언(생성) : 지역/블럭의 가장 위에 있어야 함
 
        // iValue는 '지역변수' --> { } 블럭/지역 안에서 생성된 변수
        // 지역변수는 해당 지역이 끝나면 자동으로 소멸(제거)
 
        printf("성인입니다.\n");
 
        printf("iValue = %d\n", iValue);
    }
 
    // printf("iValue = %d\n", iValue); // 이 위치에는 존재하지 않는 iValue
 
    // 비교연산의 결과 -> 1 / 0
    // 조건식에 정수를 넣어서 사용이 가능
    if1 ) // 1은 참
    {
        printf("참입니다. 1\n");
    }
 
    if10 )
    {
        printf("참입니다. 10\n");
    }
 
    // 0이 아니면 모두 참! (음수도 참)
    if-10 )
    {
        printf("참입니다. -10\n");
    }
 
    // 0만 거짓
    if0 )
    {
        printf("참입니다. asdjkfljasdlkfjsadklfjlk\n");
    }
}
cs




반응형

'C > C언어 이론' 카테고리의 다른 글

(6)Function  (0) 2018.06.20
(5)Repetitive  (0) 2018.06.20
(3)Operator  (0) 2018.06.20
(2)Data type  (0) 2018.06.19
(1)Hello World  (0) 2018.06.19