프로그램을 실행할 명령들을 다룰 때 사용된다. 중요하다.


조건문

if문

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


if( 조건 ) 과 같이 쓰며, 조건이 맞으면 명령을 수행한다.

비교연산자가 주로 활용된다.


{}로 블록을 활용하여 실행시킬 문장의 범위를 넓게 잡는 것도 가능하다.

if(x>3) 명령  보다는

if(x>3)

{

명령들..

명령들..

}

이 더 많은 작업을 처리할 수 있다.


else를 사용할 수 있는데, 특정 조건에 맞아야하는 if와 달리 맞지 않으면 다 성립한다.

if () { } else { } 와 같이 사용한다.


조금 더 나아가 else if가 있는데, if와 거의 같다고 보면되지만, 첫 번째 if가 거짓인 이후에야 순번이 오므로, 일단 if는 아닌데, 다른 조건을 만족하거나, 조금 덜 만족하거나.. 하는 경우 등에 쓰인다.



for문 반복문이다.

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

{

}

로 굉장히 유명한 for문은 특정 조건이 성립하는 동안 반복시키기보다는 특정 횟수를 반복시키게 하고 싶은 경우에 주로 쓴다.

기본적으로는 i < 10 부분이 조건식이 되어 '조건식이 참인 동안 계속 실행하는 것이다.

역시 { } 부분에는 실행할 명령이 들어간다.

i++ 부분은 증감식으로 위의 경우 i값을 0부터 1씩 올리고 있기 때문에, 10번 올린 후에는 i < 10이 거짓이 되어 for문을 마치게 된다.


무한 루프하고 싶을 경우 for(;;) 처럼 아무런 조건도 없는 내용을 써주면 반복한다.

for문 안에 for문이 들어가는 것도 가능하다.


while문

반복문이다. for문과 100% 호환되며. for문으로 짠 코드는 모두 while문으로 변환하는 것이 가능하다. 다만 while문은 while(i<10) 처럼 조건식만을 넣고 선언되며.. 보통 특정 조건이 만족되는 동안~ 반복하려는 때에 많이 사용한다.


확장판으로 do while이 있는데, 이 경우 조건의 참 여부와는 상관없이 일단 한번은 실행한다.


do

{

}

while(); 과 같이 사용한다. do while의 경우 ;가 붙는다.



switch문

다중선택을 하고 싶을 때 사용한다. if문을 사용해서 받은 숫자가 뭔지 확인한다면? 10개의 숫자가 있을 경우 if문을 10번이나 쓰거나.. else if를 여러개 두는 수고를 해야한다. 그런 불편함을 해소해주는 다중 선택문이다.


switch(x)

case 0 : ~내용

break;

case 1 : ~내용

break;

처럼... 사용하며 여러가지 처리문에 대응하기 적절하다.

단, switch 문으로 평가할 수 있는 것은 정수형이다. float형이나 사용자 정의형 등은 판별할 수 없기 때문에 지양해야한다. enum문을 사용하기에 좋다.

case문 사이에 break를 넣지 않으면 break를 만날때 까지 선택지들을 실행하기 때문에..

break가 없이 1부터 10까지 만들어두었다면 10은 10의 내용만 실행되고 끝나겠지만, 1은 1부터 10까지 전부 실행될 수도 있다.


goto

컴파일러가 코드를 읽다가 goto문을 만나면, 지정한 곳으로 점프하게 하는 제어문이다. 그러나.. 잘 쓰지 않을 뿐더러 잘 쓰지 않는 것이 좋다.


break;

if문이나 for문 등의 제어 영역에서 탈출하게 해주는 코드이다. break를 만나면 그 아래에 실행할 내용등을 무시하고 해당 영역을 탈출한다.


continue

if문에는 사용되지 않고 for , while의 반복문에만 사용되는데, break가 해당 영역을 탈출한다면 continue는 해당 영역을 읽은 것으로 치고.. 넘어간다. while 안에 break가 있다면 해당 코드는 거기서 끝이지만, continue를 만난 것이라면, 한번은 실행했다 치고.. 바로 조건식 쪽으로 돌아간다.






'프로그래밍 > 프로그래밍 공부' 카테고리의 다른 글

6장 함수  (0) 2015.02.27
5장 연산자  (0) 2015.02.27
4장 제어문  (0) 2015.02.27
3장 변수  (0) 2015.02.27
2장 프로그램의 구성 요소  (0) 2015.02.26
1장 프로그래밍 입문  (0) 2015.02.26
Posted by GENESIS8

댓글을 달아 주세요