2024. 3. 3. 22:49ㆍProgramming Language/C++
아래 링크 클릭 시 해당 본문으로 이동
반복문(Loop)
• 어떤 조건이 완료되기 전까지 코드가 일정 구간 반복(loop)되면서 같은 명령을 수행하게 하는 제어문
• 프로그램에서 똑같은 명령을 일정 횟수만큼 반복하기 위해 사용하는 문장
• 조건이 참인 동안 계속 반복하고 거짓이 되면 반복문을 끝낸다.
초기식, 조건식, 증감식
반복자(iterator) : 배열처럼 여러 개의 데이터의 집합으로 이루어진 자료구조를 순회하는 객체
1) 초기식
• 반복자 초기화로 초기값을 설정한다.
• 처음 딱 한 번만 실행된다.
• 보통 대입문의 형식이다.
2) 조건식
• 반복자의 조건을 체크하여 반복문을 언제까지 실행할 것인지 결정한다.
• 결괏값은 참(true) 또는 거짓(false)으로 결정된다.
• 조건이 참인 동안 계속 반복하고 거짓이 되면 반복문을 끝낸다.
3) 증감식
• 반복자 값 변경
조건 체크를 할 때 매번 똑같게 나오지 않게 하려면 반복자로 설정된 변수의 값이 바뀌어야 한다.
조건 체크할 때 거짓이 나와야 반복문을 탈출하므로 반복자의 값을 변경시켜줘야 한다.
• 반복자로 설정된 변수의 값을 증감시킨다.
값을 변경시켜 주면서 조건이 달라질 수 있게 한다.
• 한 번 반복할 때 반복자를 얼마나 증감시킬 것인지 정한다.
반복문이 한 번 실행될 때 증감식도 한 번 실행된다.
1. for문
for (초기식; 조건식; 증감식)
{
조건식 결과가 참인 동안 반복적으로 실행할 명령문;
}
• 초기식, 조건식, 증감식은 각각 생략할 수 있다.
다 생략하면 무한 루프가 된다.
for ( ; ; )
{
// 무한 루프로 실행할 명령문
}
for문 진행 순서
① 초기식
② 조건식 체크
③ 명령문 실행
④ 증감식
⑤ 조건식 체크 ➜ 참이면 ③번으로, 거짓이면 ⑥번으로
⑥ for문 종료
▷ 예시
#include <stdio.h>
int main()
{
// a가 0~4까지 총 5번 반복된다.
for (int a = 0; a < 5; ++a)
{
printf("Hello World!\n");
}
return 0;
}
for문에서 `i`가 0~10까지 반복될 때마다 나오는 값 : 정수형 vs. 실수형
#include <stdio.h>
int main()
{
// 정수형
for (int i = 0; i < 10; ++i)
{
printf("i : %d\n", i);
}
// 실수형
for (float f = 0; f < 10.f; ++f)
{
printf("f: %f \n", f);
}
return 0;
}
정수형인 `i`는 10번 반복되면서 0~9까지, 실수형인 `f`는 0.000000~9.000000까지 증가한다.
2. while문
초기식;
while (조건식)
{
조건식 결과가 참인 동안 반복적으로 실행할 명령문;
증감식;
}
while문 진행 순서
① 초기식
② 조건식 체크
③ 명령문 실행
④ 증감식
⑤ 조건식 체크 ➜ 참이면 ③번으로, 거짓이면 ⑥번으로
⑥ while문 종료
▷ while문 예시
// a가 0~2까지 총 3번 반복된다.
int a = 0;
while (a < 3)
{
printf("Hello World!\n");
++a;
}
for문 ⇄ while문
▷ `a`를 0부터 1까지 2번 반복하여 `Hello World!`가 2번 출력되게 하는 코드
① for문
for (int a = 0; a < 2; ++a)
{
printf("Hello World!\n");
}
② while문
int a = 0;
while (a < 2)
{
printf("Hello World!\n");
++a;
}
반복문 탈출 방법
1) continue
코드가 진행되다가 `continue;`를 만나면..
① 그 뒤에 있는 코드들을 건너뛴다.(스킵(skip)한다.)
② 반복문의 처음 부분으로 가서 다음 루프(증감식 부분)를 실행시킨다.
▷ 예시 (for문)
for (int a = 0; a < 6; ++a)
{
// 변수 a가 홀수일 때는 건너뛰기
if (a % 2 == 1)
{
continue;
}
printf("Hello World!\n");
}
`Hello World!`가 3번 출력된다. ➜ `a`가 0, 2, 4일 때
2) break
• `break;`를 만나는 순간 반복문을 즉시 끝낸다.
▷ 예시 (while문)
int a = 0;
while (a < 6)
{
printf("Hello World!\n");
++a
break; // 반복문을 즉시 탈출한다.
}
반복문이 처음 한 번만 실행되고 종료된다.
'Programming Language > C++' 카테고리의 다른 글
[C++] 배열(Array) (0) | 2024.03.04 |
---|---|
[C++] 호출 스택, 반복문 vs. 재귀함수[팩토리얼, 피보나치 수열], 꼬리 재귀 (0) | 2024.03.04 |
[C++] 입출력 (printf(), scanf(), cout, cin) (0) | 2024.03.03 |
[C++] 함수[main()], return, void (0) | 2024.03.03 |
[C++] 메모리 영역, 변수 (0) | 2024.03.02 |