반복제어문은 여러 종류가 있습니다. while 문과 for 문이 대표적인 반복제어문입니다. while 문은 if 문과
비슷하게 () 괄호 안의 조건이 참이여야지 {} 중괄호 안의 코드를 실행을 합니다 하지만 다른 점이 있는데
while 문은 if 문과 같이 한번만 실행 하는것이 아니라 {} 중괄호 안의 조건을 조건이 거짓이 될때까지 끊임없이
실행 하는 함수 입니다. 또, 수동적으로 while 문 안에서 나가는 코드는 break 라는 코드로 break; 이렇게 사용 합니다
if 문과 합쳐서 while 문 안에서 if 문이 참이라는 결과를 갖게 되면 break 할수 있습니다. break 문과
while 문 , if 문을 이용해서 간단한 코드를 한번 작성해 보도록 하겠습니다.
#include <stdio.h>
int main()
{
int a=0;
while(a<100)
{
a++;
printf("a\n");
if(a == 90)
{
break;
}
}
return 0;
}
이 경우에는 a < 100 인 경우에만 코드가 실행 되도록 하였습니다. 간단하게 코드를 살펴 보자면 a 는 후치 증가 연산자로
a 씩 증가 시키고 있고 a 라는 문자를 바로 다음에 프린트 하였습니다. if 문을 간단하게 살펴 보자면 만약에 a 값이 90
이 되면 코드를 break 합니다. 결과적으로는 a 는 절때 99 를 도달 하지 않았지만 만약에 if 문을 없애면 이렇게 됩니다.
#include <stdio.h>
int main()
{
int a=0;
while(a<100)
{
a++;
printf("a\n");
/*
if(a == 90)
{
break;
}
*/
}
return 0;
}
이렇게 하면 a 값이 99 를 찍고 while 문이 직접 자신을 break 하는 것을 확인 하실수 있습니다. 또한 while 문 조건 안에
1 이라는 숫자를 넣으면은 무한 반복문이 됩니다. 이 경우에는 break 문이 없을시에는 조건이 없기 때문에 저절로 while
문이 break 되지 않습니다. 또한 continue 라는 코드가 있습니다. continue 는 말 그대로 지속 한다는 의미로 break
문과 반대되는 역할을 합니다. continue 문은 그 이후의 코드를 실행 하지 않고 while 문의 맨 처음으로 다시 돌아가서
처음부터 다시 코드를 실행 한다는 의미 입니다. 이 역시 간단한 코드를 한번 만들어 보도록 하겠습니다.
#include <stdio.h>
int main()
{
int a=0;
while(1)
{
scanf("%d",&a);
printf("Hello World!\n");
if(a == 1)
{
continue;
}
else
{
break;
}
}
return 0;
}
이 코드 역시 살펴보도록 하겠습니다. 보시면 a 라는 10진 정수가 선언되어 있고, while 문 안에서 a 를 스캔을 하고 있습니다.그 직후에 Hello World! 를 출력 하고 a 의 값을 확인하게 되는데, a 가 1이여야지만 코드의 처음으로 다시 돌아가고
만약에 a 가 1 이 아닐시에는 while 문을 break 하게 됩니다. 그러면 다음 시간에는 for 문에 대해 알아보도록 하겠습니다.
'C, C++' 카테고리의 다른 글
9 : c/c++ 강좌 "반복제어문 3" (0) | 2022.01.19 |
---|---|
8 : c/c++ 강좌 "반복제어문 2" (0) | 2022.01.17 |
6 : c/c++ 강좌 "선택제어문" (0) | 2022.01.17 |
5 : c/c++ 강좌 "연산자" (1) | 2022.01.16 |
4 : c/c++ 강좌 "변수" (3) | 2022.01.16 |