삼항 연산자(ternary operator)
이 연산자는 C++에서 유일하게 피연산자를 세 개나 가지는 조건 연산자이다.
(Conditional_expr) ? expr 1 : expr2
○ Conditional_expr 은 boolean 표현식.
-> 표현식이 참이라면 expr1 값을 리턴
-> 표현식이 거짓이라면 expr2 값을 리턴
○ If-else 문의 사용과 유사.
○ 삼항 연산자
#include <iostream>
int main()
{
int a = 10;
int b = 20;
int result =0;
result = (a > b) ? a : b;
std::cout << result;
return 0;
}
삼항연산자 함수와 하기 If-else 문과 동일한 방식이다.
if( a > b)
result = a;
else (a > b)
result = b;
#include <iostream>
using namespace std;
int main()
{
int a = 10;
int b = 20;
int result = 0;
result = (a > b) ? (a++) : (b--);
cout << result;
return result;
}
결과는 20이 나온다.
(b--) 를 (--b) 로 바뀐다면 결과는 19가 나온다.
#include <iostream>
using namespace std;
int main()
{
int a = 10,b = 20;
int score = 92;
int result{};
result = (a > b) ? a : b;
result = (a < b) ? (b - a) : (a - b);
result = (b != 0) ? (a / b) : 0;
cout << ((score > 90) ? "Excellent!" : "Good!");
return 0;
}
result 는 20 -> 10 -> 0이 되며
Console 에는 Excellent! 가 호출된다.
* 콤마 연산자는 for 문에서 적용 가능하다.
#include <iostream>
using namespace std;
int main()
{
for (int i = 0, j = 5; i < 5; i++,j++)
{
cout << i << "*" << j << " = " << i * j << endl;
}
return 0;
}
0*5 = 0
1*6 = 6
2*7 = 14
3*8 = 24
4*9 = 36
for문에서 변수를 동시에 올리는건 처음해보았다.
유튜브 강의를 참고하여 제작하였다.
https://youtu.be/BwHWniBLqRc?si=wV5dHK_yz6OiBnkc
삼항연산자는 엑셀 IF 함수와도 비슷하다.
'C++ > C++ : Study' 카테고리의 다른 글
c++ 배열의 전달과 pass-by-reference (0) | 2024.09.11 |
---|---|
C++ 함수 호출의 동작 방식 (0) | 2024.09.10 |
C++ Overloading 오버로딩 (1) | 2024.09.09 |
C++ 함수 Pass-by-Value (0) | 2024.09.08 |
Continue 와 Break (0) | 2024.09.07 |