0% found this document useful (0 votes)
29 views30 pages

Programming Fundamentals: Operators in C++

The document discusses various operators in C++ including arithmetic, increment/decrement, relational, and logical operators. It explains that operators represent specific tasks or operations that are performed on operands. It provides examples of common arithmetic operators like addition, subtraction, multiplication, division, and modulus. It also discusses the differences between prefix and postfix versions of increment and decrement operators.

Uploaded by

Hash zee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views30 pages

Programming Fundamentals: Operators in C++

The document discusses various operators in C++ including arithmetic, increment/decrement, relational, and logical operators. It explains that operators represent specific tasks or operations that are performed on operands. It provides examples of common arithmetic operators like addition, subtraction, multiplication, division, and modulus. It also discusses the differences between prefix and postfix versions of increment and decrement operators.

Uploaded by

Hash zee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Programming Fundamentals

Operators in C++

2019-11-10
by

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
SHEHZAD LATIF
Assistant Professor,
Hajvery University – Lahore
Email: [email protected]

1
Operators
▪ The operations (specific task) are represented by operators and the objects of

2019-11-10
the operation(s) are referred to as operands.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
Operand a+b Operand

Addition
Operator
2
Operators

Of the rich set of operators C++ provides here we shall learn some. They are:--

2019-11-10
 Arithmetic operators

 Increment/decrement operators

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
 Relational operators

 Logical operators

 Conditional operators

 Some other operators

3
Arithmetic Operators
C++ provides operators for five (5) basic arithmetic operations :-

2019-11-10
 Addition (+)

 Subtraction (-)

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
 Multiplication (*)

 Division (/)

 Remainder (%)

4
Arithmetic Operators
NOTE: Each of these is a binary operator i.e., it requires two values to (operands)

2019-11-10
to calculate a final answer.

▪ But there are two unary arithmetic operators (that requires one operand or

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
value).

▪ Unary +

▪ Unary -

5
Unary +
▪ Operators that act on one operand are referred to as unary operators.

2019-11-10
▪ The operator unary ‘+’ precedes an operand. The operand (the value on which

the operator operates) of the unary + operator must have arithmetic or pointer

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
type and the result is the value of the argument.

▪ For ex:-

▪ If a=5 then +a means 5.

▪ If a=0then +a means 0.

▪ If a=-4 then +a means -4. 6


Unary -

The operator unary ‘–’ precedes an operand. The operand of an unary – operator

2019-11-10
must have arithmetic type and the result is the negation of its operand’s value.

For ex:-

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ If a=5 then -a means -5.

▪ If a=0then -a means 0 (there is no quantity known as –0).

▪ If a=-4 then a means 4.

▪ This operator reverses the sign of the operand’s value.


7
Addition & Subtraction Operators

Addition Operator Subtraction Operator


The arithmetic binary operator + adds The - operator subtracts the second

2019-11-10
values of its operands and the result is operand from first operand.
the sum of the values of its two

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
operands. For ex:-
14-3 results in 11.
For ex:- a-b(a=10, b=5) results in 5.
4+20 results in 24. The operands may be integer or float
a+5(a=2) results in 7. types.
a+b (a=4, b=6) results in 10.
Its operands may be integer or float
type. 8
Multiplication and Division Operator

Multiply Operator Divide Operator

2019-11-10
The * operator multiplies the values of The / operator divides its first operand
its operands. by the second.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
For ex :-- For ex:--
3*3results in 12. 100/5 evaluates to 20.
b*8 (b=2) results in 16. a/2 (a=16) evaluates to 8.
a*b (a=5, b=10) results in 50. a/b (a=125, b= 25) results in 5.
The operand may be integer or float The operands may be integer, float or
types. double types.

9
Modulus Operator
The % operator finds the modulus of the modulus of the first operand relative to

2019-11-10
the second. That is it produces remainder of dividing the first by the second

operand.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
For ex:--

▪ 19%6 results in1.

▪ Operands must be integer types.

10
Increment / Decrement Operators (++, --)

The C++ name itself is influenced by the increment operator ++. The operator ++
adds 1 to its operand , and –-, subtracts one.

2019-11-10
In other words,

▪ a=a+1; is same as ++a; or a++;

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
and

▪ a=a-1; is same as

▪ --a; or a--;

11
Increment/Decrement Operators (++, --)

Both the increment and decrement operators come in two versions viz.

2019-11-10
▪ Prefix version (++a , --a)

▪ Postfix version (a++, a--)

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
Though both of them have same effect on the operand, but they differ when they
take place in an expression.

12
Prefix Operator
▪ When an increment or decrement operator precedes an operand we refer to it

as prefix version.

2019-11-10
▪ When C++ encounters a prefix version it performs the increment/decrement

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
operation before using the value of the operand.

▪ Example

▪ int a = 10;

▪ int b = ++a;

▪ Result will be a =11, b=11 because a’s value will be incremented first and then 13
it will be assigned.
Postfix Operator
▪ When an increment/decrement operator follows its operand we refer to it as

postfix version (of the increment/decrement operator).

2019-11-10
▪ When C++ faces a postfix operator it uses its value first and then performs

increment/decrement operation upon the operand.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ Example

▪ int a = 10;

