SlideShare a Scribd company logo
Arithmetic Operators and Order of Precedence Intro to Programming
MUHAMMAD HAMMAD WASEEM 1
Arithmetic Operators
The arithmetic operators are the symbols that represent arithmetic operations. These are used
in arithmetic expressions. Each arithmetic operators upon two numeric values (constants or variables)
and return a value.
The following arithmetic operators are used in C++.
 Addition (+)
 Subtraction (-)
 Multiplication (*)
 Division (/)
 For remainder (%)
All arithmetic operators, except the remainder operator, are used for all type of numeric data.
A C arithmetic instruction consists of a variable name on the left hand side of = and variable
names & constants on the right hand side of =. The variables and constants appearing on the right hand
side of = are connected by arithmetic operators like +, -, *, and /.
The variables and constants together are called ‘operands’ that are operated upon by the
‘arithmetic operators’ and the result is assigned, using the assignment operator, to the variable on left-
hand side.
A C arithmetic statement could be of three types. These are as follows:
Integer mode arithmetic statement - This is an arithmetic statement in which all operands are
either integer variables or integer constants.
Ex.: int i, king, issac, noteit;
i = i + 1;
king = issac * 234 + noteit - 7689 ;
Real mode arithmetic statement - This is an arithmetic statement in which all operands are either
real constants or real variables.
Ex.: float qbee, antink, si, prin, anoy, roi;
qbee = antink + 23.123 / 4.5 * 0.3442 ;
si = prin * anoy * roi / 100.0 ;
Mixed mode arithmetic statement - This is an arithmetic statement in which some of the
operands are integers and some of the operands are real.
Ex.: float si, prin, anoy, roi, avg;
int a, b, c, num ;
si = prin * anoy * roi / 100.0 ;
avg = ( a + b + c + num ) / 4 ;
It is very important to understand how the execution of an arithmetic statement takes place.
Firstly, the right hand side is evaluated using constants and the numerical values stored in the variable
names. This value is then assigned to the variable on the left-hand side.
Arithmetic Operators and Order of Precedence Intro to Programming
MUHAMMAD HAMMAD WASEEM 2
Though Arithmetic instructions look simple to use one often commits mistakes in writing them.
Let us take a closer look at these statements. Note the following points carefully.
a) C allows only one variable on left-hand side of =. That is, z=k*l is legal, whereas k*l=z is illegal.
b) In addition to the division operator C also provides a modular division operator. This operator returns
the remainder on dividing one integer with another. Thus the expression 10 / 2 yields 5, whereas, 10
% 2 yields 0.
Note: the modulus operator (%) cannot be applied on a float. Also note that on using % the sign of the remainder is
always same as the sign of the numerator. Thus –5 % 2 yields –1, whereas, 5 % -2 yields 1.
c) An arithmetic instruction is often used for storing character constants in character variables.
char a, b, d ;
a = 'F';
b = 'G';
d = '+';
When we do this the ASCII values of the characters are stored in the variables. ASCII values are
used to represent any character in memory. The ASCII values of ‘F’ & ‘G’ are 70 & 71 (refer ASCII Table).
d) Arithmetic operations can be performed on ints, floats and chars.
char x, y ;
int z ;
x = 'a';
y = 'b';
z = x + y;
Thus the statements, are perfectly valid, since the addition is performed on the ASCII values of
the characters and not on characters themselves. The ASCII values of ‘a’ and ‘b’ are 97 and 98, and hence
can definitely be added.
e) No operator is assumed to be present. It must be written explicitly. In the following example, the
multiplication operator after b must be explicitly written.
a = c.d.b(xy) //usual arithmetic statement
b = c * d * b * (x * y) //C statement
f) Unlike other high level languages, there is no operator for performing exponentiation operation.
Thus following statements are invalid.
a = 3 ** 2;
b = 3 ^ 2;
Integer and Float Conversions
In order to effectively develop C programs, it will be necessary to understand the rules that are
used for the implicit conversion of floating point and integer values in C. These are mentioned below.
Note them carefully.
a) An arithmetic operation between an integer and integer always yields an integer result.
b) An operation between a real and real always yields a real result.
c) An operation between an integer and real always yields a real result. In this operation the integer is
first promoted to a real and then the operation is performed. Hence the result is real.
I think a few practical examples shown in the following figure would put the issue beyond doubt.
Arithmetic Operators and Order of Precedence Intro to Programming
MUHAMMAD HAMMAD WASEEM 3
Class Practice:
It has been assumed that k is an integer variable and a is a real variable.
Order of Precedence of Operation
The priority or precedence or order in which the operations in an arithmetic statement are
performed is called the order of precedence. It is also known as hierarchy of operations. While executing
an arithmetic statement, which has two or more operators, we may have some problems as to how
exactly does it get executed. For example, does the expression 2 * x - 3 * y correspond to (2x)-(3y) or to
2(x-3y)? Similarly, does A / B * C correspond to A / (B * C) or to (A / B) * C? To answer these questions
satisfactorily one has to understand the ‘hierarchy’ of operations.
In an expression in C/C++, the operations are performed in the following order:
1. All multiplications, divisions and modular division are performed first from left to right.
2. All additions and subtractions are then performed from left to right.
3. If parenthesis are used in an expression, the expressions within parenthesis are first
computed from left to right.
4. When parenthesis are used within parenthesis, the expression within innermost parenthesis
is evaluated first.
5. Assignment is done at the end.
Arithmetic Operators and Order of Precedence Intro to Programming
MUHAMMAD HAMMAD WASEEM 4
For Example (4-(3*5)) + 2 is evaluated as follows:
1. (3*5) is computed and returns value of 15
2. 4-15 is computed and returns value of -11
3. -11+2 is computed and returns value of -9
Example 1: Determine the hierarchy of operations and evaluate the following expression:
i = 2 * 3 / 4 + 4 / 4 + 8 - 2 + 5 / 8
Stepwise evaluation of this expression is shown below:
i = 2 * 3 / 4 + 4 / 4 + 8 - 2 + 5 / 8
i = 6 / 4 + 4 / 4 + 8 - 2 + 5 / 8 operation: *
i = 1 + 4 / 4 + 8 - 2 + 5 / 8 operation: /
i = 1 + 1+ 8 - 2 + 5 / 8 operation: /
i = 1 + 1 + 8 - 2 + 0 operation: /
i = 2 + 8 - 2 + 0 operation: +
i = 10 - 2 + 0 operation: +
i = 8 + 0 operation : -
i = 8 operation: +
Note that 6 / 4 gives 1 and not 1.5. This so happens because 6 and 4 both are integers and
therefore would evaluate to only an integer constant. Similarly 5 / 8 evaluates to zero, since 5 and 8 are
integer constants and hence must return an integer value.
Example 2: Determine the hierarchy of operations and evaluate the following expression:
kk = 3 / 2 * 4 + 3 / 8 + 3
Stepwise evaluation of this expression is shown below:
kk = 3 / 2 * 4 + 3 / 8 + 3
kk = 1 * 4 + 3 / 8 + 3 operation: /
kk = 4 + 3 / 8 + 3 operation: *
kk = 4 + 0 + 3 operation: /
kk = 4 + 3 operation: +
kk = 7 operation: +
Note that 3 / 8 gives zero, again for the same reason mentioned in the previous example.

