반복문이란?
특정 부분의 코드가 반복적으로 실행할수 있도록 하는 구문입니다. 예를 들어, "Secure" 라는 문자열를 100번 출력해야 한다면 printf("secure")를 100번 작성해야 할 것이며 코드의 양도 늘어나게 됩니다. 이를 간소화하기 위해 반복문을 사용하면 printf를 100번 입력하지 않고서도 printf를 100번 실행할 수 있습니다. C언어서는 while문, do ~ while문, for문을 제공하고 있습니다.
반복문을 벗어나는 조건이 없을 경우 프로그램이 종료되지 않고 계속 실행하게 되며 이를 무한루프라고 합니다.
무한루프는 조건이 항상 참이 되는 조건을 말합니다.
e.g.) while(1) 이거나 n=0, while(n < 1) ...
1. while
특정조건을 주고 그 조건에 참인 경우, 특정영역을 계속 반복하는 구조입니다.
예제 1) a가 5보다 작을 경우 문자열 CH.Securety를 출력하는 예제 입니다.
#include <stdio.h>
int main(void){
int a = 0;
while (a < 5){
printf("CH.Security %d\n", a);
a++;
}
return 0;
}
/* 출력결과
CH.Security 0
CH.Security 1
CH.Security 2
CH.Security 3
CH.Security 4
*/
2. do ~ while
while문과 다르게 반복영역을 최소한 한번을 실해하는 구조입니다.
예제 1) a가 1보다 클 경우(False일 경우)문자열 CH.Securety를 출력하는 예제 입니다.
#include <stdio.h>
int main(void){
int a = 0;
do{
printf("CH.Security %d\n", a);
}while(a>1);
}
/* 출력결과
CH.Security 0
*/
do ~ while문에서는 조건문인 while문이 반복영역 뒤에 있기에 조건이 False 이여도 반복영역을 최소 한번 실행하게 됩니다.
3. for
for문은 반복 횟수가 정해진 특정 상황에서 while문과 do ~ while문보다 편하게 반복문을 사용할 수 있는 함수입니다.
예제 1) a가 5보다 작을 경우 문자열 CH.Securety를 출력하는 예제 입니다.
#include<stdio.h>
int main(void){
for(int a = 0; a <5; a++)
printf("CH.Security %d\n", a);
}
/* 출력결과
CH.Security 0
CH.Security 1
CH.Security 2
CH.Security 3
CH.Security 4
*/
for문은 아래와 같이 사용합니다.
for(초기식; 조건식; 증감식)
{
// 반복영역
}
※ for문 예제와 같이 반복영역이 한 줄인 경우 중괄호 생략할 수 있습니다.
※ for문의 조건식이 비워지면 무조건 참값으로 인식되어 무한루프가 됩니다.
for문의 실행순서는 초기식 -> 조건식 -> 반복영역 -> 증감식을 반복합니다.
'Coding > C' 카테고리의 다른 글
반복문 제어(continue, break, goto) (0) | 2021.06.12 |
---|---|
분기문(if, if ~ else, switch) (0) | 2021.06.12 |
연산자 (0) | 2021.06.05 |
C언어 변수와 입·출력(scanf, printf) 그리고 주석 (0) | 2021.05.29 |
C언어 기본 구조 (0) | 2021.05.09 |