C++ 루프 종류 완전 정복: for, while, do-while
코드 블록을 여러 번 실행해야 하는 상황이 있을 수 있습니다. 일반적으로 문장은 순차적으로 실행됩니다: 함수의 첫 번째 문장이 먼저 실행되고, 그 다음 두 번째, 이런 식으로 진행됩니다.
프로그래밍 언어는 더 복잡한 실행 경로를 허용하는 다양한 제어 구조를 제공합니다.
루프 문(statement)은 문장이나 문장 그룹을 여러 번 실행할 수 있게 하며, 대부분의 프로그래밍 언어에서 루프 문의 일반적인 형태는 다음과 같습니다.
C++ 프로그래밍 언어는 루핑 요구사항을 처리하기 위해 다음 유형의 루프를 제공합니다.
| 번호 | 루프 유형 및 설명 |
| 1 | while 루프
주어진 조건이 참인 동안 문장 또는 문장 그룹을 반복합니다. 루프 본문 실행 전에 조건을 검사합니다. |
| 2 | for 루프
문장 시퀀스를 여러 번 실행하고 루프 변수를 관리하는 코드를 줄여줍니다. |
| 3 | do...while 루프
'while' 문과 유사하지만 루프 본문 끝에서 조건을 검사합니다. |
| 4 | 중첩 루프
다른 'while', 'for', 'do..while' 루프 안에 하나 이상의 루프를 사용할 수 있습니다. |
루프 제어 문
루프 제어 문은 실행을 정상 순서에서 변경합니다. 실행이 범위를 벗어나면 해당 범위에서 생성된 모든 자동 객체가 소멸됩니다.
C++은 다음 제어 문을 지원합니다.
| 번호 | 제어 문 및 설명 |
| 1 | break 문
루프 또는 switch 문을 종료하고 루프 또는 switch 바로 다음 문장으로 실행을 전달합니다. |
| 2 | continue 문
루프 본문의 나머지 부분을 건너뛰고 다음 반복 전 조건을 즉시 다시 검사하게 합니다. |
| 3 | goto 문
레이블이 붙은 문장으로 제어를 전달합니다. 프로그램에서 goto 문 사용은 권장하지 않습니다. |
무한 루프
조건이 결코 거짓이 되지 않으면 루프는 무한 루프가 됩니다. for 루프가 전통적으로 이 목적에 사용됩니다. 'for' 루프를 구성하는 세 표현식 중 어느 것도 필수가 아니므로, 조건 표현식을 비워두면 끝없는 루프를 만들 수 있습니다.
#include <iostream>
using namespace std;
int main () {
for( ; ; ) {
printf("This loop will run forever.\n");
}
return 0;
}
조건 표현식이 없으면 true로 간주됩니다. 초기화와 증가 표현식은 있을 수 있지만, C++ 프로그래머들은 무한 루프를 나타내기 위해 흔히 for(;;) 구문을 사용합니다.
참고 − 무한 루프는 Ctrl + C 키로 종료할 수 있습니다.