More Related Content

What's hot (6)

PDF
Loss Functions for Deep Learning - Javier Ruiz Hidalgo - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
PDF
Informed search
Amit Kumar Rathi
 
PPT
Genetic Algorithms - Artificial Intelligence
Sahil Kumar
 
PPTX
Knn Algorithm presentation
RishavSharma112
 
PDF
AI Greedy & A* Informed Search Strategies by Example
Ahmed Gad
 
PPT
Datalinklayer tanenbaum
Mahesh Kumar Chelimilla
 
Loss Functions for Deep Learning - Javier Ruiz Hidalgo - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
Informed search
Amit Kumar Rathi
 
Genetic Algorithms - Artificial Intelligence
Sahil Kumar
 
Knn Algorithm presentation
RishavSharma112
 
AI Greedy & A* Informed Search Strategies by Example
Ahmed Gad
 
Datalinklayer tanenbaum
Mahesh Kumar Chelimilla
 

Similar to [ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence (20)

PDF
ICP - Lecture 5
Hassaan Rahman
 
PPT
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
kiokocurtis
 
PPTX
programing in c PPT Gaurav Nautiyal.pptx
Hacker301428
 
PPTX
Operators and expressions
vishaljot_kaur
 
PDF
Arithmetic instructions
Learn By Watch
 
PPTX
C - programming - Ankit Kumar Singh
AnkitSinghRajput35
 
PPT
Operation and expression in c++
Online
 
PDF
Chapter 13.1.2
patcha535
 
PPTX
Lesson 1 - Intro to Arithmetic Operators.pptx
takatorifernandez
 
PPTX
Cs1123 4 variables_constants
TAlha MAlik
 
PPTX
Operators and expressions in C++
Neeru Mittal
 
PPT
C Prog. - Operators and Expressions
vinay arora
 
PPTX
Csc240 -lecture_5
Ainuddin Yousufzai
 
PDF
Lec13
Sri Harsha Pamu
 
PPTX
C++ Programming Basics.pptx
ZntalemAbebe
 
PDF
Unit ii chapter 1 operator and expressions in c
Sowmya Jyothi
 
PPT
operators and arithmatic expression in C Language
ParamesswariNataraja
 
PPT
Operator & Expression in c++
bajiajugal
 
PPTX
Variables, Data Types, Operator & Expression in c in detail
gourav kottawar
 
ICP - Lecture 5
Hassaan Rahman
 
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
kiokocurtis
 
programing in c PPT Gaurav Nautiyal.pptx
Hacker301428
 
Operators and expressions
vishaljot_kaur
 
Arithmetic instructions
Learn By Watch
 
C - programming - Ankit Kumar Singh
AnkitSinghRajput35
 
Operation and expression in c++
Online
 
Chapter 13.1.2
patcha535
 
Lesson 1 - Intro to Arithmetic Operators.pptx
takatorifernandez
 
Cs1123 4 variables_constants
TAlha MAlik
 
Operators and expressions in C++
Neeru Mittal
 
C Prog. - Operators and Expressions
vinay arora
 
Csc240 -lecture_5
Ainuddin Yousufzai
 
C++ Programming Basics.pptx
ZntalemAbebe
 
Unit ii chapter 1 operator and expressions in c
Sowmya Jyothi
 
operators and arithmatic expression in C Language
ParamesswariNataraja
 
Operator & Expression in c++
bajiajugal
 
Variables, Data Types, Operator & Expression in c in detail
gourav kottawar
 
Ad

More from Muhammad Hammad Waseem (20)

PDF
[ITP - Lecture 17] Strings in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 16] Structures in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 15] Arrays & its Types
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 14] Recursion
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 13] Introduction to Pointers
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 12] Functions in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 11] Loops in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 09] Conditional Operator in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 08] Decision Control Structures (If Statement)
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 07] Comments in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 05] Datatypes
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 04] Variables and Constants in C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 03] Introduction to C/C++
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 02] Steps to Create Program & Approaches of Programming
Muhammad Hammad Waseem
 
