나미/C

17. 제어문 - 반복문, getch()와 getche()

규남 2013. 3. 15. 11:41
반응형

이번에는 제어문 중에 반복문의 종류와 사용법에 대해서 배우자.

 

반복문의 의미와 종류

명령어를 필요한 조건에 따라 여러 번 반복하여 수행하는 경우에 사용을 하게된다. 

종류에는 while문, for문, do-while문이 있다. 그외에 goto문이 가끔 사용된다. 그러나 goto문의 경우는 if와 함께 이루어 사용을 하게 되는데 가급적이면 제어하는데 별로 좋지 않기 때문에 사용하지 않는것이 좋다. do-while문 같은경우도 잘 사용하지 않는다.

 

while문

반복문 중에서 가장 흔히 사용하는 방법으로써 반드시 숙지하는 것이 좋다. 사용방법은 다음과 같다.

 

while ( 논리식 )

{

명령문;

}

 

위의 형태로 사용한다. 논리식 부분에서 조건이 만족하게 되면 계속 반복적으로 명령문을 수행하게 된다.

반복수행을 하다가 조건을 벗어나게되면 그때 while문을 벗어나게 된다.

논리식의 경우 잘못 설정을 하게되면 무한 반복이 일어나므로 주의해야한다.

 

보통 while문의 인터넷에 떠도는 예제들을 보면 가끔 getch(); 와 getche();라는 명령어가 가끔 보인다.

간략하게 이부분에 대해서 설명을 하고 넘어간다. 

 

getch(); 와 getche() 의 공통적인 의미

둘다 제어문을 사용할때 주로 쓰이는데 엔터키를 눌렀을때 하나씩 출력을 할수 있도록 도와준다.

 

이것을 왜 사용하는냐??

while문의 경우 소스코드가 짧을경우는 눈으로 쉽게 볼수 있지만, 만약 3천줄~ 5천줄이상의 소스코드가 있다면 어디서부터 어떻게 되었는지 한눈에 알수가 없다. 그래서 사용자의 엔터입력에 의해 하나씩 출력하기위해 사용을 주로한다. (명령문의 오류를 확인할때 매우 유용하다.)

 

getch(); 함수와 getche(); 함수의 차이점

e가 붙는거와 없는것의 차이는 getche();함수의 경우 사용자가 키보드로 입력한 부분을 눈으로 볼수있게 화면에 출력해서 보여준다. 그래서 

a라는 문자를 누르면 aa 두개가 찍히게 된다. 즉, a눌러서 나온거 1개와 입력되서 나오는 a 이렇게 2개가 화면에 뿌려진다.

반면 getch();함수의경우 역할은 똑같으나 화면에 사용자가 키보드로 입력한 부분을 보여주지는 않는다. 따라서 a를 누르면 화면에 a 하나만 찍히게 된다.

 

for문

보통 for문 같은경우 반복 횟수가 정해져 있는경우 주로 사용하는 방법이다. 사용법은 다음과 같다.

 

for ( 초기값; 논리식; 증감)

명령문;

 

의 형태로 사용한다. 

위에서 보면 while문에 초기값, 논리식, 증감 부분을 한줄로 적는 형태와 같다. 상황에 따라서 while문과 for문을 적절히 사용자가 골라서 사용하면 된다.

 

 

 

 

 

728x90
반응형