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

Chapter4 Basic C Operators

This chapter discusses different types of operators in C including arithmetic, unary, binary, assignment, equality, relational, logical, and conditional operators. It explains how precedence rules determine the order of operations when multiple operators are used in an expression. The chapter also distinguishes between pre-increment and post-increment operators and how they can affect the result.

Uploaded by

Jing Heng
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views

Chapter4 Basic C Operators

This chapter discusses different types of operators in C including arithmetic, unary, binary, assignment, equality, relational, logical, and conditional operators. It explains how precedence rules determine the order of operations when multiple operators are used in an expression. The chapter also distinguishes between pre-increment and post-increment operators and how they can affect the result.

Uploaded by

Jing Heng
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter 4: Basic C Operators

In this chapter, you will learn about:


Arithmetic operators
Unary operators
Binary operators

Assignment operators
Equalities and relational operators
Logical operators
Conditional operator

Principles of Progra

Arithmetic Operators I
In C, we have the following operators (note
that all these example are using 9 as the
value of its first operand)

Principles of Progra

Arithmetic Operators II
There are 2 types of arithmetic operators
in C:
unary operators
operators that require only one operand.

binary operators.
operators that require two operands.

Principles of Progra

Unary Operator
C Operation
Positive
Negative
Increment
Decrement

Operator
+
++
--

Example
a = +3
b = -a
i++
i--

The first assigns positive 3 to a


The second assigns the negative value of a to b.
i++ is equivalent to i = i + 1
i-- is equivalent to i = i-1
Principles of Progra

PRE- / POST-Increment
It is also possible to use ++i and --i instead of
i++ and i-However, the two forms have a slightly yet
important difference.
Consider this example:
int a = 9;
printf(%d\n, a++);
printf(%d, a);
The output would be:
9
10
Principles of Progra

PRE- / POST-Increment cont


But if we have:
int a = 9;
printf(%d\n, ++a);
printf(%d, a);
The output would be:
10
10
a++ would return the current value of a and
then increment the value of a
++a on the other hand increment the value of
a before returning the value
Principles of Progra

The following table illustrates the difference between the prefix and
postfix modes of the increment and decrement operator.

int R = 10,
count=10;

++ Or -Statement
R = count++;

Equivalent
Statements
R = count;
count = count + 1

R value

Count
value

10

11

R = ++count;

count = count + 1;
R = count;

11

11

R = count --;

R = count;
count = count 1;

10

R = --count;

Count = count 1;
R = count;

Principles of Progra

Binary Operators
C Operation
Addition
Subtraction
Multiplication
Division
Modulus

Operator
+
*
/
%

Example:
a+3
a-6
a*b
a/c
a%x

The division of variables of type int will always


produce a variable of type int as the result.
You could only use modulus (%) operation
on int variables.
Principles of Progra

Assignment Operators
Assignment operators are used to combine the
'=' operator with one of the binary arithmetic
operators
In the following slide, All operations starting from
c=9
Operator

Example

Equivalent
Statement

Results

+=
-=

c += 7
c -= 8

c=c+7
c=c8

c = 16
c=1

*=
/=
%=

c *= 10
c /= 5
c %= 5

c = c * 10
c=c/5
c=c%5

c = 90
c=1
c=4

Principles of Progra

Precedence Rules
Precedence rules come into play when there is a mixed
of arithmetic operators in one statement. For example:
x = 3 * a - ++b%3;
The rules specify which of the operators will be
evaluated first.
Precedence
Level
1 (highest)
2
3
4
5 (lowest)
Principles of Progra

Operator
()
unary
* / %
+ = += -= *= /= %=

Associativity
left to right
right to left
left to right
left to right
right to left
10

Precedence Rules cont


For example: x = 3 * a - ++b % 3;
how would this statement be evaluated?

If we intend to have the statement evaluated


differently from the way specified by the
precedence rules, we need to specify it using
parentheses ( )
Using parenthesis, we will have
x = 3 * ((a - ++b)%3);
The expression inside a parentheses will be
evaluated first.
The inner parentheses will be evaluated
earlier compared to the outer parentheses.
Principles of Progra

11

Equality and Relational


Operators
Equality Operators:
Operator
==
!=

Example
x == y
x != y

Meaning
x is equal to y
x is not equal to y

Relational Operators:
Operator
>
<
>=
<=

Principles of Progra

Example
x>y
x<y
x >= y
x <= y

Meaning
x is greater than y
x is less than y
x is greater than or equal to y
x is less than or equal to y

12

Logical Operators
Logical operators are useful when we want to test
multiple conditions.
There are 3 types of logical operators and they
work the same way as the boolean AND, OR and
NOT operators.
&& - Logical AND
All the conditions must be true for the whole
expression to be true.
Example: if (a == 10 && b == 9 && d == 1)
means the if statement is only true when a ==
10 and b == 9 and d == 1.
Principles of Progra

13

Logical Operators cont


|| - Logical OR
The truth of one condition is enough to make
the whole expression true.
Example: if (a == 10 || b == 9 || d == 1)
means the if statement is true when either
one of a, b or d has the right value.

! - Logical NOT (also called logical negation)


Reverse the meaning of a condition
Example: if (!(points > 90))
means if points not bigger than 90.
Principles of Progra

14

Conditional Operator
The conditional operator (?:) is used to
simplify an if/else statement.
Syntax:
Condition ? Expression1 : Expression2

The statement above is equivalent to:


if (Condition)
Expression1
else
Expression2

Principles of Progra

15

Conditional Operator cont


Example 1:
if/else statement:
if (total > 60)
grade = P
else
grade = F;
conditional statement:
total > 60 ? grade = P: grade = F;
OR
grade = total > 60 ? P: F;
Principles of Progra

16

Conditional Operator cont


Example 2:
if/else statement:
if (total > 60)
printf(Passed!!\n);
else
printf(Failed!!\n);
Conditional Statement:
printf(%s!!\n, total > 60? Passed: Failed);
Principles of Progra

17

SUMMARY
This chapter exposed you the operators used
in C
Arithmetic operators
Assignment operators
Equalities and relational operators
Logical operators
Conditional operator

Precedence levels come into play when there


is a mixed of arithmetic operators in one
statement.
Pre/post fix - effects the result of statement
Principles of Progra

18

You might also like