1. Boolean Expression(참/거짓)
int main() {
bool a = true;
bool b = (10 >= 5);
bool c = 0;
cout << a << '\t' << b << '\t' << c << endl; //true, true, false
return 0;
}
- bool이라는 변수 타입, 두 가지 값(binary value)(true or false)만 가질 수 있음
- C++에서 true는 1, false는 0을 출력함
- 변수가 0이 아닌 값을 가지면 true로 변환됨
2. if-else문 (조건문)
1. if문
if(/* 실행 조건 */)
/* do something */
if(/* 실행 조건 */)
{
/* do something #1
...
do something #n
*/
}
- 코드가 실행될 조건을 걸어주는 조건문
- 실행문이 한 줄이면 { } 생략 가능, 여러 줄이면 생략 불가능
2. else문
if(/* 실행 조건 */)
/* statement 1 */
else
/* statement 2 */
- else문은 if조건에 해당되지 않을 때, 나머지 모든 경우에 동작을 수행함
- else는 반드시 if문이 있어야 사용 가능
- 마찬가지로 실행문이 한 줄이면 생략 가능, 여러 줄이면 생략 불가능
3. Logical Operator(논리연산자): and / or / not
bool x = true, y = false;
x && y; //and연산자 - 하나라도 false면 전체가 false - 결과값은 false
x || y; //or연산자 - 하나라도 true면 전체가 true - 결과값은 true
!x; //not연산자 - true는 false로, false는 true로 - 결과값은 false
4. Nested if-else문
if(/* 실행 조건 1 */)
{
/* do something */
if(/* 실행 조건 2 */)
{
/* do something */
}
else if(/* 실행 조건 3 */)
{
/* do something */
}
else //조건 2, 3에 해당되지 않는 모든 경우
{
/* do something */
}
}
*) 2.1~2.4 example
int main() {
char grade = 'X';
int score;
cout << "Enter your score : ";
cin >> score;
if (score >= 0 && score <= 100) {
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
cout << "You're grade is " << grade << endl;
}
else {
cout << "The score (" << score << ") is invalid" << endl;
}
return 0;
}
3. while문 (조건+반복문)
while(/* 반복 조건 */)
/* do something */
while(/* 반복 조건 */)
{
/* do something #1 */
...
/* do something #n */
}
- 반복 조건이 true라면 body를 반복해서 실행함 (조건이 false가 될 때 반복문에서 빠져나옴 = 실행 종료)
*) 3 example
#include <iostream>
#include <iomanip>
#include <cmath>
#include <locale>
/* 왜인지 모르겠으나 locale라이브러리 include하지 않아도 실행됨.. */
using namespace std;
int main() {
int num = 1;
int count = 1;
cout.imbue(locale("")); // 세 자리(1,000)마다 쉼표 찍기 위함
while (count <= 20) {
num = pow(2, num);
cout << count << '\t' << setw(10) << num << endl;
count++;
}
return 0;
}
- <iomanip>의 setw(n) 함수: n칸만큼 띄운다음 오른쪽 정렬해서 출력함
- <cmath>의 pow(n, base) 함수: base숫자를 n제곱하는 제곱 함수 (base^n)
*) if + while example
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int row = 1, col = 1;
while (row <= 10) {
while (col <= 10) {
int num;
if (row == col)
num = 1;
else
num = 0;
cout << setw(4) << num;
col++;
}
cout << endl;
row++;
col = 1;
}
return 0;
}
- 마찬가지로 while문도 body안에 또다른 while문 넣을 수 있음 (Nested while문)
*)sample codes: https://github.com/halterman/CppBook-SourceCode
반응형
'코딩 > 객체지향프로그래밍' 카테고리의 다른 글
[C++] String, File - 문자열과 파일 (1) (0) | 2020.07.23 |
---|---|
[C++] 조건문과 반복문 (2) (0) | 2020.07.21 |
[C++] 함수(2) (0) | 2020.07.15 |
[C++] 함수(1) (0) | 2020.07.14 |
[C++] C++ basic (0) | 2020.07.13 |