dti2143 chapter 3 arithmatic relation-logicalexpression

Post on 22-May-2015

1.118 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

DTI2143 Computer Programming

Chapter 3Expression

&Operators

2

Aim

To give understanding on: Expression and operator concept math.h and stdlib.h built-in function

Students should be able to: understand concepts and fundamentals in expression/ operator. write expression in C programming language

Objective

3

Given the following statement :

2x + 3 – z = y

expression

Introduction to Expression

4

Process involves in money withdrawal scenario

balance – withdrawed money = current balance

Introduction to Expression

Expression in C :

bakiTerkini =wangKeluar – bakiSemasa;

5

What is Expression?

ExpressionCombination or more than one variable or Constant (operand) which separated by operator

x + 3 - z

Operand

Operatorexample

Consists of

arithmetic

relational

logical

Introduction to Expression

6

Arithmetic Expression Mathematic Expression

Known as

usingArithmetic Operator

Unary operator Binary operatorRepresents by

Operator Meaning- negative

+ positive

-- decrement

++ increment

Represents by

Operator Meaning* multiply

/ divide

+ add

- subtract

% modulus

Arithmetic Expression

7

Unary Operator

Unary Operator Operates for one operand

example

a = -20; a -20

Computer memory cell

b = +15; b +15

Increment Decrement

prefix ++c; --c;

postfix c++; c--;

Arithmetic Expression

8

Unary OperatorExample 1:

int A = 5;

++A;

printf(“%d”, A); output ?A--;

printf(“%d”,A); output ?A++;

printf(“%d”,A); output ?

Arithmetic Expression

9

Unary Operator

Example 2:

int A ;

A=6;

printf(“%d”,3 + --A); output ?

printf(“%d”, A); output ?

A=6;

printf(“%d”, 3 + A--); output ?

printf(“%d”, A); output ?

Arithmetic Expression

10

Unary Operator

Example 3:

Given the value of num1 = 8 .Determine the value of num2 after the execution for each of the following statements:

num2 = num1++ - 2;

num2 = num1;

num2 = ++num1 – 3;

num2 = num1-- +1;

Arithmetic Expression

11

12

Binary Operator

Binary Operator Located between constants or variables or both combination

exampleA + z

operatoroperand

Arithmetic Expression

13

Binary Operator

Multiplication Use symbol “ * ”

exampleA * z

operatoroperand

Mathematic

2x + y

Arithmetic Expression

2 * x + y

Arithmetic Expression

14

Binary Operator

Divide Use symbol “/”

example A / z

operatoroperand

Mathematic

2 : y

Arithmetic Expression

2 / y

Arithmetic Expression

15

Binary Operator

Modulus Use symbol “%”

example A % z

operator

operandReturn a balance when 2 numbers is divided

Can only be used with an integer variable

Arithmetic Expression

16

Binary OperatorExample: int A, B;

float C;

A= 2;

B= 5;

C= 2.4;

B% A;

C % A;

Valid! Answer is 1

Invalid! C is float

Arithmetic Expression

17

Assignment Statement Used to store value/result of process to a variable Use operator symbol =

Assignment statement

Double assignmentstatement

Compound assignmentstatement

Arithmetic Expression

18

Assignment Statement Format /sintax :

variable = value;variable = constant; or variable = variable;variable = expression;

Example :1.average= ( 6 + 5) * 4;

2.grossSalary = 1500; nettSalary = grossSalary + 200;