PDF
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
Muhammad Hammad Waseem
 
PPTX
[OOP - Lec 20,21] Inheritance
Muhammad Hammad Waseem
 
PPTX
[OOP - Lec 19] Static Member Functions
Muhammad Hammad Waseem
 
PPTX
[OOP - Lec 18] Static Data Member
Muhammad Hammad Waseem
 
PPTX
[OOP - Lec 16,17] Objects as Function Parameter and ReturnType
Muhammad Hammad Waseem
 
[ITP - Lecture 17] Strings in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 16] Structures in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 15] Arrays & its Types
Muhammad Hammad Waseem
 
[ITP - Lecture 14] Recursion
Muhammad Hammad Waseem
 
[ITP - Lecture 13] Introduction to Pointers
Muhammad Hammad Waseem
 
[ITP - Lecture 12] Functions in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 11] Loops in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 09] Conditional Operator in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 08] Decision Control Structures (If Statement)
Muhammad Hammad Waseem
 
[ITP - Lecture 07] Comments in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 05] Datatypes
Muhammad Hammad Waseem
 
[ITP - Lecture 04] Variables and Constants in C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 03] Introduction to C/C++
Muhammad Hammad Waseem
 
[ITP - Lecture 02] Steps to Create Program & Approaches of Programming
Muhammad Hammad Waseem
 
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
Muhammad Hammad Waseem
 
