C 기본 문법 – 연산자 – 1 – 관계 연산자

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)**를 통해
더 복잡한 조건 판단을 구현하는 방법을 배워보겠습니다 😊

그럼 오늘도 수고 많으셨고, 다음 시간에 또 만나요!
감사합니다 💻✨

답글 남기기