비교연산자는 if문 뿐만아니라 while,do while, for 반복문에서 조건식을 표현할 때도 쓰인다.
종류: <, <=, >, >=, ==, != 이 있다.
삼항연산자를 알기전에 종류에 대해 알아보자
값이 하나만 필요한 연산자로
ex) +a, -a
++a, --a
연산에 두 개의 값이 필요하며 사칙연산이 대표적이다.
ex) a + b
a - b
a x b
a / b
연산에 필요한 값이 세 개이다.
ex) x ? a : b
x는 조건식 a는 x가 참일때 반환, b는 x가 거짓일때 반환
삼항연산자는 참과 거짓을 가를때 한줄로 간편하게 사용할 수 있다.
int main()
{
int num1=10
int num2;
num2 = num1 ? 100 : 200;
printf("%d\n", num2);
}
>>> 100
삼항연산자의 기본 예제로서 ? 앞에 오는 변수의 값을 판단하여 100(참) : 200(거짓)을 num2 에 할당한다.
?의 앞자리에 변수가 왔지만 비교연산자를 사용하여 if문처럼 사용할 수 있다.
int main()
{
int num1 = 5;
int num2;
num2 = (num1 != 5) ? 100 : 200;
printf("%d\n", num2);
}
>>> 200
num2에 삼항연산자의 반환값을 할당하는데, num1이 5가 아니면 100을, 맞으면 200을 반환하는 코드이다.
조건식에 사용한 비교연산자가 !=이므로 'num1은 5가 아니다!'라는 명제에 대하여 참인지 거짓인지 구분한다.
위에 num1 선언할때 5로 초기화를 하였기 때문에 'num1은 5가 아니다!'에 대하여 거짓이므로 200을 할당한다.