혼자 연구하는 C/C++ 4장 정리(제어문)

2015. 2. 27. 03:16창고

728x90
728x90

1. 조건문 if

조건문이란 조건에 따라 명령의 실행 여부를 결정하는 문장이다.


if(조건) 명령;


괄호 안에 조건을 쓰고 이 조건이 만족할 때 실행할 명령을 괄호 뒤에 작성한다.

조건은 주로 변수와 값을 비교하는 연산식인데 비교 연산자를 사용한다.


블록구조

if (조건) 명령;이지 명령들이 아니다.

여러개의 명령을 하나의 명령인 것 처럼 묶을 때는 중괄호 { }를 사용한다.

이 다수 개의 문장을 복문 또는 블록(block)라고 한다.


else if, else


if(조건1) 명령1; else if(조건2) 명령2; else 명령3;


조건 1일 때 명령1을 수행하고, 만약 참이 아니라면

조건 2를 검사하고 명령2를 수행하고 , 만약 조건 2도 참이 아니라면

명령 3을 수행하라.


2. for 반복문

비슷한 명령들을 여러 번 실행하는 제어 구조이다.


for(초기식;조건식;증감식) 명령;


말로 풀어보자면,

초기식을 주고 조건식을 확인한 다음 명령을 수행하고 

증감식을 수행하고 이후 조건식이 만족할때까지 반복한다.


for(i = 0; i < 10;  i ++)


초기식 - i의 초기값은 0이다.

조건식 - i가 10보다 작은동안 계속 반복한다.

증감식 - 루프를 돌 때마다 i를 증감연산하라.


3. while 반복문

for문과 유사한 반복문이다. 내부의 조건문이 만조하면 명령을 실행한다.


while(조건) 명령;


while의 변형문인 do while문도 있다.


do 명령; while(조건);


일단 명령을 한번 실행하고 조건이 맞는지 while문과 같게 비교하고 루프를 빠져나간다.


4. switch 문

하나의 변수값을 평가하여 각 값에 대해 개별적인 처리를 지정할 수 있는 문장이다.


switch(변수) {

case 값1 : 명령1; break;

case 값2 : 명령2; break;

...

case 값n : 명령n; break;

default   :명령; break;


break문을 통해 스위치문 중 하나의 케이스가 선택되면 강제로 빠져나간다.


5. goto

지정한 곳으로 무조건 점프하는 제어문이다.

스파게티 코드때문에 사용하지 않는다.


6. break

우리말로 번역하자면 "당장 튀어 나와"라고 할 수 있다.

루프를 끝낼 조건이 되었을 때 break를 사용하면 루프를 빠져나올 수 있다.


ex)

for i {

for j {

break;

}

}


이 예제에서 break문은 j의 루프문은 나올 수 있지만 i의 루프문까진 탈출하지 못한다.

한 번에 한개의 루프문만!


7. continue

루프의 나머지 부분을 무시하고 조건 점검부로 점프하여 루프의 다음 값을 실행하도록 하는 명령이다.

실전에선 그다지 사용되지 않으며 비교적 정밀한 제어구조를 만들 때 가끔씩 사용된다.


continue 유의할 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
for i
{
    ...
    switch k
    {
        case 1
        case 2
            if()
                continue
        case 3
    }
}
 
cs


이 코드의 목적은 continue를 통해 swich 문으로 가는게 목적이었지만

continue는 꼭 반복문에서만 사용할 수 있다는 것을 알아야 한다.

이 예제에선 continue문에서 for i 루프로 돌아가버린다.

728x90
반응형