프로그래밍에서 "이 값이 크다", "같다", "작다"처럼 두 값을 비교하는 작업은 매우 자주 사용됩니다.
예를 들어 나이가 20세 이상인지 확인하거나, 점수가 90점 이상인지 판단하는 조건문을 만들려면 관계 연산자가 필요하죠.
이번 글에서는 C언어의 **관계 연산자(Relational Operators)**에 대해 알아보고, 각각의 의미와 사용법을 간단한 예제와 함께 정리해보겠습니다.
● 관계 연산자란?
관계 연산자는 두 값을 비교하여 참(1) 또는 거짓(0) 중 하나의 값을 반환하는 연산자입니다.
즉, 어떤 조건이 맞는지 아닌지 판단하는 데 쓰이며, 조건문(if문 등)의 핵심 요소가 됩니다.
● 관계 연산자의 종류
연산자 | 의미 | 예시 | 코드결과 |
== | 같다 | a == b | a와 b가 같으면 1, 아니면 0 |
!= | 같지 않다 | a != b | a와 b가 다르면 1 |
> | 크다 | a > b | a가 b보다 크면 1 |
< | 작다 | a < b | a가 b보다 작으면 1 |
>= | 크거나 같다 | a >= b | a가 b 이상이면 1 |
<= | 작거나 같다 | a <= b | a가 b 이하이면 1 |
● 사용 예제
int a = 10, b = 5;
printf("%d\n", a > b); // 출력: 1
printf("%d\n", a < b); // 출력: 0
printf("%d\n", a == b); // 출력: 0
printf("%d\n", a != b); // 출력: 1
관계 연산자는 **비교 결과를 1(참), 0(거짓)**으로 반환하기 때문에 printf로 출력하면 숫자로 확인할 수 있어요.
● 관계 연산자는 주로 어디서 쓰일까?
관계 연산자는 단독으로도 쓸 수 있지만, 조건문이나 반복문과 함께 쓰일 때 가장 빛을 발합니다.
int age = 20;
if (age >= 18) {
printf("성인입니다.\n");
}
이런 식으로 특정 조건을 기준으로 프로그램의 흐름을 제어할 수 있게 해줍니다.
● 주의할 점
- ==와 =는 완전히 다릅니다!
- ==는 관계 연산자 (같은지 비교)
- =는 대입 연산자 (값을 저장)
if (a = b) // ← 의도와 다르게 항상 b의 값을 조건으로 사용함 (주의!)
- 관계 연산의 결과는 int형 0 또는 1입니다.
- true, false 키워드를 쓰는 다른 언어와 달리, C언어는 0=거짓, 1=참의 정수로 처리합니다.
- 실수형 비교 시 오차에 주의하세요
float a = 0.1 + 0.2;
if (a == 0.3) // → 거짓일 수 있음 (부동소수점 오차)
관계 연산자는 프로그램이 조건에 따라 판단하고 행동하게 만드는 핵심 요소입니다.
==, !=, <, >, <=, >= 이 여섯 가지 기호만 정확히 기억하고, 비교 결과가 참이면 1, 거짓이면 0이라는 구조만 익히면 어렵지 않아요.
실습 문제
아래 문제는 직접 코드를 작성해보고, 실행 결과를 확인한 후 스스로 정답을 유추해보는 형태입니다.
정답은 바로 아래에서 확인할 수 있습니다.
문제 1
정수형 변수 a = 7, b = 10이 있을 때, a < b의 결과를 출력하는 코드를 작성하세요.
문제 2
다음 코드의 출력 결과는 무엇일까요?
int x = 5;
int y = 5;
printf("%d\n", x == y);
문제 3
변수 score가 60 이상일 때 "합격"을 출력하는 조건문을 작성해보세요.
문제 4
다음 코드에서 잘못된 부분이 있다면 고쳐보세요.
int a = 3, b = 5;
if (a = b) {
printf("같다");
}
문제 5
아래 중 참(1)이 되는 비교를 모두 고르세요.
A. 4 > 2
B. 7 <= 6
C. 9 != 9
D. 5 == 5
▶ 정답 확인하기
정답 1
int a = 7, b = 10;
printf("%d\n", a < b); // 출력: 1
정답 2
출력 결과: 1
설명: 두 값이 같으므로 비교 결과는 참 → 1
정답 3
int score = 65;
if (score >= 60) {
printf("합격\n");
}
정답 4
// 잘못된 부분: = (대입) → == (비교)로 고쳐야 함
if (a == b) {
printf("같다");
}
정답 5
정답: A, D
- A: 4 > 2 → 참
- B: 7 <= 6 → 거짓
- C: 9 != 9 → 거짓
- D: 5 == 5 → 참
'프로그래밍언어 > C언어[초급]' 카테고리의 다른 글
[C언어][초급] Chapter19. 복합 대입 연산자 (+=, -=, *=, /=, %=) (0) | 2025.04.16 |
---|---|
[C언어][초급] Chapter18. 논리 연산자 – 여러 조건을 한 번에 판단하는 방법 (0) | 2025.04.16 |
[C언어][초급] Chapter16. 대입 연산자 – 값을 저장하는 가장 기본적인 연산 (0) | 2025.04.16 |
[C언어][초급] Chapter15. 산술 연산자 – 사칙연산을 코드로 표현해보자 (0) | 2025.04.16 |
[C언어][초급] Chapter14. 형 변환 (암시적, 명시적) – 자료형을 바꾸는 방법 (0) | 2025.04.16 |