0% found this document useful (0 votes)
33 views

Arithmetic Operators: Operator

An operator is a symbol that performs mathematical or logical operations on operands. C++ supports various types of operators including arithmetic, relational, logical, bitwise, and assignment operators. Operators have precedence that determines the order of operations in an expression. For example, multiplication has higher precedence than addition, so an expression like 7 + 3 * 2 equals 13, not 20.

Uploaded by

Alhaji
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Arithmetic Operators: Operator

An operator is a symbol that performs mathematical or logical operations on operands. C++ supports various types of operators including arithmetic, relational, logical, bitwise, and assignment operators. Operators have precedence that determines the order of operations in an expression. For example, multiplication has higher precedence than addition, so an expression like 7 + 3 * 2 equals 13, not 20.

Uploaded by

Alhaji
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

OPERATOR

An operator is a symbol that tells the compiler to perform specific


mathematical or logical manipulations. C++ is rich in built-in operators and
provide the following types of operators −

 Arithmetic Operators

 Relational Operators

 Logical Operators

 Bitwise Operators

 Assignment Operators

 Misc Operators

This chapter will examine the arithmetic, relational, logical, bitwise,


assignment and other operators one by one.

Arithmetic Operators
There are following arithmetic operators supported by C++ language −

Assume variable A holds 10 and variable B holds 20, then −

Show Examples

Operato Description Example


r

+ Adds two operands A + B will give 30

- Subtracts second operand from A - B will give -10


the first

* Multiplies both operands A * B will give 200

/ Divides numerator by de- B / A will give 2


numerator

% Modulus Operator and remainder B % A will give 0


of after an integer division

++ Increment operator, increases A++ will give 11


integer value by one

-- Decrement operator, decreases A-- will give 9


integer value by one

Relational Operators
There are following relational operators supported by C++ language

Assume variable A holds 10 and variable B holds 20, then −

Show Examples

Operato Description Example


r

== Checks if the values of two (A == B) is not true.


operands are equal or not, if yes
then condition becomes true.

!= Checks if the values of two (A != B) is true.


operands are equal or not, if
values are not equal then
condition becomes true.

> Checks if the value of left operand (A > B) is not true.


is greater than the value of right
operand, if yes then condition
becomes true.

< Checks if the value of left operand (A < B) is true.


is less than the value of right
operand, if yes then condition
becomes true.

>= Checks if the value of left operand (A >= B) is not true.


is greater than or equal to the
value of right operand, if yes then
condition becomes true.

<= Checks if the value of left operand (A <= B) is true.


is less than or equal to the value
of right operand, if yes then
condition becomes true.

Logical Operators
There are following logical operators supported by C++ language.

Assume variable A holds 1 and variable B holds 0, then −

Show Examples

Operato Description Example


r

&& Called Logical AND operator. If (A && B) is false.


both the operands are non-zero,
then condition becomes true.

|| Called Logical OR Operator. If any (A || B) is true.


of the two operands is non-zero,
then condition becomes true.

! Called Logical NOT Operator. Use !(A && B) is true.


to reverses the logical state of its
operand. If a condition is true,
then Logical NOT operator will
make false.

Bitwise Operators
Bitwise operator works on bits and perform bit-by-bit operation. The truth
tables for &, |, and ^ are as follows −

p q p&q p|q p^q


0 0 0 0 0

0 1 0 1 1

1 1 1 1 0

1 0 0 1 1

Assume if A = 60; and B = 13; now in binary format they will be as follows

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011

The Bitwise operators supported by C++ language are listed in the following
table. Assume variable A holds 60 and variable B holds 13, then −

Show Examples

Operato Description Example


r

& Binary AND Operator copies a bit


(A & B) will give 12 which is 0000
to the result if it exists in both
1100
operands.

| Binary OR Operator copies a bit if (A | B) will give 61 which is 0011


it exists in either operand. 1101
^ Binary XOR Operator copies the
(A ^ B) will give 49 which is 0011
bit if it is set in one operand but
0001
not both.

~ Binary Ones Complement (~A ) will give -61 which is 1100


Operator is unary and has the 0011 in 2's complement form due
effect of 'flipping' bits. to a signed binary number.

<< Binary Left Shift Operator. The


left operands value is moved left A << 2 will give 240 which is
by the number of bits specified by 1111 0000
the right operand.

>> Binary Right Shift Operator. The


left operands value is moved right A >> 2 will give 15 which is 0000
by the number of bits specified by 1111
the right operand.

Assignment Operators
There are following assignment operators supported by C++ language −

Show Examples

Operato Description Example


r

= Simple assignment operator,


C = A + B will assign value of A
Assigns values from right side
+ B into C
operands to left side operand.

+= Add AND assignment operator, It


adds right operand to the left C += A is equivalent to C = C
operand and assign the result to left +A
operand.

