💻프로그래밍 내용 정리/C++17

[C++ 1.1.14] 반복문(while 문, do/while, for, 범위 기반 for 문)

이이프 2022. 8. 15. 22:18
728x90

1. while 문

while 문은 주어진 표현식이 true가 될 때까지 일정한 코드 블록을 계속해서 반복한다.

int i = 0;
while (i < 5) {
    std::cout << "This is silly." << std::endl;
    ++i;
}

break 키워드를 사용하면 반복문(루프)을 즉시 빠져나와 뒤에 있는 코드를 진행한다.

continue 키워드를 사용하면 즉시 반복문의 첫 문장으로 돌아가 while 문에 지정한 표현식을 다시 평가한다.

 

 


 

2. do/while 문

동작은 while 문과 비슷하지만, 먼저 코드 블록부터 실행한 뒤 조건을 검사하고 그 결과에 따라 루프를 할지 결정한다.

코드 블록을 최소 한 번 실행하고 조건을 평가한다.

 

다음 코드는 while 조건이 false이더라도 "This is shilly."란 문장이 한 번은 출력되는 예이다.

int i = 100;
do {
    std::cout << "This is silly." << std::endl;
    ++i;
} while (i < 5);

 

 


 

3. for 문

for 문으로 작성한 코드는 모두 while 문으로 변환할 수 있고, 그 반대도 가능하다.

하지만 for 문의 문법이 좀 더 편할 때가 많다.

 

초기 표현식, 종료 조건, 매번 반복이 끝날 때마다 실행할 문장으로 반복문을 구성한다.

다음 코드는 i를 0으로 초기화한 뒤, i가 5보다 작을 동안 반복문을 실행하고, 매번 반복할 때마다 i 값을 1만큼 증가시킨다.

for (int i = 0; i < 5; ++i) {
    std::cout << "This is silly." << std::endl;
}

 

 


 

4. 범위 기반 for 문

이 구문은 컨테이너에 담긴 원소에 대해 반복문을 실행하는 데 편하다.

 

다음 예제는 먼저 정숫값 네 개로 구성된 배열을 정의한다.

그런 다음 범위 기반 for 문을 돌면서 이 배열의 모든 원소에 대한 복제본을 화면에 출력한다.

std::array<int, 4> arr = {1, 2, 3, 4};
for (int i : arr) {
    std::cout << i << std::endl;
}