150 likes | 172 Views
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.
E N D
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) • --------------------------------------------- • 125 • 215 • 500 • 60 880 • 75 1000 • 100 1675