Bird
Raised Fist0
Cprogramming~5 mins

Relational operators in C

Choose your learning style10 modes available
Introduction
Relational operators help us compare two values to see how they relate, like if one is bigger, smaller, or equal to the other.
Checking if a number is greater than another to decide what to do next.
Comparing ages to see who is older.
Finding out if two values are equal before continuing a task.
Deciding if a score is high enough to pass a test.
Stopping a loop when a condition is no longer true.
Syntax
C
expression1 operator expression2
expression1 and expression2 are values or variables you want to compare.
operator can be one of: ==, !=, >, <, >=, <=.
Examples
Checks if a is equal to b.
C
if (a == b) { /* code */ }
Checks if x is not equal to y.
C
if (x != y) { /* code */ }
Checks if score is greater than or equal to 50.
C
if (score >= 50) { /* code */ }
Checks if age is less than 18.
C
if (age < 18) { /* code */ }
Sample Program
This program compares two numbers using relational operators and prints messages based on the comparisons.
C
#include <stdio.h>

int main() {
    int a = 10;
    int b = 20;

    if (a < b) {
        printf("a is less than b\n");
    }

    if (a != b) {
        printf("a is not equal to b\n");
    }

    if (b >= 20) {
        printf("b is greater than or equal to 20\n");
    }

    if (a == 10) {
        printf("a is equal to 10\n");
    }

    return 0;
}
OutputSuccess
Important Notes
Relational operators always return 1 (true) or 0 (false) in C.
Use double equals (==) to check equality, not a single equals (=) which is for assignment.
Be careful with operator precedence when combining multiple conditions.
Summary
Relational operators compare two values and return true or false.
They are useful for making decisions in your program.
Common operators include ==, !=, >, <, >=, and <=.

Practice

(1/5)
1. Which of the following relational operators in C checks if two values are equal?
easy
A. !=
B. ==
C. =
D. >

Solution

  1. Step 1: Understand the purpose of each operator

    The operator == is used to compare two values for equality. The single = is an assignment operator, != checks inequality, and > checks if left is greater than right.
  2. Step 2: Identify the equality operator

    Since == compares two values for equality, it is the correct relational operator for this purpose.
  3. Final Answer:

    == -> Option B
  4. Quick Check:

    Equality check = == [OK]
Hint: Equality uses double equals ==, not single = [OK]
Common Mistakes:
  • Confusing = (assignment) with == (equality)
  • Using != instead of ==
  • Using > instead of ==
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in C?
easy
A. a !== b
B. a <> b
C. a =! b
D. a != b

Solution

  1. Step 1: Recall the correct not equal operator in C

    In C, the operator for not equal is !=. Other options like <> or !== are not valid in C.
  2. Step 2: Verify the syntax correctness

    The expression a != b correctly compares if a is not equal to b.
  3. Final Answer:

    a != b -> Option D
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Use != for not equal in C, not <> or !== [OK]
Common Mistakes:
  • Using <> which is invalid in C
  • Writing =! instead of !=
  • Using !== which is from other languages
3. What will be the output of the following C code?
int a = 5, b = 10;
if (a > b) {
    printf("True\n");
} else {
    printf("False\n");
}
medium
A. True
B. 5
C. False
D. 10

Solution

  1. Step 1: Evaluate the relational expression a > b

    Variable a is 5 and b is 10. Since 5 is not greater than 10, the expression a > b is false.
  2. Step 2: Determine which branch executes

    Because the condition is false, the else block runs, printing "False".
  3. Final Answer:

    False -> Option C
  4. Quick Check:

    5 > 10 = false [OK]
Hint: Compare values carefully; 5 > 10 is false [OK]
Common Mistakes:
  • Assuming 5 > 10 is true
  • Confusing else and if blocks
  • Ignoring relational operator meaning
4. Identify the error in the following C code snippet:
int x = 7, y = 3;
if (x =< y) {
    printf("x is less or equal to y\n");
}
medium
A. Using =< instead of <=
B. Missing semicolon after if condition
C. Using assignment operator inside if
D. Incorrect printf syntax

Solution

  1. Step 1: Check the relational operator syntax

    The operator =< is invalid in C. The correct operator for less than or equal is <=.
  2. Step 2: Confirm other syntax correctness

    The semicolon after if condition is not needed, assignment operator is not used here, and printf syntax is correct.
  3. Final Answer:

    Using =< instead of <= -> Option A
  4. Quick Check:

    Less or equal operator is <=, not =< [OK]
Hint: Remember <= for less or equal, not =< [OK]
Common Mistakes:
  • Swapping <= to =<
  • Adding semicolon after if condition
  • Confusing assignment = with comparison ==
5. Given the code below, what will be the output?
int a = 4, b = 4, c = 5;
if (a == b && b < c) {
    printf("Yes\n");
} else {
    printf("No\n");
}

Choose the correct output considering relational operators combined with logical operators.
hard
A. Yes
B. No
C. 4
D. Syntax Error

Solution

  1. Step 1: Evaluate the first condition a == b

    Both a and b are 4, so a == b is true.
  2. Step 2: Evaluate the second condition b < c

    b is 4 and c is 5, so b < c is true.
  3. Step 3: Combine conditions with logical AND

    Both conditions are true, so the combined condition is true, executing the if block.
  4. Final Answer:

    Yes -> Option A
  5. Quick Check:

    (4 == 4) && (4 < 5) = true [OK]
Hint: Both conditions must be true for && to print Yes [OK]
Common Mistakes:
  • Ignoring logical AND meaning
  • Mixing up == and =
  • Assuming false when both conditions true
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard