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

Lecture 4: Basic C Operators: in This Chapter, You Will Learn About

This document discusses different types of operators in C including arithmetic, unary, binary, assignment, equality/relational, logical, and conditional operators. It provides examples of how each operator is used and explains precedence rules that determine order of operations when multiple operators are used in an expression. Pre-increment and post-increment operators are also covered, noting how they affect statement results.

Uploaded by

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

Lecture 4: Basic C Operators: in This Chapter, You Will Learn About

This document discusses different types of operators in C including arithmetic, unary, binary, assignment, equality/relational, logical, and conditional operators. It provides examples of how each operator is used and explains precedence rules that determine order of operations when multiple operators are used in an expression. Pre-increment and post-increment operators are also covered, noting how they affect statement results.

Uploaded by

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

Lecture 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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

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 Programming - NI July2005

18

You might also like