Operators in C | Set 1 (Arithmetic Operators)

Operators are the foundation of any programming language. Thus the functionality of C language is incomplete without the use of operators. Operators allow us to perform different kinds of operations on operands. In C, operators in Can be categorized in following categories:

  • Arithmetic Operators (+, -, *, /, %, post-increment, pre-increment, post-decrement, pre-decrement)
  • Relational Operators (==, !=, >, <, >= & <=) Logical Operators (&&, || and !)
  • Bitwise Operators (&, |, ^, ~, >> and <<)
  • Assignment Operators (=, +=, -=, *=, etc)
  • Other Operators (conditional, comma, sizeof, address, redirecton)

Arithmetic Operators: These are used to perform arithmetic/mathematical operations on operands. The binary operators falling in this category are:



    • Addition: The ‘+’ operator adds two operands. For example, x+y.
    • Subtraction: The ‘-‘ operator subtracts two operands. For example, x-y.
    • Multiplication: The ‘*’ operator multiplies two operands. For example, x*y.
    • Division: The ‘/’ operator divides the first operand by the second. For example, x/y.
    • Modulus: The ‘%’ operator returns the remainder when first operand is divided by the second. For example, x%y.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to demonstrate working of binary arithmetic operators
#include <stdio.h>
  
int main()
{
    int a = 10, b = 4, res;
  
    // printing a and b
    printf("a is %d and b is %d\n", a, b);
  
    res = a + b; // addition
    printf("a+b is %d\n", res);
  
    res = a - b; // subtraction
    printf("a-b is %d\n", res);
  
    res = a * b; // multiplication
    printf("a*b is %d\n", res);
  
    res = a / b; // division
    printf("a/b is %d\n", res);
  
    res = a % b; // modulus
    printf("a%b is %d\n", res);
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main() {
    int a = 10, b = 4, res; 
  
    // printing a and b 
    cout<<"a is "<<a<<" and b is "<<b<<"\n"
  
    // addition
    res = a + b;  
    cout << "a+b is: "<< res << "\n"
  
    // subtraction
    res = a - b;  
    cout << "a-b is: "<< res << "\n"
      
    // multiplication
    res = a * b;  
    cout << "a*b is: "<< res << "\n"
      
    // division 
    res = a / b; 
    cout << "a/b is: "<< res << "\n"
      
    // modulus 
    res = a % b; 
    cout << "a%b is: "<< res << "\n"
  
    return 0;
}

chevron_right



Output:

a is 10 and b is: 4
a+b is: 14
a-b is: 6
a*b is: 40
a/b is: 2
a%b is: 2

The ones falling into the category of unary arithmetic operators are:

  • Increment: The ‘++’ operator is used to increment the value of an integer. When placed before the variable name (also called pre-increment operator), its value is incremented instantly. For example, ++x.
    And when it is placed after the variable name (also called post-increment operator), its value is preserved temporarily until the execution of this statement and it gets updated before the execution of the next statement. For example, x++.
  • Decrement: The ‘ – – ‘ operator is used to decrement the value of an integer. When placed before the variable name (also called pre-decrement operator), its value is decremented instantly. For example, – – x.
    And when it is placed after the variable name (also called post-decrement operator), its value is preserved temporarily until the execution of this statement and it gets updated before the execution of the next statement. For example, x – –.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to demonstrate working of Unary arithmetic operators
#include <stdio.h>
  
int main()
{
    int a = 10, b = 4, res;
  
    // post-increment example:
    // res is assigned 10 only, a is not updated yet
    res = a++;
    printf("a is %d and res is %d\n", a, res); // a becomes 11 now
  
    // post-decrement example:
    // res is assigned 11 only, a is not updated yet
    res = a--;
    printf("a is %d and res is %d\n", a, res); // a becomes 10 now
  
    // pre-increment example:
    // res is assigned 11 now since a is updated here itself
    res = ++a;
    // a and res have same values = 11
    printf("a is %d and res is %d\n", a, res);
  
    // pre-decrement example:
    // res is assigned 10 only since a is updated here itself
    res = --a;
    // a and res have same values = 10
    printf("a is %d and res is %d\n", a, res);
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main() {
    int a = 10, b = 4, res;
  
    // post-increment example:
    // res is assigned 10 only, a is not updated yet
    res = a++;
    // a becomes 11 now
    cout << "a is "<<a<<" and res is "<<res<< "\n"
  
    // post-decrement example:
    // res is assigned 11 only, a is not updated yet
    res = a--;
    // a becomes 10 now
    cout << "a is "<<a<<" and res is "<<res<< "\n";
  
    // pre-increment example:
    // res is assigned 11 now since a is updated here itself
    res = ++a;
    // a and res have same values = 11
    cout << "a is "<<a<<" and res is "<<res<< "\n";
  
    // pre-decrement example:
    // res is assigned 10 only since a is updated here itself
    res = --a;
    // a and res have same values = 10
    cout << "a is "<<a<<" and res is "<<res<< "\n";
  
    return 0;
}

chevron_right



Output:

a is 11 and res is 10
a is 10 and res is 11
a is 11 and res is 11
a is 10 and res is 10

We will soon be discussing other categories of operators in different posts.

To know about Operator Precedence and Associativity, refer this link:

Quiz on Operators in C

This article is contributed by Ayush Jaggi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details




My Personal Notes arrow_drop_up

Improved By : sirraghavgupta

Article Tags :
Practice Tags :


26


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.