C++에서는 반복문과 제어문을 통해 프로그램의 흐름을 제어할 수 있다.
[반복문]
특정 작업을 여러번 반복하는, 블록 안의 내용을 여러번 실행하는 문장이다.
1) for 루프(for loop)
for 문은 초기화, 조건 검사, 반복 후 작업을 정의하는 증감연산의 세 가지 부분으로 구성된다. 이를 사용하여 특정 횟수의 반복 작업을 수행할 수 있다.
for ( 초기화; 조건; 증감연산)
{
실행할 코드
}
의 형식을 갖는다.
2) while 루프(while loop)
while 문은 조건이 참일 때 계속해서 코드를 반복하는 루프이다.
while( 조건 )
{
실행할 코드
}
의 형식을 갖는다.
2-1) do while 루프(do while loop)
do-while 루프는 루프를 한 번 실행한 후 조건을 검사하는 루프로, 최소한 한 번의 실행을 보장한다.
do
{
실행할 코드
} while ( 조건 )
의 형식을 갖는다.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<연습 - 콘솔창으로 모양 표현하기>
1)
위의 모양은 이중 for문으로 표현할 수 있다.
먼저 바깥 for문이 0일 때 안쪽 for문에서 "*"을 5번 실행하고 이것을 바깥 for문의 i가 5가 될 때까지 반복 하므로
5 x 5의 별 모양이 만들어진다.
2)
위의 모양은 세로 줄 개수에 비례하여 별을 작성하는 것으로 표현할 수 있다.
바깥의 for문을 통해 (i+1)개의 세로 줄이 표현되므로 줄 수에 맞게 별을 (i+1) 번 만든다.
3)
제일 어려웠던 문제로 하나의 코드로 표현하는게 아니라 두 개의 for 문으로 나누어서 표현하였다.
먼저 첫번째 for문은 5번째 줄까지 별의 개수가 증가한다. 다만 전과 같이 줄에 비례하여 1개씩 증가하는게 아니고 별이 중간에 존재하기 때문에 별 앞의 여백이 줄에 비례하여 감소하는걸 표현해야했다.
따라서 5줄까지 blank는 4개에서 시작하여 4 - i식 대로 0개로 감소하였고 star는 1개에서 시작하여 2 * i + 1식 대로 9개까지 증가하였다.
두번째 for문은 다시 감소하는 별의 개수를 표현한다. 5줄에서 0개까지 감소한 blank는 6번째 줄에서 1개에서 시작하여 i + 1 식 대로 4개까지 증가하고 star는 7개에서 시작하여 7 - (2 * i) 식 대로 1개까지 감소하게 된다.
'컴퓨터 언어' 카테고리의 다른 글
[C#] 델리게이트와 이벤트 (0) | 2023.11.10 |
---|---|
[C#] 인터페이스 (0) | 2023.11.07 |
[C#] 구조체와 클래스 (0) | 2023.11.06 |
[C++] 다형성, 추상성 (0) | 2023.11.04 |
[C++] OOP - 캡슐화, 상속 (0) | 2023.11.01 |