Getting Started

Download Report

Transcript Getting Started

Lab 6
 Operators

Relational Operators

Equality Operators

Logical Operators
 If statement

One Alternative

With Compound Statement

Nested If
NOTE: Be Careful Read Chapter 4(All Self-Check exercises and all
remaining exercises).
C KEYWORDS and format must be learned by heart
Review of Rules of Evaluating Expressions
Exercise 1: Include parentheses to show the order of
performing the expressions.
 a+b*c
 a*b+c%d
 -c%d
 -a +c%d
 -a /-b +c
 -a/-(b+c)
Simple Conditions
Exercise 2: Provide the English Meaning and Values.
Given: x=-5, power=1024,y=7, MAX_POWER=1024,mor_or_dad=‘M’
SENTINEL=999
 x<=0
 x>=MAX_POWER
 mor_or_dad == ‘M’
 x != SENTINEL
Operator Precedence
Operator
Precedence
------------------------------------------Function calls
highest
! + - & (UP)
* / %
+ < <= > >=
== !=
%%
||
=
Lowest
Exercise3 (Step by Step Evaluation)
 Provide the English Meaning and Values. Given :x=3.0, y=4.0, z =2.0,
and flag =5
 !flag
 x + y / z <= 3.5
 !flag || (y+z >= x-z)
 !(flag || (y+z >= x-z)
Short-circuit evaluation and Logical
Assignments
 Short-circuit evaluation : stopping evaluation of a logical
expression as soon as its value can be determined.

Exp : a ||b , a&&b
 Logical Assignments: int age, char gender, int senior_citizen,
in_range and is_letter, n, even

scanf (" %d ",&age);

senior_citizen=(age>=65);

! senior_citizen;

senior_citizen && gender ==‘M’;

is_range = (n>-10 && n<10);
•
is_letter = ( (‘A’ <= ch && ch<=‘Z’) || (‘A’ <= ch && ch<=‘Z’) );
•
even = (n%2 == 0) ;
Complementing a Condition and Morgan’s Theorem
 !(item ==SENT)
 !(status==‘s’ && age > 25)
 Morgan’s Theorem

The complement of expr1 && expr2 as comp1 || comp2

The complement of expr1 || expr2 is comp1 && comp2
 Exercise4 :Given x=15.0 and y = 25.0, evaluate the following
expressions :

x!=y

x<x

x >= y

x == y +x –y
 Exercise5 : Given a =5, b=10, c=15 and flag =1. Use the short circuit
evaluation :

c == a+b || !flag

a!= 7 && flag || c>=6

!(b<= 12) && a%2 ==0

!(a > 5 || c < a+b)

Complement each expression.

What is the value assigned to ans of type int if p=100 and q=50
ans = (p>95) +(q<95);
Programming
 Write an expression to test the following :

age is from 18 to 21 inclusive.

water is less than 1.5 and also greater than 0.1

year is divisible by 4.

speed is not greater than 55.

y is greater than x and less than z.

w is either equal to 6 or not greater than 3.

Assign 1 to between if n is the range –k through +k

Assign 1 to uppercase if ch is uppercase letter; otherwise assign
a value of 0.

Assign a value of 1 to divisor if m is divisor of n; otherwise
assign it the value of 0.
If Statement
 What do the statements display ?

If(12 <12)
printf (" less" );
else
printf (" not less" );

var1= 25.12, var2= 15.00
if( var1 <= var2)
printf (" less or equal" );
else
printf (" greater than" );
 What is the value assigned to x when y = 15.0 ?

x =25.0;
If (y!= (x-10.0))
x=x-10.0;
else
x=x/2.0;
 Write C statements :

If item is nonzero, then multiply product by item and save the
result in product, otherwise skip the multiplication. In either
case, print the value of product.

If x is 0, add to zero_count. If x is negative, add x to the
minus_sum. If x is greater than 0, add x to plus_sum.
 Compute the population growth from yesterday to today as a
percentage of yesterday’s population.
 Trace the following program given x =12.5, y=5.0, temp=?:
if (x>y)
{ temp=x;
x=y;
y=temp;}
Exercise6
 Write an if statement that might be used to compute and display the
average of a set of n numbers whose sum is stored in variable total.
This average should be only if n>0, otherwise an error message should
be displayed.
Multiple-Alternative Decision
 Write a C program that shows the relationship between noise and
human perceptions of noises.
Loudness in Decibels (db)
Perception
-----------------------------------------------------------------50 or lower
quiet
51-70
intrusive
71-90
annoying
91-110
very annoying
above 110
uncomfortable
Exercice7
 A store clerk gains a raise of 10% of his salary if all the sales he has
performed exceed 30,000 DH worth of the merchandise each month,
an only 5% raise if the sales are below 30,000 DH. Write a C program
that shows the clerk man how to figure out what is his raise.
 Explain the difference between :
If( x >= 0)
x = x+1
else if (x>=1)
x= x+2
And
If (x >= 0)
x = x+1
if (x>=1)
x= x+2
Exercise 8
Write a program to show the expected brightness of a standard
light bulb given its wattage. Display Unknown bulb if the watts input
is not in the table.
Watts
Brightness (in Lumens)
--------------------------------------------15
125
25
215
40
500
60
880
75
1000
100
1675