-= Subtract AND assignment operator,


It subtracts right operand from the C -= A is equivalent to C = C -
left operand and assign the result to A
left operand.
*= Multiply AND assignment operator,
It multiplies right operand with the C *= A is equivalent to C = C *
left operand and assign the result to A
left operand.

/= Divide AND assignment operator, It


divides left operand with the right C /= A is equivalent to C = C /
operand and assign the result to left A
operand.

%= Modulus AND assignment operator,


It takes modulus using two C %= A is equivalent to C = C
operands and assign the result to %A
left operand.

<<= Left shift AND assignment operator. C <<= 2 is same as C = C <<


2

>>= Right shift AND assignment C >>= 2 is same as C = C >>


operator. 2

&= Bitwise AND assignment operator. C &= 2 is same as C = C & 2

^= Bitwise exclusive OR and


C ^= 2 is same as C = C ^ 2
assignment operator.

|= Bitwise inclusive OR and assignment


C |= 2 is same as C = C | 2
operator.

Misc Operators
The following table lists some other operators that C++ supports.

Sr.No Operator & Description

1
sizeof
sizeof operator returns the size of a variable. For example, sizeof(a),
where ‘a’ is integer, and will return 4.

2 Condition ? X : Y

Conditional operator (?). If Condition is true then it returns value of X


otherwise returns value of Y.

3
,

Comma operator causes a sequence of operations to be performed. The


value of the entire comma expression is the value of the last expression
of the comma-separated list.

4 . (dot) and -> (arrow)

Member operators are used to reference individual members of classes,


structures, and unions.

5
Cast

Casting operators convert one data type to another. For example,


int(2.2000) would return 2.

6 &

Pointer operator & returns the address of a variable. For example &a;


will give actual address of the variable.

7
*

Pointer operator * is pointer to a variable. For example *var; will


pointer to a variable var.
Operators Precedence in C++
Operator precedence determines the grouping of terms in an expression.
This affects how an expression is evaluated. Certain operators have higher
precedence than others; for example, the multiplication operator has higher
precedence than the addition operator −

For example x = 7 + 3 * 2; here, x is assigned 13, not 20 because operator


* has higher precedence than +, so it first gets multiplied with 3*2 and
then adds into 7.

Here, operators with the highest precedence appear at the top of the table,
those with the lowest appear at the bottom. Within an expression, higher
precedence operators will be evaluated first.

Show Examples

Category  Operator  Associativity 

Postfix  () [] -> . ++ - -   Left to right 

Unary  + - ! ~ ++ - - (type)* & sizeof  Right to left 

Multiplicative   * / %  Left to right 

Additive   + -  Left to right 

Shift   << >>  Left to right 

Relational   < <= > >=  Left to right 

Equality   == !=  Left to right 

Bitwise AND  &  Left to right 

Bitwise XOR  ^  Left to right 


Bitwise OR  |  Left to right 

Logical AND  &&  Left to right 

Logical OR  ||  Left to right 

Conditional  ?:  Right to left 

Assignment  = += -= *= /= %=>>= <<= &= ^= |=  Right to left 

Comma  ,  Left to right

LOOPS
Loops in programming comes into use when we need to repeatedly execute a block of
statements.

C++ programming language provides the following type of loops to handle


looping requirements.

Sr.No Loop Type & Description

1 while loop

Repeats a statement or group of statements while a given condition is


true. It tests the condition before executing the loop body.

2 for loop
Execute a sequence of statements multiple times and abbreviates the
code that manages the loop variable.

3 do...while loop

Like a ‘while’ statement, except that it tests the condition at the end of
the loop body.

4 nested loops

You can use one or more loop inside any another ‘while’, ‘for’ or
‘do..while’ loop.

Loop Control Statements


Loop control statements change execution from its normal sequence. When
execution leaves a scope, all automatic objects that were created in that
scope are destroyed.

C++ supports the following control statements.

Sr.No Control Statement & Description

1 break statement

Terminates the loop or switch statement and transfers execution to the


statement immediately following the loop or switch.

2 continue statement

Causes the loop to skip the remainder of its body and immediately retest
its condition prior to reiterating.

3 goto statement

Transfers control to the labeled statement. Though it is not advised to


use goto statement in your program.

The Infinite Loop


A loop becomes infinite loop if a condition never becomes false.
The for loop is traditionally used for this purpose. Since none of the three
expressions that form the ‘for’ loop are required, you can make an endless
loop by leaving the conditional expression empty.

#include <iostream>

using namespace std;

int main () {

for( ; ; ) {

printf("This loop will run forever.\n");

return 0;

When the conditional expression is absent, it is assumed to be true. You


may have an initialization and increment expression, but C++ programmers
more commonly use the ‘for (;;)’ construct to signify an infinite loop.

NOTE − You can terminate an infinite loop by pressing Ctrl + C keys.

You might also like