- 조건문, Conditional Statements
- 조건문은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문입니다.
- C++에서 사용하는 대표적인 조건문의 형태는 다음과 같습니다.
- if문
- if / else문
- if / else if / else문
- switch문
- if문
- if문은 조건식의 결과가 참(True)이면 주어진 명령문을 실행하며, 거짓(False)이면 아무것도 실행하지 않습니다.
if문의 작성 방법은
if(내일 시험 == 'yes')
{
집에 가서 공부해야죠!;
}
- if / else문
- if문과 함께 사용하는 else문은 if문과는 반대로 주어진 조건식의 결과가 거짓이면 주어진 명령문을 실행합니다.
if (내일 시험 == 'yes')
{
집에가서 공부해야죠!;
}
else
{
친구들이랑 놀 수도 있죠;
}
- if / else if / else문
- 조건식을 여러 개 명시할 수 있으므로 중첩된 if문을 좀 더 간결하게 표현할 수 있습니다.
if (내일 시험 == 'yes')
{
집에 가서 공부해야죠!;
}
else if (친구가 내일 시험 == 'yes')
{
친구랑 같이 공부해야죠!;
}
else
{
오랜만에 놀아볼까요!;
}
- switch문
- switch문은 if / else문과 마찬가지로 주어진 조건 값의 결과에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문입니다.
switch (조건 값)
{
case 값1:
조건 값이 값1일 때 실행하고자 하는 명령문;
break;
case 값1:
조건 값이 값2일 때 실행하고자 하는 명령문;
break;
...
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
break;
}
- 반복문, Iteration Statements
- 반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문입니다.
- 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 제어문 중 하나입니다.
- C++에서 사용되는 대표적인 반복문의 형태는 다음과 같습니다.
- while문
- do / while문
- for문
- 범위 기반의 for문
- while문
- while문은 특정 조건을 만족할 때까지 계속해서 주어진 명령문을 반복 실행합니다.
- 조건식의 결과를 변경하는 명령문이 존재하지 않을 때는 프로그램이 영원히 반복되는 무한 루프에 빠지게 되어 프로그램이 종료되지 않기 때문에 유의해야합니다.
- do / while문
- 조건식 검사를 하기 전에 먼저 루프를 한 번 실행한 후 조건식을 검사합니다.
- for문
- for문은 자체적으로 초기식, 조건식, 증감식을 모두 포함하고 있는 반복문입니다.
- 범위 기반의 for문
- C++11부터는 범위 기반의 for문이라는 새로운 형태의 반복문이 추가되었습니다.
- 범위 기반의 for문은 표현식 안에 포함되어 있는 모든 값에 대해 한 번씩 루프를 실행합니다.
- 이러한 범위 기반은 배열을 자동으로 인식하며, 컨테이너 클래스에서 많이 사용됩니다.
int arr[5] = {1, 3, 5, 7, 9};
for (int element : arr) // element는 arr 배열의 인덱스 크기만큼 자동으로 반복된다.
{
cout << element << " ";
}
- 루프의 제어
- 조건식의 검사를 통해 루프로 진입하면, 다음 조건식을 검사하기 전까지 루프 안에 있는 모든 명령문을 실행하는데, continue문과 break문으로 일반적인 루프의 흐름을 사용자가 직접 제어할 수 있게 도와줍니다.
- continue문
- continue문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 해줍니다.
- 보통 반복문 내에서 특정 조건에 대한 예외 처리를 하고자 할 때 자주 사용됩니다.
int except_num = 2
for (int i = 0; i <= 100; i++)
{
if (i % except_num == 0)
{
// i % 2 == 0이면 짝수를
// 제외하고, 홀수만 출력
continue;
}
cout << i << " ";
}
- break문
- break문은 루프 내에서 사용하여 해당 반복문을 완전히 종료시킨 뒤, 반복문 바로 다음에 위치한 명령문을 실행합니다.
- 루프 내에서 조건식의 판단 결과와 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용합니다.
int num = 1, sum = 0;
int end_num = 10;
while (1) // 무한 루프
{
sum += num;
if (num == end_num)
{ // num이 10이 되면
// 무한 루프를 종료하고
// 바로 다음 cout 명령문을 실행
break;
}
num++;
}
cout << "1부터 " << end_num << "까지 더한 값은 " << sum << "입니다.";
'Program Language > C++ 언어' 카테고리의 다른 글
06. C++ 배열과 포인터 - 포인터의 개념 (0) | 2023.02.16 |
---|---|
05. C++ 배열과 포인터 - 1차원 배열과 다차원 배열 (0) | 2023.01.28 |
03. C++ 여러가지 연산자 (0) | 2023.01.03 |
02. C++ 언어 변수와 여러가지 데이터 타입 (0) | 2023.01.03 |
01. C++ 언어 시작하기 (0) | 2022.12.31 |