삽질의 현장/- C

곱씹어보자 C!_#007_ 삽잡이의 두서없이 막말하는 제어문 반복문

shovelman 2015. 6. 23. 23:55

C언어에서 제어문과 반복문은 대표적으로 3개씩 있습니다.


제어문에는...

if(), if-else, switch-case

반복문에는...

for, while, do-while 이렇게요!


그런데요... 우선 제어문을 사용하는 이유는 뭘까요?

프로그램은 순차적인거 아시죠?

예를 들어서 

1. 소리질러

2. 밥먹자

3. 잠좀자자


이렇게 3줄이 작성되있다면, 프로그램은 1->2->3 순서대로 진행이 되지요.

이때, 제어문은 무엇인가 판단을 해서 문장의 순서를 제어하고자 할 때 사용한답니다.


아하... 제어문을 사용한다면 코드를 다 진행하는 것이 아니라,

조건에 맞게 순서를 건너 뛰어 필요한 문장으로 접근할 수 있겠습니다.


if 문의 종류는 계단식 스타일에서 자주 사용하고요

switch 문 같은 경우에는 제어문장은 제어문장인데 분기문이라고들 합니다.

분기문... jumping 이랄까요?


switch문의 괄호에는 오직 정수만이 들어갈 수 있습니다.

case 문에는 오직 상수만이 올 수 있죠.


아까 말씀드렸다시피 프로그램은 순서대로 내려가며 진행되지요.

switch문은 조건에 맞는 case로 가서 명령문이 실행되는데요

이때 중요한 것이 break 입니다.

반드시 case문 마다 break를 해야되는 것은 아니지만, 

깜빡하고 break 문을 사용하지 않는다면,

그 아래 case 문도 쭉 실행이 되죠.

물론 break가 있다면 그 자리에서 멈추고 나오겠지만요...


그래서 switch 문에는 일반적으로 4개의 키워드가 있습니다.

switch, case, break, default!

break와 default는 생략이 가능하지만 빠진 코드는 그리 좋지 않은 코드라더군요...



반복문(루프문이라고도 하죠)은 왜 사용할까요?

반복... 당연히 어떤 반복적인 수행을 하기 위해서 사용합니다. 


가장 많이 사용하는 for문 같은 경우 for문 시작시 초기화를 한번 딱 해버리죠.

그리고 많이들 0으로 초기화를 하는 경우가 다반사구요...


참고로 포인터, 배열 등의 위치의 시작이 다 0부터 시작하기 때문에 

같이 쓰는 경우를 생각해서 for문도 0으로 시작하는게 좋다네요~


아무튼... for문은 범위가 정해져있을 때 주로 사용하는 반복문!


while문 같은 경우에는 말입니다...

대부분 조건을 참으로 만들어 놓고 무한 루프식으로 계속 반복하게 만들때 자주 사용합니다.

그리고 조건에 맞지 않을 경우 빠져나오는 그런 식으로요...


일반적으로 계속 수행되어야 할 때 쓰는 반복문이 while!


for와 약간의 용도차이가 있군요...


그리구 위에서도 잠깐 언급했듯이 

for문 같은 경우 초기화 할 수 있는 문장이 초장에 있지만

while문 같은 경우 없으니까 초기화 부분을 실행 문장 중 넣어줘야합니다.


do-while문 같은경우는 위의 두 반복문에 비해 많이 사용되지는 않지만...

간단히 설명하자면,

조건이 맞던 틀리던 일단 1 GO ! 그리고 조건 살펴보자.

이런 마인드죠... 무대뽀 마인드...

그리고 조건을 다는 마지막 while 에는 ;(세미콜론)이 붙어야 된다는 사실!