▪ int b = a++;

▪ Result will be a =10 and b=10 because a’s value will be incremented after 14
allocation and it will be assigned next time the variable a will be used.
Relational Operators
The operators which determine the relations among different operands.

C++ provides six different relational operators which works with numbers and

2019-11-10
characters but not with strings.

These relational operators are:--

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ < (less tan)

▪ <= (less than or equal to)

▪ == (equals to)

▪ > (greater than)

▪ >= (greater than or equal to)

▪ != (not equal to) 15


Kill Your Doubts

▪ You should never ever confuse between = and == operators. This is the most

2019-11-10
common mistake while working with relational operators.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ You should avoid getting stuck with silly results. Just you need to know that = is

an assignment operator (which assigns a value to the variable it follows) while

== is a relational operator ( which compares two values characters or

numbers).

16
Logical Operators

Logical operators refer to the ways these relationships (among values ) can be

2019-11-10
connected.

C++ provides three logical operators . They are:-

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ || (logical OR)

▪ && (logical AND)

▪ ! (logical NOT)

17
Logical Operators

▪ The logical OR operator (||) combines two expressions which make its

2019-11-10
operands.

▪ The logical OR (||) operator evaluates to true, giving value 1, if any of its

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
operands evaluates to true.

NOTE:- C++ considers 0 as a false value and any non-zero value as a true value.

Values 0 and 1(false or true ) are the truth values of expressions.

18
Example
The principle is used while testing evaluating expressions. For example:-

if(ch==‘a’ || ch==‘e’|| ch==‘i’ || ch==‘o’|| ch==‘u’)

2019-11-10
{

cout<<“Entered Character is Oval”;

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
}

else

cout<<“Entered Character is consonant”;

}
19
The operator || (logical OR) has lower precedence than the relational operators,
thus, we don’t need to use parenthesis in these expressions.
Logical And Operator (&&)

It also combines two expressions into one.

2019-11-10
▪ The resulting expression has value 1 or 0 indicating true and false respectively.

▪ The resulting expression takes value 1 if both of the original expressions

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
(operands) are true.

20
Example
if (month % 4==0 && month ==2 )

2019-11-10
cout << “ Month is Lunar Month ”;

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
}

The aim of this example is that if the user enters a value 2 in month variable

then February will be a Lunar Month.

21
The Logical Not Operator (!)
▪ The logical NOT operator, written as !, works on single expression or operand

i.e., it’s n unary operator.

2019-11-10
▪ The logical NOT operator negates or reverses the truth value of the

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
expression following it i.e., if the expression is true , then the !expression is

false and vice-versa.

▪ The logical negation operator(!) has a higher precedence over all other

arithmetical and relational operators.

▪ Let a=1, b=2


22
!(a>b) = !0 = 1 OR !(False) = True
Operator Precedence

Programming Fundamentals by
2019-11-10
23

SHEHZAD LATIF (03134797617)


Conditional Operator ?:
▪ C++ offers a conditional operator (?:) that stores a value depending upon a
condition.

2019-11-10
▪ The operator is ternary operator meaning it requires three operands.

▪ The general form :-

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
Expression1 ? Expression2: Expression3

▪ If expression1 evaluates to true i.e.1, then the value of whole expression is the
value of expression2, otherwise, the value of the whole expression is the value
o0f the exspression3.

▪ Example
▪ a =11 , b=20;
24
▪ x = ( a >b ) ? a :b ;
Expressions

▪ The expression in C++ can be of any type i.e., relational, logical etc.

2019-11-10
▪ Type of operators used in an expression determines the type of expression.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
25
Integer Expressions
Integer expression is formed by connecting integer constants and/or integer
variables using integer arithmetic operators.

Following expressions are valid integer expressions:--

2019-11-10
const count =30;

int i, j, k, x, y, z;

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
i

-i

k-x

k+x-y+count

-j+k*y

j/z 26
z%x
Logical Expressions

▪ The expressions that results into true(1) or false(0) are called logical

2019-11-10
expressions.

▪ Example

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
If (a>b && b>c)

( (5 > 10) || ( 10 = 10))

27
Assignment Statement
▪ Assignment statement assigns a value to a variable.

2019-11-10
▪ In C++, Equal to (=) symbol is an assignment statement.

▪ For example:

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
▪ a=8495;

▪ b=564.44;

28
Compound Assignments
Compound assignments can be used when you want to modify the value of a

variable by performing an operation on the value currently stored in that

2019-11-10
variable. (For example: A = A + 1 ).

● Writing <var> += <expr> is the same as <var> = <var> + <expr>.

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
● Writing <var> -= <expr> is the same as <var> = <var> – <expr>.

● Writing <var> /= <expr> is the same as <var> = <var> / <expr>.

● Writing <var> *= <expr> is the same as <var> = <var> * <expr>.

29
Example
Different Types of Assignment statements are used while programming and they

are,

2019-11-10
o += example x+=10 mean x=x+10

Programming Fundamentals by
SHEHZAD LATIF (03134797617)
o = example y-=10 mean y=y-10

o *= example z*=10 mean z=z*10

o /= example a/=10 mean a=a/10

o % = example b%=10 mean b=b%10

30

You might also like