0% found this document useful (0 votes)
19 views19 pages

C Programming: Basic Operators Explained

Uploaded by

s231092304
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)
19 views19 pages

C Programming: Basic Operators Explained

Uploaded by

s231092304
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

DET 116 : BASIC

COMPUTER PROGRAMMING
Chapter 4: Basic C Operators
Objectives
 In this chapter, you will learn about:
 Arithmetic operators
 Unary operators
 Binary operators

 Assignment operators
 Equalities and relational operators
 Logical operators
 Conditional operator

prepared by NI, edited by MAF


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)
Operatio Operator Operand Value
n After
Addition + 2 11
Subtractio - 2 7
n
Multiplicat * 2 18
ion
Division / 3 3
Increment ++ + 10
prepared by NI, edited by MAF
Decremen -- - 8
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.

prepared by NI, edited by MAF


Unary Operator
C Operator Example
Operation
Positive + a=+3
Negative - b=-a
Increment ++ i++
Decrement -- 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
prepared by NI, edited by MAF
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

prepared by NI, edited by MAF


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
prepared by NI, edited by MAF
The following table illustrates the difference between the prefix and
postfix modes of the increment and decrement operator.

int R = 10,
count=10;
++ Or -- Equivalent R value Count
Statement Statements value
R = count++; R = count;
10 11
count = count + 1
R = ++count; count = count + 1;
11 11
R = count;
R = count --; R = count;
10 9
count = count – 1;
R = --count; Count = count – 1;
9 9
R = count;

prepared by NI, edited by MAF


Binary Operators
C Operation Operator Example
Addition + a+3
Subtraction - a-6
Multiplication * a*b
Division / a/c
Modulus % 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.

prepared by NI, edited by MAF


Assignment Operators
 Assignment operators are used to combine
the '=' operator with one of the binary
arithmetic operators
 In the following slide, All operations
starting fromExample
Operator c = Equivalent
9 Results
Statement
+= c += 7 c=c+ c = 16
7
-= c -= 8 c = c – 8 c=1
*= c *= c=c* c = 90
10 10
/= c /= 5 c = c / 5 c=1
%= cprepared
%= by5NI, edited
c =bycMAF
% c=4
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 Operator Associativity


Level
1 (highest) () Left to right
2 Unary Right to left
3 */% Left to right
4 +- Left to right
6 (lowest) = += -= *= /= Right to left
%=
prepared by NI, edited by MAF
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.

prepared by NI, edited by MAF


Equality and Relational
Operators
 Equality Operators:
Operator Example Meaning
== x==y x is equal to y
!= x!=y x is not equal to y

 Relational Operators:
Operator Example Meaning
> x>y x is greater than y
< x<y x is less than y
>= x>=y x is greater than or equal
to y
<= x<=y x is less than or equal to
y
prepared by NI, edited by MAF
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.
prepared by NI, edited by MAF
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.
prepared by NI, edited by MAF
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
prepared by NI, edited by MAF
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’;
prepared by NI, edited by MAF
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”);


prepared by NI, edited by MAF
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
prepared by NI, edited by MAF

You might also like