본문 바로가기
프로그래밍/c언어 기초공부

[C언어 기초-11] 조건 연산자(conditional operator) 삼항 연산자

by 졸린이 2024. 8. 1.
반응형

조건 연산자

조건 연산자는 3개의 피 연산자를 필요로 하는 삼항 연산자이다.

조건 연산자의 일반적인 형식은

조건식 ? 연산식1 : 연삭식2;

 

조건 연산자는 조건수식이 먼저 수행되어 참(1)이면 연삭식1을 수행하고, 거짓(0)이면 연산식2를 수행한다.

ex)

a = 2 > 1? 3 : 5;

이를 풀어서 설명해 보면 2가 1보다 크다면~? 3이고 아니면 5이다. 뭐 약간 조건식이 이렇다면? 이거고 아니면 저거다 이런 뉘양스라서 ? : 이렇게 구분하는 것 같은 느낌적인 느낌

 

당연하지만 조건 연산자는 if 문으로 풀어서 작성할 수 있다.

if(2>1){
	a = 3;
} else {
	a = b;
}

 

이렇게 할 걸 한 줄로 요약할 수 있으니 간편하다.

 

예제)

키보드에서 입력된 데이터가 홀수이면 "ODD", 짝수이면 "EVEN"을 출력하는 프로그램을 조건연산자를 사용하여 작성

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
main() {
    int a;
    printf("input number : ");
    scanf("%d"&a);
 
    a % 2 ? printf("ODD") : printf("EVEN\n");
}
cs

보면 정수 a를 입력받고 홀수 인지 짝수인지 확인하는 건데  조건식에 a % 2만 적혀있다. 조건식이 참이면 1번 거짓이면 2번연산식을 수행한다고 했는데 어떤 수를 2로 나눴을 때 1이면 홀수 0이면 짝수이다. 즉 조건식에 참 거짓은 1, 0으로도 확인할 수 있다.

반응형

댓글