C++/C++ : Study

삼항 연산자 C++

더블유제이플로어 2024. 9. 7. 19:59

삼항 연산자(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