C++ 삼항 연산자

C Samhang Yeonsanja

'조건 연산자와 if-else 문은 모두 동일한 기술을 사용하지만 조건 연산자는 if-else 식을 가능한 한 짧게 만드는 반면 if-else 식은 더 많은 공간을 차지합니다. 일부 프로그래밍 언어에는 대부분의 연산자가 필요로 하는 일반적인 하나 또는 두 개와 달리 세 개의 피연산자를 허용하는 삼항 연산자로 알려진 연산자가 있습니다. 기본적인 if-else 블록을 압축하는 수단을 제공합니다. 이 가이드에서는 C++의 삼항 연산자를 예제를 통해 다룹니다. 어떤 경우에는 C++ 응용 프로그램의 if else 문을 종종 조건 연산자라고 하는 삼항 연산자로 대체할 수 있습니다.'

C++에서 삼항 연산자의 구문

삼항 연산자에는 조건부, 참, 거짓의 세 가지 피연산자가 필요합니다. 삼항 연산자가 테스트 조건을 분석하고 결과에 따라 코드 블록을 실행할 때 구문은 다음과 같습니다.

# (exp_1) ? exp_2 : exp_3

여기서 'exp'는 표현식을 나타냅니다. 표현식의 결과에 따라 이 연산자는 두 값 중 하나를 반환합니다. 표현식 2와 3이 평가되고 'exp_1'이 부울 true로 평가되면 해당 값이 최종 결과로 반환됩니다. 그렇지 않으면 표현식 1은 부울 false로 평가되고 표현식 2는 평가되며 해당 값이 최종 결과로 반환됩니다.



실시예 1

다음은 C++의 삼항 연산자를 사용하는 방법을 보여주는 간단한 예제 프로그램입니다.



#include

#include <문자열>

네임스페이스 표준 사용 ;

정수 기본 ( ) {
더블 CGPA ;
쫓다 <> CGPA ;

문자열 학생_결과 = ( CGPA >= 1.5 ) ? '통과' : '실패한' ;

쫓다 << '너 ' << 학생_결과 << ' 학기.' ;

반품 0 ;
}



프로그램에서 헤더 섹션을 C++ 라이브러리로 채웠습니다. 그런 다음 'using'이라는 키워드로 네임스페이스 std를 추가했습니다. 그런 다음 내부에 데이터 유형이 'double'인 변수 'CGPA'가 선언되었습니다. 다음 줄에서 사용자에게 cout 명령을 인쇄하여 CGPA를 입력하도록 요청했습니다. cin 명령을 사용하여 사용자는 CGPA를 추가합니다.

그런 다음 삼항 연산자가 있는 또 다른 변수 'student_result'를 만들었습니다. 삼항 연산자는 여기에 세 가지 표현식이 필요합니다. 먼저 사용자가 입력한 CGPA가 '1.5' 이상인지 확인하는 조건이다. 그렇다면 'passed'라는 문장이 인쇄되고, 그렇지 않으면 세 번째 표현식이 인쇄됩니다. cout 명령을 사용하면 결과가 표시됩니다.

사용자가 CGPA '3.5'를 입력한다고 가정해 보겠습니다. CGPA >= 1.5이면 기준을 충족하는 참으로 평가됩니다. 따라서 결과는 첫 번째 용어 '통과'가 주어집니다.



사용자가 1.00을 입력한다고 가정해 보겠습니다. 결과적으로 조건 CGPA >= 1.5는 잘못 평가됩니다. 따라서 두 번째 표현인 '실패'가 결과에 제공됩니다.

실시예 2

C++의 특정 유형의 if else 문은 삼항 연산자로 교체할 수 있습니다. 예제로 이 코드를 변경할 수 있습니다. 첫 번째 예제 프로그램은 if-else 조건을 사용하고 다른 예제 프로그램은 삼항 연산자를 사용합니다.

#include

네임스페이스 표준 사용 ;

정수 기본 ( ) {

정수 하나에 = - ;
쫓다 << '하나에 :' < 0 )
쫓다 << ' \N 양의 정수' ;
또 다른
쫓다 << ' \N 음수!' ;

