이이프
IeF 제멋대로 세상
이이프
전체 방문자
오늘
어제

공지사항

  • ✔ Info
  • 전체 글보기 (56)
    • 💻프로그래밍 내용 정리 (55)
      • C (0)
      • C++17 (55)
    • 💻게임메이커 (0)
    • 💻언리얼엔진 (0)
    • 💻유니티 (0)
    • 🎈[팀&자작]게임소개 (0)
    • 📃게임제작기술 (0)
    • 🎨그림놀이 (0)
    • 📒대학생활 (0)
    • 😃잡담 (1)
    • 🕹게임성과 (0)
    • 💷자격증 (0)

블로그 메뉴

  • 방명록

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
이이프

IeF 제멋대로 세상

💻프로그래밍 내용 정리/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;
}

'💻프로그래밍 내용 정리 > C++17' 카테고리의 다른 글

[C++ 1.2.2] 스택과 힙, 포인터와 동적 메모리, 역참조, 배열 포인터, 널 포인터 상수(NULL), 스마트 포인터(unique_ptr, shared_ptr)  (0) 2022.08.16
[C++ 1.2.1] C++의 스트링  (0) 2022.08.16
[C++ 1.1.13] 구조적 바인딩(auto)  (0) 2022.08.15
[C++ 1.1.12] std::vector, push_back()  (0) 2022.08.15
[C++ 1.1.11] std::array  (0) 2022.08.15
    '💻프로그래밍 내용 정리/C++17' 카테고리의 다른 글
    • [C++ 1.2.2] 스택과 힙, 포인터와 동적 메모리, 역참조, 배열 포인터, 널 포인터 상수(NULL), 스마트 포인터(unique_ptr, shared_ptr)
    • [C++ 1.2.1] C++의 스트링
    • [C++ 1.1.13] 구조적 바인딩(auto)
    • [C++ 1.1.12] std::vector, push_back()
    이이프
    이이프
    게임 프로그래머 지망생 / Since 2022.08.14

    티스토리툴바