0% found this document useful (0 votes)
109 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 precedence rules that determine the order of operations when multiple operators are used. The chapter also distinguishes between pre-increment and post-increment operators, noting they produce different results.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 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 precedence rules that determine the order of operations when multiple operators are used. The chapter also distinguishes between pre-increment and post-increment operators, noting they produce different results.
Copyright
© Attribution Non-Commercial (BY-NC)
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 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 5

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 6

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++; R = ++count;


R = count --; R = --count;

Equivalent Statements R = count; count = count + 1 count = count + 1; R = count; R = count; count = count 1; Count = count 1; R = count;

R value

Count value 11
11 9 9

10
11 10 9

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 8

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

+= -= *= /= %=
Principles of Programming - NI July2005

c += 7 c -= 8 c *= 10 c /= 5 c %= 5

c=c+7 c=c8 c = c * 10 c=c/5 c=c%5

c = 16 c=1 c = 90 c=1 c=4


9

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 > < >= <= 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

Principles of Programming - NI July2005

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