본문 바로가기

Programming/C

C Study 03 - 반복문과 조건문

조건문


1. if 와 else 

- 사용 방식

if (연산[논리연산, 대입연산, 증감연산 등의 결과값]) { 

하고자하는 명령들.

}

- 조건문이 0이 아닌 다른 값을 가질때 참으로 판별.


else { 

하고자하는 명령들.

}

- if의 조건문이 거짓일 경우 그외 모든 경우를 포함하여 해당 명령을 실행.


※ else if란?

else if(연산) 은 독립적으로 if, else, else if로 구분하지 않는다.

else와 if를 합쳐놓은 조건 검사문.


예)

if (a == 1) {..}

else if ( a == 2) {..}

else {..}

      ↓ 아래와 같은 동작

if(a == 1) { .. }

else {

if (a == 2) {..}

else {..}

}


else if는 따로 명령어가 존재한다는 것이 아니라 독립적인 존재인 것이다.


2. switch case

단순한 비교 연산을 할 경우 쓰임.


- 사용 방식

switch (특정 연산 혹은 특정 변수) {

case 해당값 : // 뜻 : 특정 연산 혹은 특정 변수 == 해당값 의 참 값을 검사

....

break;

default : //위의 어떠한 조건도 만족하지 못할 경우.

...

break;

}


예)

switch( value) {

case 1 :

case 2 :

...

break;

case 'a' :

...

break;

default :

...

}

   ↓ 아래와 같은 동작

if (value == 1 || value == 2) { ... }

else if(value == 'a') { ... }

else {...} //default 해당 부분.


※ break 명령어를 써주는 이유

해당 switch문의 scope( 즉, {} )를 빠져나오기 위함.

break를 쓰지 않을 경우 앞의 조건이 참인 경우 다음 조건도 무조건적인 참으로 인식.

예)

switch(value) {

case 'a' :

printf("aaa");

case 'A' :

printf("AAA");

break;

case 'b' :

printf("bbb");

}

//value 값이 a일 경우

OUTPUT :

aaaAAA

//value 값이 A일 경우

OUTPUT :

AAA


반복문


크게 3가지로 분류 : while , for , do~while


1. while

while( [조건문] ) {

...

}

[조건문]이 0이 아닌 다른 값이 올 경우 ...을 수행한 후. scope( {} )가 끝나는 지점에 도달하면 다시 해당 while문의 시작점으로 돌아가 [조건문]을 검사한 후 다시 0이 아닌 다른 값이 올 경우 ...을 다시 수행한다.

2. do~while

do {

...

}while([조건문]);

먼저 ... 을 수행한 후 [조건문]을 검사하여 0이 아닌 다른값이 올 경우 해당 scope 최정점으로 다시 돌아가 ... 을 수행한다.

3. for


for (초기화 ; 조건문 ; 증감 혹은 연산) {

        ①          ②             ③

... // ④ 

}

구동 원리 

1. ①을 먼저 수행하여 변수들을 초기화 시킨다.

2. ②를 수행하여 조건이 0이 아닌 값이면 해당 scope를 수행하고, 0이면 scope를 빠져나온다.

3. ④를 수행

4. ③를 수행하여 변수값을 증감시키거나 연산한다.

5. 2번부터 반복 수행을 한다.


※ ① ③ 은 여러개를 수행 할 수 있으며, ' , '로 구분을 하여 사용한다.

※ ① ② ③ 에 해당되는 부분은 비어 있을 수 있다.


4. continue 와 break

continue : 반복문 내에서 해당 scope의 시작점으로 돌아가 명령을 다시 수행한다.

break : 반복문 내에서 해당 scope의 끝점으로 간다. 즉, scope를 빠져 나온다.


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

#pragma once와 #ifndef 의 차이  (0) 2012.09.11
C Study 04 - 함수  (0) 2012.08.08
gotoxy 함수 구현 및 방향키 값  (0) 2012.07.25
C Study 02 - 연산자  (0) 2012.05.18
C Study 01 - 기초 2  (3) 2012.05.02