3.price= 50.00; pay = price;`

44average

grossSalary

1500

nettSalary 1700

price

pay

50.00

50.00

Arithmetic Expression

19

Compound Assignment Statement

Use more than one operator (=) Example :

int a = b= c = d = e = 250; int b =2, number =0, total = 0,average =3; number = b++ = 10; int age = workHour = 0;

Arithmetic Expression

20

Compound Assignment Statement

To combine two different operator together. To simplify arithmetic operator Original function of operator does not

affected Allowed combination are as follow:

Arithmetic Expression

+= , -= , *= , /= , %=

Function

operator:

21

Compound Assignment StatementExample :

Assignment

Operator

Expression Meaning

+= total + = 300 total = total+ 300

-= total - = count+ 300 total = total - (count + 300)

*= total *=300 total = total * 300

/= total /= count– 10 total = total / ( count –10)

%= total % = 7 total = total % 7

Arithmetic Expression

22

Arithmetic Operator Precedence Rules

Compiler will follows the following precedence to execute the arithmetic expression based on priority.

Operator Arrangement/Priority (if appears more than once in a statement)

( ) Left to right

++, -- Right to left

*, /, % Left to right

+, - Left to right

Arithmetic Expression

23

Arithmetic Operator Precedence Rules

Example:

1. 5 + 2 * 6 – 4 / 2

5 + 12 - 4 / 2

5 + 12 - 2

17 - 2

15

2. 3 * 4 / 2 + ( 3 –1)

3 * 4 / 2 + 2

12 / 2 + 2

6 + 2

8

Arithmetic Operator

24

Arithmetic Operator Precedence Rules

Example:

3. Prefix unary arithmetic expression

int kira = 5, nilai pertama = 10;

nilai_kedua = 5 * --kira + nilai_pertama;

printf(“%d %d”, kira, nilai_kedua);

Output:

4 30

Arithmetic Expression

25

Arithmetic Operator Precedence Rules

Example:

3. Prefix unary arithmetic expression

int kira = 5, nilai pertama = 10;

nilai_kedua = 5 * kira-- + nilai_pertama;

printf(“%d %d”, kira, nilai_kedua);

Output:

4 35

Arithmetic Expression

26

Mathematic Library Function• Diwakili oleh perpustakaan piawai matematk iaitu math.h• Dipanggil bersama #include• Antara fungsi perpustakaan matematik yang penting:

Fungsi Tujuan

sqrt(x) Kembalikan nilai puncagandadua x di mana x >= 0

pow(x) Kembalikan x ganda y

cos(x) Kembalikan cos x di mana x di dalam radian

sin(x) Kembalikan sin x di mana x di dalam radian

tan(x) Kembalikan tan x di mana x di dalam radian

Arithmetic Expression

27

Mathematic Library FunctionExample:

#include<stdio.h>#include <math.h>

void main(){ int x = 16, y ; y = sqrt(x); printf(“%d”,y);

}

Output :

4

Arithmetic Expression

28

Exercise:1. Convert the following mathematic expression to a

valid arithmetic expression :

a) b = 3 + b b) x = (a – b)(a – c2) a + 4

c) d = (3e – d) - ( 4 – 3c3 ) d) r = 2s + 3(s – 9) x – 9 4y s

2. Given a= 3, b = 5, c=1. What is the output of the following expression?

a. ( 6 * c – 6 / a) - b b. (5 * c) +( a* b / b) c. ++a d. c + a * c / (3 *

c)

Arithmetic Expression

29

Exercise:

Assume i,j and k are integer variables with i = 5 and j=3. Determine what is the value for each of the following statement:a) k = j++; d) k = ++j;b) k = i * j--; e) k = i * --j;c) k = j + i * j++; f) k = 27 / j++ - 16 % i;

Arithmetic Expression

30

Relationalexpression

use Relational operator

Combination of more than one statement

variable vs variable

variable vs constant

constant vs constant

Can consists of

produce

0 (if false) 1(if true)

Relation Expression

31

Relational Operator

Operator Description

= = Equal to

> Greater than

< Less than

>= Greater than or equal

<= Less than or equal

!= Not equal

Relation Expression

32

int a=6, b =1, c = -2;

1) a+ b == c 2) a != b

6 + 1== -2 6 != 17 == -2

Answer: 0(False) Answer : 1 (True)

P/s:a, b and c are variables,Replace with the given values

Example 1:

Relation Expression

33

int a=6, b =1, c = -2;

3) b < a 4) b + c <= a

1 < -2 1 + -2 < 6 -1 < 6

Answer: 0 (False) Answer : 1 (True)

Example 2 :

Relation Expression

34

int a=10, b = 3, c = 7;

(a+b >= 3*c)==( a != 2*c+b)

(10+3 >= 3*7)==(a != 2*c+b)(13 >= 21)==(10 != 14+3)(13 >= 21)==(10 != 17)0 == 10 (false)

P/s:Relational operator has less priority than other operators.Start evaluating from left to right.

Example 3:

Relation Expression

35

An example program which uses relational expression

#include <stdio.h>void main(){ int age; printf(“\nPlease enter your age >>”); scanf(“%d”,&age); if (age > 21)

printf(“\nYou are qualified to vote”);

}

Relational expression

Relation Expression

36

Logical expressionuse

Logical Operator

Combination of one or more expressions

Relational expr. vs logical expr.

Relational expr. vs variable

Relational expr. vs constant

Can consists of

produces

0 (if false) 1(if true)

Logical Expression

37

Logical Operator

Operator Description

&& AND

|| OR

! NOT

Logical operator && dan || is used between 2 or morerelational expression

Logical Expression

38

Logical operator truth table for AND

Value 0 1

0 0 0

1 0 1

AND (&&) Logical Operator Result

False AND False False

False AND True False

True AND False False

True AND True True

Logical Expression

39

Logical operator truth table for OR

Value 0 1

0 0 1

1 1 1

OR (||) Logical Operator

Result

False OR False False

False OR True True

True OR False Trrue

True OR True True

Logical Expression

40

Value Result

!0 1

!1 0

NOT(!)

Logical Operator

Result

Not false True

Not true False

Logical operator truth table for NOT

Logical Expression

41

Example 1:

Evaluate the following logical expression:

a) (2 < 5 ) && ( 5 < 10) b) (7 % 2 < 2) || ( 2 * 3 == 6) 1 && 1 (1 < 2) || (6 == 6)

1 1 || 1

1

Logical Expression

42

Example 2:

Evaluate the following logical expression:

Given a = 3, b = 4;

c) !((5 * b <= 23 - a )) d) ! ((b +3 != 8) &&( 3 * a < 2)) !((5 * 4 <= 23 – 3)) !(( 7 != 8 ) && ( 9 < 2 )) !(20 <= 20) ! ( 1 && 0 ) !(1) ! ( 0) 0 1

Logical Expression

43

An example program which using Logical Expression:

#include <stdio.h>void main(){ int mark; printf(“\nEnter your mark >>”); scanf(“%d”,&mark); if (mark >= 85 && mark <= 100) printf(“\nGred A”);

else if( mark >=80 && mark <=84)printf(“\nGred A-”);

}

Logical ExpressionLogical Expression

44

Exercise:1. Given with i=2, j = 5 and k = 15. Evaluate each of the following expression:

a) i > j – k g) k == j + I * jb) i != k h) k <=k /jc) (i >= 1) && (j == 5) i) (j < i) || (k > j)d) !( i > j) j) (i >0) && (j <k) || (k <i)e) i < j < k k) i * k < k / jf) (i < j) && (j < k) i) i – j > k

2. Complete the following statements with suitable logical expression.

int angka1,angka2;

if (angka1 is less than or equal to angka2)printf(“%d is less than or equal to %d”,angka1,angka2);

Logical Expression

top related