반복문


 반복문은 쉽게 말해 반복을 하기위해 사용하는 문장입니다. 예를들어 printf 함수로 같은문장 또는 1씩 증가하는 문장 10줄을 출력하고싶을 때 일일이 10번을 다 입력해줘야 하지만, 반복문을 이용하면 반복문안에 한번만 입력하면 됩니다. 반복문은 문자열 출력 뿐만아니라, 사용에 따라 다양하게 활용할 수 있습니다. C에서 사용하는 반복문은 for문 while문 do-while문 세 가지가 있습니다.


- for문

 for문은 일정 횟수를 반복하는 경우에 많이 사용합니다. 사용 형태는 다음과 같습니다.

------------------------------------------------------------------------------------------

for(초기화; 반복조건; 증감연산)
{
반복하면서 처리할 내용
}

------------------------------------------------------------------------------------------

사용 예)
int i; // for문에서 초기화를 하기때문에 변수 선언만 해줍니다.
for(i=0; i<9; i++)
{
printf("%d의 값 \n",i);
}

------------------------------------------------------------------------------------------


- while문

 while문은 어떤 조건이 만족하는 동안 반복하는 반복문입니다. while문은 증감연산을 while문 안에 써줘야하고, 반복할 상수를 선언과 동시에 초기화를 해줘야합니다.  사용 형태는 다음과 같습니다.

------------------------------------------------------------------------------------------

while(조건식)

{
반복하면서 처리할 내용

}

------------------------------------------------------------------------------------------

사용 예)

int i=0; // for문과 다르게 반복에 이용할 변수 선언과 동시에 초기화

while ( i<10 ) // 조건

{

printf(“Hello World! \n”);

i++; // while문 내부에 써주는 증감연산자

}

------------------------------------------------------------------------------------------


- do-while문

  do-while문은 실행 후 while문을 실행하는 형태라고 생각하시면 됩니다. 조건에 상관없이 do에 있는 문장을 무조건 실행 한 뒤, 뒤에 있는 while문의 조건에 따라 반복합니다. 사용 형태는 다음과 같습니다. 이때, 주의할점은 while문 뒤에 세미콜론(;)이 붙는다는 겁니다. 세미콜론을 쓰지않을경우 구문 오류가 발생합니다.
------------------------------------------------------------------------------------------
do{
반복하면서 처리하거나 한번만 실행할 내용

}while(조건식);
------------------------------------------------------------------------------------------
사용 예)
int input;
do
{
printf(“Hello World!\n”);
printf(“종료를 원하시면 0을 입력하세요 : ”);
scanf(“%d”, &input);
}while(input!=0); // 0이 아닌경우만 반복
------------------------------------------------------------------------------------------

 지금까지 공부한 내용들을 바탕으로 원하는 구구단을 출력하는 코드를 간단하게 작성해보았습니다. scanf로 원하는 단을 입력받고, 0을 입력했을때 종료하는 코드입니다.
------------------------------------------------------------------------------------------
#include <stdio.h>
#pragma warning(disable:4996)

int main()
{
int num=1; // 구구단은 1단부터 시작해서 1로 초기화
int i;         // for문에서 사용할 변수
while (num != 0) // 0이 아닐경우 반복
{
printf("출력하고싶은 단을 입력하세요(0은 종료) : ");
scanf("%d", &num);
if (num == 0){ // 0을 입력했을경우 실행
printf("0을 입력하셔서 종료됩니다. \n");
break; // 종료
// close if
else{
printf("*****%d단*****\n", num);
for (i = 1; i < 10; i++){ // 1부터 1씩 증가하면서 9까지 반복
printf("%d * %d = %d\n", num, i, num*i);
} // close for
// close else
// close while
} // close main
------------------------------------------------------------------------------------------
 추가로 함수나 반복문 뒤에 주석으로 // close를 일일이 써준 이유는 코드가 복잡해지면 어디가 끝인 지, 어디가 무슨 함수까지인지 등등 헷갈릴 수 있기 때문입니다. 프로그래밍을 처음 시작하시는분들은 추천하는 방법입니다. 주석으로 끝을 표시해주는 게 코드를 보기도 좋고, 괄호를 빼먹는 실수도 줄어들 것입니다.

 아래 그림은 위 코드를 실행 했을때의 결과입니다. 0을 입력하기 전까지는 계속 입력하는 단을 출력하다가, 0을 입력하면 0을 입력했다는 문자열을 출력하고 종료됩니다.


* 출처 : 한국기술교육대학교 온라인평생교육원 C 프로그래밍_1 

          스타일 C프로그래밍 저.김종훈,김종진 출.WellBook




'언어 > C' 카테고리의 다른 글

[C] 함수(1)  (0) 2016.12.20
[C] 기타 제어문  (0) 2016.12.19
[C] 조건문  (0) 2016.12.17
[C] 연산자  (0) 2016.12.16
[C] 입출력함수, 기본자료형, 형변환  (0) 2016.12.15

+ Recent posts