[C언어] while문 사용법 & 예제 총정리
- Language/C , C++ , C#
- 2019. 7. 23.
반복문의 종류
반복문의 종류로는 for문, while문 do-while문이 있습니다. 어떤 상황이냐에 따라 반복문의 문법을 결정하여 코딩을 하게 되는데요. for문과 while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 상관은 없습니다만 for문은 반복횟수를 명확히 알고 있을 때 주로 사용하고 while문은 조건에 따라 반복 횟수를 결정해야 할 때 주로 사용하게 되는 것 같습니다. while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐만 다를 뿐 기본적인 로직은 같습니다.
while문
while문은 조건식이 true일 경우에 계속해서 반복하는 문법입니다. 조건식에는 비교 또는 논리 연산식이 줄로 오는데 조건식이 false가 되면 반복을 멈추고 while문을 종료합니다.
실행 순서
1. ①조건식을 평가합니다. 평가 결과가 true이면 ②실행문을 실행합니다.
2, ②실행문이 모두 실행되면 다시 ①조건식으로 되돌아가서 다시 검사합니다.
3. 만약 ①조건식이 true라면 1,2번 순서를 다시 반복하고 아니면 while문을 종료합니다.
while문 문법
//문법
while(조건식){
실행문;
}
//사용법
int i=1;
while(i<10){
printf("%d\n",i);
i++;
}
while문은 조건식이 true라면 실행문을 실행시킵니다. 블록 안에 증감문은 넣어주어도 되고 안 넣어주어도 되는데 증감식을 넣어주지 않게 되면 (while문을 빠져나오는 구문이 없다면) 무한루프에 빠지게 됩니다.
구구단 만들기
#include <stdio.h>
int main(){
int i=1;
while(i<10){
int j=1;
while(j<10){
printf("%d * %d = %d\n",i,j,i*j);
j++;
}
i++;
printf("\n");
}
}
반복문 생략과 탈출(break, continue, return)
while문의 가장 큰 장점은 무한루프를 만들기 쉽다는 것입니다. 프로그램을 자다 보면 일단 무한루프를 만들어놓고 어떤 특정 입력이나 조건이 들어왔을 때 무한루프를 빠져나오게 하는 방식으로 프로그램을 짤 때가 많은데요. 이럴 경우 for문보다 while문이 유용하게 쓰입니다.
break문
break문은 반복문을 실행중지할 때 사용됩니다. 만약 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료시킵니다. 그러므로 이중으로 쌓여있는 반복문을 모두 중지시키려면 가장 바깥쪽에 있는 반복문에 라벨을 붙이고 brteak 라벨이름; 이렇게 사용하셔야 합니다.
#include
int main(){
while(1){
printf("while문 실행\n");
break;
printf("bareak문 뒷문장은 실행되지 않습니다.\n");
}
printf("프로그램을 종료합니다.");
}
break문을 실행시키기 전인 while문 실행이라는 문구는 찍히고 break문이 실행되어 while문을 탈출한 뒤 프로그램을 종료합니다 라는 문구를 찍은 모습입니다.
continue문
continue문은 반복문을 종료하지 않고 계속 반복을 수행합니다. continue을 사용했을 경우 continue밑에 있는 코드는 생략하고 바로 다음 반복문으로 갑니다.
#include
int main(){
int i = 0;
while(i<10){
i++;
printf("while문 실행\n");
continue;
printf("continue문 뒷문장은 실행되지 않습니다.\n");
}
printf("프로그램을 종료합니다.");
}
continue문을 실행시키기 전인 while문 실행이라는 문구는 찍히고 continue문이 실행되어 다음 while문으로 이동하여 같은 방식으로 10번을 반복한 뒤 while문의 조건문이 false가 되어 while문을 빠져나온 뒤 "프로그램을 종료합니다." 라는 문구를 찍은 모습입니다.
return문
return문은 속해있는 함수나 프로그램을 즉시 종료시킵니다.
#include
int main(){
while(1){
printf("while문 실행\n");
return 0;
}
printf("return문은 프로그램을 종료합니다.라는 문구가 찍히기 전에 프로그램이 종료됩니다.");
}
return문을 실행시키기 전인 while문 실행이라는 문구는 찍히고 return문이 실행되어 즉시 프로그램이 종료된 모습입니다.
'Language > C , C++ , C#' 카테고리의 다른 글
[C언어/C++] 별찍기 예제 (For문 연습) (15) | 2019.07.25 |
---|---|
[C언어] for문 사용법 & 예제 총정리 (4) | 2019.07.24 |
[C언어] switch문 사용법 & 예제 총정리 (0) | 2019.07.22 |
[C언어] if문 사용법 & 예제 총정리 (9) | 2019.07.21 |