C언어 조건 수식 연산자

지환·2021년 12월 29일
0

C언어

목록 보기
5/37
post-thumbnail

조건 수식 연산자

  • 조건 수식 연산자(Conditional-expression Operator)는 if~else~ 조건문과 비슷한 형태를 가지는 연산 수식이다.
  • 하지만 조건문과 다른점은 조건 수식 연산자는 연산자이기 때문에 명령을 처리하고 나면 결과 값을 반환하는 형태로 되어 있다.
  • 즉 조건 수식의 결과 값이 참이면, 수식1의 결과 값을 사용하고 거짓이면 수식2의 결과 값을 사용한다.

<형태>

  • 조건 수식 연산자와 if ~else~ 조건문과 다른 점은 조건 수식의 결과 값이
  • 참이 되면 '결과 값 = 수식1'이 되고 거짓이 되면 '결과 값 = 수식2'가 된다.
  • 단순히 수식만 연산하는 것이 아니라 그 연산의 결과 값을 최종 반환하는 형태로 되어 있다.

조건 수식 연산자와 if~else~조건문이 비슷하기 때문에 두 문법이 어떻게 적용되는지 비교하겠다.

int value = 50000;
double point; 

위와 같이, value 변수와 double형으로 선언한 point 변수가 있다고 가정하겠다.

value 값이 10000 이상이면 value 값에 0.1을 곱해서 point에 저장하고 value 값이 10000보다 작으면 value 값에 0.05를 곱해서 point에 저장하는 코드를 if~else~문으로 구성해 보면 오른쪽과 같다.

if(value >= 10000) point =value * 0.1;
else point = value * 0.05;

이 코드를 조건 수식 연산자를 사용해서 적용하면 이와 같이 된다.

point = (value >= 10000) ? value * 0.1 : value * 0.05;

조건 수식 연산자를 활용하는 다른 예제를 보자. data가 5보다 크면 1를 반환하고 data가 5보다 작거나 같으면 0을 반환하는 코드를 if~else~문으로 구성해 보면 다음과 같다.

if(data > 5) return 1; //data가 5보다 크면 1를 반환
else return 0; // data가 5보다 작거나 같으면 0을 반환.
  • 위 코드를 조건 수식 연산자를 사용해서 적어 보면 오른쪽과 같다. 즉, 조건 수식 연산자는 조건을 가지면서도 반환하는 특성이 있다.

조건 수식 연산자를 살펴봤다. 다음엔 중첩된 if조건문을 알아보자.

<출처 : DO IT C언어 - 김성엽>

profile
아는만큼보인다.

0개의 댓글