Understanding Operators in C


Introduction

Operators in C are symbols or special keywords that are used to perform operations on variables and values. They are essential for performing mathematical, logical, and other operations in C programming. In this tutorial, we will explore various types of operators in C and how to use them effectively.


Arithmetic Operators

C supports a range of arithmetic operators for basic mathematical operations:

  • Addition (+): Adds two values together, e.g.,
    int sum = 5 + 3;
  • Subtraction (-): Subtracts the second value from the first, e.g.,
    int difference = 10 - 7;
  • Multiplication (*): Multiplies two values, e.g.,
    int product = 4 * 6;
  • Division (/): Divides the first value by the second, e.g.,
    float result = 15.0 / 3.0;
  • Modulus (%): Computes the remainder of division, e.g.,
    int remainder = 10 % 3;

Relational Operators

Relational operators are used to compare values and return a Boolean result (

true
or
false
):

  • Equal to (==): Checks if two values are equal, e.g.,
    int isEqual = (5 == 5);
  • Not equal to (!=): Checks if two values are not equal, e.g.,
    int isNotEqual = (3 != 7);
  • Greater than (>): Checks if the first value is greater than the second, e.g.,
    int isGreaterThan = (8 > 3);
  • Less than (<): Checks if the first value is less than the second, e.g.,
    int isLessThan = (2 < 6);
  • Greater than or equal to (>=): Checks if the first value is greater than or equal to the second, e.g.,
    int isGreaterOrEqual = (10 >= 10);
  • Less than or equal to (<=): Checks if the first value is less than or equal to the second, e.g.,
    int isLessOrEqual = (4 <= 5);

Logical Operators

Logical operators are used for combining and manipulating Boolean values:

  • Logical AND (&&): Returns
    true
    if both conditions are
    true
    , e.g.,
    int isTrue = (5 < 10 && 3 > 2);
  • Logical OR (||): Returns
    true
    if at least one condition is
    true
    , e.g.,
    int isTrue = (5 < 10 || 3 < 2);
  • Logical NOT (!): Negates a Boolean value, e.g.,
    int isFalse = !(5 == 5);

Assignment Operators

Assignment operators are used to assign values to variables:

  • Assignment (=): Assigns the value on the right to the variable on the left, e.g.,
    int x = 5;
  • Increment (+=): Adds the right value to the variable, e.g.,
    x += 3;
    is equivalent to
    x = x + 3;
  • Decrement (-=): Subtracts the right value from the variable, e.g.,
    x -= 2;
    is equivalent to
    x = x - 2;
  • Multiplication (*=): Multiplies the variable by the right value, e.g.,
    x *= 4;
    is equivalent to
    x = x * 4;
  • Division (/=): Divides the variable by the right value, e.g.,
    x /= 2;
    is equivalent to
    x = x / 2;

Bitwise Operators

Bitwise operators work at the bit level and are used for low-level operations:

  • Bitwise AND (&): Performs a bitwise AND operation, e.g.,
    int result = 5 & 3;
  • Bitwise OR (|): Performs a bitwise OR operation, e.g.,
    int result = 5 | 3;
  • Bitwise XOR (^): Performs a bitwise XOR (exclusive OR) operation, e.g.,
    int result = 5 ^ 3;
  • Bitwise NOT (~): Performs a bitwise NOT (complement) operation, e.g.,
    int result = ~5;
  • Left Shift (<<): Shifts bits to the left, e.g.,
    int result = 5 << 2;
  • Right Shift (>>): Shifts bits to the right, e.g.,
    int result = 5 >> 1;

Conditional (Ternary) Operator

The conditional operator allows you to create a shorthand if-else statement:

int age = 20;
char* status = (age >= 18) ? "Adult" : "Minor";

In this example,

status
will be assigned "Adult" if
age
is greater than or equal to 18, and "Minor" otherwise.


Conclusion

Operators in C are essential for performing various operations, from basic arithmetic to complex logical and bitwise manipulations. You've learned about different types of operators and how to use them effectively in C programs. As you continue your journey, a solid understanding of operators will be crucial in writing efficient and functional C code.