본문 바로가기

C++

C++ 기초(반복문)

728x90

C++에서 반복문은 while, do/while, for, 범위기반 for 4가지로 구분할 수 있다.

 

-while

int i = 0;
while(i < 3) // while(<조건식>)
{
	cout << "Hello, whales!" << endl;
	i++;
}

while 문은 while 다음에 나오는 조건식이 true라면 코드 블록 안의 내용을 계속해서 수행한다. 따라서 무한 루프가 아닌 반복문이라면 코드 블록 안에서 상태가 갱신되어야 한다. 위 코드에서는 i를 1씩 증가시켜서 코드가 3번 반복된 뒤에 while 문이 종료된다.

 

-do/while

int i = 0;
// do { code } while(<조건식>)
do {
	cout << "Hello, whales!" << endl;
    i++;
} while( i < 3 )

do/while 문은 while 문의 변형으로 do 다음에 코드 블록이 오고 끝에 while과 조건식이 붙은 형태이다. 코드의 진행은 코드 블록이 먼저 실행되고 while문의 조건식을 검사한다. do/while문은 처음부터 조건식이 false더라도 일단 진행하기 때문에 최소한 코드를 한 번은 수행해야 할 때 쓰이는데 코드 작성 시 do/while문의 사용은 지양한다. 

 

-for

//for( <초기화문>; <조건식>; <갱신문> )
for(int i = 0; i < 3; i++)
{
	cout << "Hello, whales!" << endl;
}

for문 for 구문 다음 괄호에 초깃값, 종료 조건, 갱신문을 한꺼번에 설정할 수 있는 사용하기 용이한 반복문이다. for문으로 작성한 코드는 모두 while문으로 변환할 수 있고, 그 반대도 가능하다. 하지만 for 문은 대게 count에 의한 단순 반복을 하는데 많이 사용되고 while문의 경우 단순 반복 혹은 조금 더 복잡한 조건식이 있는 반복문을 표현하는 데 사용된다. 코드의 진행은 for 문이 나오면 우선 초기화문을 실행하고 조건식을 검사 후 코드 블록을 실행한 후 마지막에 갱신문이 수행된다. 그 이후는 다시 조건식, 코드 블록, 갱신문순으로 조건식이 false가 될 때까지 수행된다.

-범위 기반 for

int arr[3] = { 1, 2, 3};
for(int i : arr) // for(<반복 변수> : <컨테이너>)
{
	cout << i << endl;
}

범위 기반 for 문은 배열, 벡터 그리고 begin()과 end()가 정의된 컨테이너의 모든 원소에 대한 반복문을 수행할 때 상용된다. 기본적으로 각 원소에 복제본을 만들어서 출력하는 형태이고 원소를 일일이 복제하지 않으려면 레퍼런스 변수를 사용하면 된다.

728x90

'C++' 카테고리의 다른 글

C++ - pointer  (0) 2023.01.23
C++ - Initializer_list  (0) 2023.01.22
C++ - 구조적 바인딩  (2) 2023.01.19
C++ 기초(배열)  (0) 2023.01.19
C++ 기초(함수)  (0) 2023.01.19