C 기본 문법 – 연산자 – 1편: 관계 연산자 완전 정복
안녕하세요, C 언어를 열심히 탐험 중인 여러분 😊
지난 시간에는 숫자를 더하고 빼고 나누는 산술 연산자에 대해 배웠죠?
이번 시간엔 조건을 따질 수 있는 **관계 연산자(Relational Operator)**를 배워볼 차례입니다!
프로그래밍에서 단순히 값을 계산하는 것보다 더 중요한 건
조건에 따라 흐름을 제어하는 것이에요.
“이 값이 맞을까?”, “저 값보다 클까?”, “두 값이 같을까?” 이런 질문을 프로그램에 던질 수 있게 해주는 도구가 바로 관계 연산자입니다.
그럼 지금부터 예시와 함께 차근차근 배워볼게요! 😊
관계 연산자란?
두 개의 값을 비교해서 그 결과가 **참(true)**인지 **거짓(false)**인지 알려주는 연산자입니다.
결과는 항상 1 (참) 또는 **0 (거짓)**으로 나타납니다.
🎯 비유하자면,
관계 연산자는 질문을 던지는 도구예요.
“이 두 값이 같은가요?”, “이쪽이 더 큰가요?”
→ 컴퓨터는 1 아니면 0으로 대답해줘요!
관계 연산자 종류
연산자 | 의미 | 예시 | 설명 |
---|---|---|---|
== |
같다 | a == b |
두 값이 같으면 참 |
!= |
같지 않다 | a != b |
두 값이 다르면 참 |
> |
크다 | a > b |
a가 b보다 크면 참 |
< |
작다 | a < b |
a가 b보다 작으면 참 |
>= |
크거나 같다 | a >= b |
a가 b보다 크거나 같으면 참 |
<= |
작거나 같다 | a <= b |
a가 b보다 작거나 같으면 참 |
간단한 예제 코드
#include <stdio.h>
int main() {
int a = 5, b = 3;
printf("a == b: %d
", a == b); // 0
printf("a != b: %d
", a != b); // 1
printf("a > b: %d
", a > b); // 1
printf("a < b: %d
", a < b); // 0
printf("a >= b: %d
", a >= b); // 1
printf("a <= b: %d
", a <= b); // 0
return 0;
}
출력 결과:
a == b: 0
a != b: 1
a > b: 1
a < b: 0
a >= b: 1
a <= b: 0
💡 관계 연산의 결과는 항상 정수형이며, 참이면
1
, 거짓이면0
입니다!
조건문에서의 활용
관계 연산자는 **조건문(if)**이나 **반복문(while, for)**에서 핵심적으로 사용됩니다.
예제: 나이 검사
int age = 20;
if (age >= 18) {
printf("성인입니다.
");
} else {
printf("미성년자입니다.
");
}
실수형에서도 사용 가능할까?
Yes! 관계 연산자는 정수형뿐만 아니라 실수형(float, double)에도 사용할 수 있어요.
float temp = 36.5;
if (temp != 37.0) {
printf("정상 체온이 아닙니다.
");
}
단, 실수 비교는 오차 때문에 주의가 필요해요! 완벽한 비교보다는 오차 범위 비교를 권장합니다.
비교 연산자 vs 대입 연산자 주의!
기호 | 의미 | 예시 |
---|---|---|
== |
같다 (비교) | if (x == 5) |
= |
대입 | x = 5 |
❗ 주의:
x = 5
는 값을 넣는 것,
x == 5
는 같은지를 비교하는 것입니다.
실수로=
하나만 쓰면 의도하지 않은 결과가 나올 수 있어요!
조건을 조합해서 쓰는 방법 (미리보기)
관계 연산자끼리 논리 연산자와 함께 쓰면 더 복잡한 조건도 표현할 수 있어요.
if (age >= 18 && age <= 65) {
printf("근로 연령대입니다.
");
}
&&
: 그리고(and)||
: 또는(or)!
: 부정(not)
이 부분은 다음 편인 논리 연산자에서 자세히 배울 거예요!
관계 연산자를 활용한 실전 예제
홀짝 판별
int number = 7;
if (number % 2 == 0) {
printf("짝수입니다.
");
} else {
printf("홀수입니다.
");
}
최대값 찾기
int a = 10, b = 20;
if (a > b) {
printf("a가 더 큽니다.
");
} else {
printf("b가 더 큽니다.
");
}
✅ 관계 연산자 정리표
연산자 | 의미 | 예시 | 결과 |
---|---|---|---|
== |
같다 | a == b |
같으면 1 |
!= |
다르다 | a != b |
다르면 1 |
> |
크다 | a > b |
a가 b보다 크면 1 |
< |
작다 | a < b |
a가 b보다 작으면 1 |
>= |
크거나 같다 | a >= b |
참이면 1 |
<= |
작거나 같다 | a <= b |
참이면 1 |
⚠️ 관계 연산자 사용 시 주의할 점
주의사항 | 설명 |
---|---|
= 와 == 혼동 금지 |
의도치 않은 대입이 발생할 수 있어요 |
실수 비교는 오차 주의 | float == float 은 안전하지 않을 수 있어요 |
조건문의 결과는 항상 1 또는 0 |
참/거짓을 명확히 표현합니다 |
괄호로 조건 그룹핑 권장 | 복잡한 조건은 괄호로 묶어 가독성을 높이세요 |
자료형 다르면 형 변환 주의 | int == float 은 자동 변환되지만 오차 가능성 있음 |
마무리하며 💬
관계 연산자는 C 언어에서 조건을 판단하는 핵심 도구입니다!
“값이 크다”, “같다”, “다르다” 같은 비교는 모든 조건문, 반복문의 기초가 되죠.
오늘 배운 관계 연산자만 잘 활용해도 똑똑한 프로그램을 만들 수 있는 힘을 얻게 될 거예요!
다음 편에서는 **논리 연산자(AND, OR, NOT)**를 통해
더 복잡한 조건 판단을 구현하는 방법을 배워보겠습니다 😊
그럼 오늘도 수고 많으셨고, 다음 시간에 또 만나요!
감사합니다 💻✨