true는 1, false는 0으로 출력된다.&&: 둘 다 참일 때만 참||: 하나라도 참이면 참!: 참을 거짓으로, 거짓을 참으로()를 사용하면 우선순위를 직접 지정 가능.| 용어 | 설명 |
|---|---|
| 비교 연산자 | 두 값을 비교하여 true/false 반환. (==, !=, <, > 등) |
| 논리 연산자 | 논리적 조건 판단에 사용 (&&, |
| true / false | 참(1)과 거짓(0)의 논리 값 |
| 우선순위 | 연산 수행의 순서 결정 규칙 |
괄호 () | 우선순위를 명확하게 지정하는 수단 |
| 조건문 | 조건이 참일 때만 특정 코드를 실행하는 구문 |
논리곱 && | 두 조건 모두 참일 때 true |
| 논리합 ` | |
논리부정 ! | 조건의 참/거짓을 반전 |
| 단항 연산자 | 피연산자가 하나인 연산자 (!, ++ 등) |
int a = 10;
int b = 20;
bool result;
result = (a == b); // false
result = (a != b); // true
==: 두 값이 같으면 true, 다르면 false!=: 두 값이 다르면 true, 같으면 falseresult 변수에 true/false 형태로 저장됨bool isRich = true;
bool isTall = false;
bool result = isRich || isTall;
||는 OR 연산: 둘 중 하나라도 true면 전체 결과 truetrue → 1, false → 0int hp = 100;
int a = 5;
int b = 2;
cout << (100 * (2 + 5) / 2); // 결과: 350
2 + 5 = 7100 * 7 = 700700 / 2 = 350→ 괄호가 없었다면 다른 결과가 나올 수 있음. 우선순위 제어의 대표 사례
int age = 20;
bool hasID = true;
if ((age >= 18) && hasID) {
cout << "Access granted.";
}
age >= 18 → true hasID → true true && true → 조건 만족 → 출력됨: "Access granted."int a = 5, b = 3, c = 8;
cout << (a > b || b > c && c > a);
b > c && c > a: 3 > 8 → false 8 > 5 → true false && true → falsea > b || false → 5 > 3 → truetrue → 출력: 1
&&는||보다 우선순위가 높기 때문에 먼저 계산된다.
if (5) {
cout << "True";
}
5는 정수지만, 0이 아니므로 true로 간주된다0만 false로 인식되며, 나머지 정수는 모두 true&&는 두 조건이 모두 참일 때만 실행되며, ||는 하나라도 참이면 실행된다.!는 참을 거짓으로, 거짓을 참으로 바꾸는 단항 연산자이다.