반품 0 ;
}

음의 정수 값으로 int 데이터 유형 변수 'num'을 선언하고 초기화했습니다. 그런 다음 cout 명령을 사용하여 'num' 값이 인쇄됩니다. 그런 다음 if-else 조건이 있습니다. 'if' 조건 내에서 변수 'num'이 값 0보다 커야 한다는 조건을 지정했습니다. 조건이 참이 되면 'if' 조건 바로 뒤에 cout 명령이 인쇄됩니다. 조건이 거짓이 되면 else cout 문이 인쇄됩니다.

숫자가 음수이므로 if 조건이 거짓이 되고

다음으로 삼항연산자로 위의 프로그램을 실행하였다. if-else 조건과 삼항 연산자가 동일한 효과를 가지는지 확인해보자.

#include

#include <문자열>

네임스페이스 표준 사용 ;

정수 기본 ( ) {

정수 마이넘 = - 7 ;
쫓다 << '정수:' << 마이넘 < 0 ) ? '양의 정수!' : '음수 정수!' ;
쫓다 << 결과 << ;

반품 0 ;
}

변수 'MyNum'을 선언하고 음수 값으로 초기화했습니다. cout 명령 내에서 'MyNum' 변수를 호출하여 음수 값을 인쇄했습니다. 그런 다음 문자열 유형으로 다른 변수를 'Outcome'로 설정합니다. 결과 변수는 삼항 연산자 연산을 취합니다. 먼저 'MyNum'이 0보다 커야 한다는 조건이 있습니다. 그런 다음 삼항 연산자 '?'를 넣습니다. 다른 두 표현식은 조건 결과에 따라 실행됩니다.

정수 값이 '-7'이므로 세 번째 표현인 'Negative Integer!' 프롬프트에 인쇄됩니다. 여기에서 두 응용 프로그램의 출력은 동일합니다. 그러나 삼항 연산자는 코드의 가독성과 깔끔함을 향상시킵니다.

실시예 3

또한 삼항 연산자는 서로 내부에서 사용할 수 있습니다. 다음 프로그램에서 값이 양수, 음수 또는 0인지 확인하려면 중첩 삼항 연산자를 사용하십시오.

#include

#include <문자열>

네임스페이스 표준 사용 ;

정수 기본 ( ) {
정수 정수 = 0 ;
문자열 결과 ;

결과 = ( 정수 == 0 ) ? '영' : ( ( 정수 > 0 ) ? '긍정적인' : '부정적인' ) ;

쫓다 << '정수는 ' << 결과 ;

반품 0 ;
}

프로그램의 주요 방법으로 시작하십시오. int main()에서 'integer'라는 이름의 변수를 만들고 값을 0으로 설정했습니다. 그런 다음 데이터 유형 문자열을 사용하여 또 다른 변수 '결과'를 정의했습니다. 삼항 연산자를 무시하고 변수 '결과'를 설정했습니다. 조건은 변수 '정수' 값이 0 '정수 == 0'과 같아야 한다는 것입니다. 초기 조건(정수 == 0)은 주어진 정수가 0인지 여부를 결정합니다. 그렇다면 결과에 문자열 값 '0'이 제공됩니다. 대답이 맞다면. 그렇지 않고 첫 번째 조건이 거짓이면 두 번째 조건(정수 > 0)이 검사됩니다.

예, 제공된 정수는 스크립트에 표시된 대로 0입니다. 출력은 '정수는 0입니다'를 생성합니다.

결론

우리는 조건 연산자가 삼항 연산자라는 것을 알고 있습니다. 이 교환원의 도움으로 조건을 확인하고 그에 따라 조치를 취할 수 있습니다. 삼항 연산자 대신 if-else 조건을 사용하여 동일한 작업을 수행할 수 있습니다. 이 C++ 자습서에서는 구문 및 예제 프로그램을 통해 삼항 연산자를 사용하는 방법을 알려줍니다. 삼항 연산자는 최종 문장이 간결한 경우에만 사용해야 합니다.