[OOP - Lec 20,21] Inheritance
Muhammad Hammad Waseem
 
[OOP - Lec 19] Static Member Functions
Muhammad Hammad Waseem
 
[OOP - Lec 18] Static Data Member
Muhammad Hammad Waseem
 
[OOP - Lec 16,17] Objects as Function Parameter and ReturnType
Muhammad Hammad Waseem
 
Ad

Recently uploaded (20)

PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PPTX
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
PDF
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
PDF
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
PPTX
Controller Request and Response in Odoo18
Celine George
 
PPTX
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PDF
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PDF
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
epi editorial commitee meeting presentation
MIPLM
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
Post Dated Cheque(PDC) Management in Odoo 18
Celine George
 
QNL June Edition hosted by Pragya the official Quiz Club of the University of...
Pragya - UEM Kolkata Quiz Club
 
Vani - The Voice of Excellence - Jul 2025 issue
Savipriya Raghavendra
 
Controller Request and Response in Odoo18
Celine George
 
HUMAN RESOURCE MANAGEMENT: RECRUITMENT, SELECTION, PLACEMENT, DEPLOYMENT, TRA...
PRADEEP ABOTHU
 
Introduction to Indian Writing in English
Trushali Dodiya
 
Governor Josh Stein letter to NC delegation of U.S. House
Mebane Rash
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 

[ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence

  • 1. Arithmetic Operators and Order of Precedence Intro to Programming MUHAMMAD HAMMAD WASEEM 1 Arithmetic Operators The arithmetic operators are the symbols that represent arithmetic operations. These are used in arithmetic expressions. Each arithmetic operators upon two numeric values (constants or variables) and return a value. The following arithmetic operators are used in C++.  Addition (+)  Subtraction (-)  Multiplication (*)  Division (/)  For remainder (%) All arithmetic operators, except the remainder operator, are used for all type of numeric data. A C arithmetic instruction consists of a variable name on the left hand side of = and variable names & constants on the right hand side of =. The variables and constants appearing on the right hand side of = are connected by arithmetic operators like +, -, *, and /. The variables and constants together are called ‘operands’ that are operated upon by the ‘arithmetic operators’ and the result is assigned, using the assignment operator, to the variable on left- hand side. A C arithmetic statement could be of three types. These are as follows: Integer mode arithmetic statement - This is an arithmetic statement in which all operands are either integer variables or integer constants. Ex.: int i, king, issac, noteit; i = i + 1; king = issac * 234 + noteit - 7689 ; Real mode arithmetic statement - This is an arithmetic statement in which all operands are either real constants or real variables. Ex.: float qbee, antink, si, prin, anoy, roi; qbee = antink + 23.123 / 4.5 * 0.3442 ; si = prin * anoy * roi / 100.0 ; Mixed mode arithmetic statement - This is an arithmetic statement in which some of the operands are integers and some of the operands are real. Ex.: float si, prin, anoy, roi, avg; int a, b, c, num ; si = prin * anoy * roi / 100.0 ; avg = ( a + b + c + num ) / 4 ; It is very important to understand how the execution of an arithmetic statement takes place. Firstly, the right hand side is evaluated using constants and the numerical values stored in the variable names. This value is then assigned to the variable on the left-hand side.
  • 2. Arithmetic Operators and Order of Precedence Intro to Programming MUHAMMAD HAMMAD WASEEM 2 Though Arithmetic instructions look simple to use one often commits mistakes in writing them. Let us take a closer look at these statements. Note the following points carefully. a) C allows only one variable on left-hand side of =. That is, z=k*l is legal, whereas k*l=z is illegal. b) In addition to the division operator C also provides a modular division operator. This operator returns the remainder on dividing one integer with another. Thus the expression 10 / 2 yields 5, whereas, 10 % 2 yields 0. Note: the modulus operator (%) cannot be applied on a float. Also note that on using % the sign of the remainder is always same as the sign of the numerator. Thus –5 % 2 yields –1, whereas, 5 % -2 yields 1. c) An arithmetic instruction is often used for storing character constants in character variables. char a, b, d ; a = 'F'; b = 'G'; d = '+'; When we do this the ASCII values of the characters are stored in the variables. ASCII values are used to represent any character in memory. The ASCII values of ‘F’ & ‘G’ are 70 & 71 (refer ASCII Table). d) Arithmetic operations can be performed on ints, floats and chars. char x, y ; int z ; x = 'a'; y = 'b'; z = x + y; Thus the statements, are perfectly valid, since the addition is performed on the ASCII values of the characters and not on characters themselves. The ASCII values of ‘a’ and ‘b’ are 97 and 98, and hence can definitely be added. e) No operator is assumed to be present. It must be written explicitly. In the following example, the multiplication operator after b must be explicitly written. a = c.d.b(xy) //usual arithmetic statement b = c * d * b * (x * y) //C statement f) Unlike other high level languages, there is no operator for performing exponentiation operation. Thus following statements are invalid. a = 3 ** 2; b = 3 ^ 2; Integer and Float Conversions In order to effectively develop C programs, it will be necessary to understand the rules that are used for the implicit conversion of floating point and integer values in C. These are mentioned below. Note them carefully. a) An arithmetic operation between an integer and integer always yields an integer result. b) An operation between a real and real always yields a real result. c) An operation between an integer and real always yields a real result. In this operation the integer is first promoted to a real and then the operation is performed. Hence the result is real. I think a few practical examples shown in the following figure would put the issue beyond doubt.
  • 3. Arithmetic Operators and Order of Precedence Intro to Programming MUHAMMAD HAMMAD WASEEM 3 Class Practice: It has been assumed that k is an integer variable and a is a real variable. Order of Precedence of Operation The priority or precedence or order in which the operations in an arithmetic statement are performed is called the order of precedence. It is also known as hierarchy of operations. While executing an arithmetic statement, which has two or more operators, we may have some problems as to how exactly does it get executed. For example, does the expression 2 * x - 3 * y correspond to (2x)-(3y) or to 2(x-3y)? Similarly, does A / B * C correspond to A / (B * C) or to (A / B) * C? To answer these questions satisfactorily one has to understand the ‘hierarchy’ of operations. In an expression in C/C++, the operations are performed in the following order: 1. All multiplications, divisions and modular division are performed first from left to right. 2. All additions and subtractions are then performed from left to right. 3. If parenthesis are used in an expression, the expressions within parenthesis are first computed from left to right. 4. When parenthesis are used within parenthesis, the expression within innermost parenthesis is evaluated first. 5. Assignment is done at the end.
  • 4. Arithmetic Operators and Order of Precedence Intro to Programming MUHAMMAD HAMMAD WASEEM 4 For Example (4-(3*5)) + 2 is evaluated as follows: 1. (3*5) is computed and returns value of 15 2. 4-15 is computed and returns value of -11 3. -11+2 is computed and returns value of -9 Example 1: Determine the hierarchy of operations and evaluate the following expression: i = 2 * 3 / 4 + 4 / 4 + 8 - 2 + 5 / 8 Stepwise evaluation of this expression is shown below: i = 2 * 3 / 4 + 4 / 4 + 8 - 2 + 5 / 8 i = 6 / 4 + 4 / 4 + 8 - 2 + 5 / 8 operation: * i = 1 + 4 / 4 + 8 - 2 + 5 / 8 operation: / i = 1 + 1+ 8 - 2 + 5 / 8 operation: / i = 1 + 1 + 8 - 2 + 0 operation: / i = 2 + 8 - 2 + 0 operation: + i = 10 - 2 + 0 operation: + i = 8 + 0 operation : - i = 8 operation: + Note that 6 / 4 gives 1 and not 1.5. This so happens because 6 and 4 both are integers and therefore would evaluate to only an integer constant. Similarly 5 / 8 evaluates to zero, since 5 and 8 are integer constants and hence must return an integer value. Example 2: Determine the hierarchy of operations and evaluate the following expression: kk = 3 / 2 * 4 + 3 / 8 + 3 Stepwise evaluation of this expression is shown below: kk = 3 / 2 * 4 + 3 / 8 + 3 kk = 1 * 4 + 3 / 8 + 3 operation: / kk = 4 + 3 / 8 + 3 operation: * kk = 4 + 0 + 3 operation: / kk = 4 + 3 operation: + kk = 7 operation: + Note that 3 / 8 gives zero, again for the same reason mentioned in the previous example.