1 Conditional Statement. 2 Conditional Statements Allow different sets of instructions to be executed depending on truth or falsity of a logical condition.

Slides:



Advertisements
Similar presentations
Control Statements. Define the way of flow in which the program statements should take place. Control Statements Implement decisions and repetitions.
Advertisements

Fundamental of C programming
Decisions If statements in C.
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Week 4 Selections This week shows how to use selection statements for more flexible programs. It also describes the various integral types that are available.
Control Flow C and Data Structures Baojian Hua
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
true (any other value but zero) false (zero) expression Statement 2
1 Chapter 3 Flow of Control. 2 Outline  How to specify conditions?  Relational, Equality and Logical Operators  Statements  Statements: compound statement.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
C++ for Engineers and Scientists Third Edition
Programming Control Flow. Sequential Program S1 S2 S5 S4 S3 int main() { Statement1; Statement2; … StatementN; } Start End.
Selection. Computer Programming 2 Objectives Examine if statement in more detail Study use of switch statement to implement multialternative selections.
Week 3 – Selection Structures UniMAP SemPGT C PROGRAMMING1.
Conditional Statement
Programming C for Engineers An exercise is posted on the web site! Due in one week Single submission.
Programming Fundamentals. Today’s lecture Decisions If else …… Switch Conditional Operators Logical Operators.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
1 4.8The do/while Repetition Structure The do/while repetition structure –Similar to the while structure –Condition for repetition tested after the body.
UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.
COMPUTER PROGRAMMING. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may repeat code.
Control Statements Spring Semester 2013Programming and Data Structure1.
CPS120: Introduction to Computer Science Decision Making in Programs.
Chapter 3 Control Flow Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
1 Conditions Logical Expressions Selection Control Structures Chapter 5.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (Switch, do-while, break) Outline 4.7The.
1 Lecture 5: Selection Structures. Outline 2  Control Structures  Conditions  Relational Operators  Logical Operators  if statements  Two-Alternatives.
Copyright © 2012 Pearson Education, Inc. Chapter 4: Making Decisions.
1 Conditional Statement. 2 Conditional Statements Allow different sets of instructions to be executed depending on truth or falsity of a logical condition.
Decision making statements. Decision making statements are used to skip or to execute a group of statements based on the result of some condition. The.
Lecture 3 – Selection. Outline Recall selection control structure Types of selection One-way selection Two-way selection Multi-selection Compound statement.
IIT Kanpur C Course Lecture 3 Aug 31, Rishi Kumar, Final year BT-MT, CSE.
Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators.
Week 4 Program Control Structure
1 Agenda If Statement True/False Logical Operators Nested If / Switch Exercises & Misc.
Chapter 7 Conditional Statements. 7.1 Conditional Expressions Conditions - compare the values of variables, constants and literals using one or more relational.
CPS120: Introduction to Computer Science Decision Making in Programs.
Control Statements: Part1  if, if…else, switch 1.
Making Decisions in c. 1.if statement Imagine that you could translate a statement such as “If it is not raining, then I will go swimming” into the C.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
 By the end of this section you should be able to: ◦ Differentiate between sequence, selection, and repetition structure. ◦ Differentiae between single,
LECTURE # 7 : STRUCTURED PROGRAMMING Selection Statements Tr.Hadeel.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
C++ for Engineers and Scientists Second Edition Chapter 4 Selection Structures.
Lesson #4 Logical Operators and Selection Statements.
Lesson #4 Logical Operators and Selection Statements.
The if…else Selection Statement
Selection (also known as Branching) Jumail Bin Taliba by
Decisions Chapter 4.
Chapter 4: Making Decisions.
Week 3 C Program Structures (Selection Structures)
CHAPTER 4 Selection CSEG1003 Introduction to Computing
Week 3 – Selection Structures
DKT121: Fundamental of Computer Programming
Programming Fundamentals
Chapter 4: Making Decisions.
Flow of Control.
Looping.
Flow of Control.
CS1100 Computational Engineering
Flow of Control.
Chapter 7 Conditional Statements
Relational, Logical, and Equality Operators
Week 3 – Program Control Structure
Control Statements Paritosh Srivastava.
Comparing Data & the ‘switch’ Statement
Flow of Control.
Presentation transcript:

1 Conditional Statement

2 Conditional Statements Allow different sets of instructions to be executed depending on truth or falsity of a logical condition Also called Branching How do we specify conditions?  Using expressions non-zero value means condition is true value 0 means condition is false  Usually logical expressions, but can be any expression The value of the expression will be used

3 Branching: if Statement if (expression) statement; if (expression) { Block of statements; }

4 Branching: if Statement if (expression) statement; if (expression) { Block of statements; } The condition to be tested is any expression enclosed in parentheses. The expression is evaluated, and if its value is non-zero, the statement is executed.

5 true false marks >= 40 print “Passed” print “Good luck”

6 true false marks >= 40 print “Passed” print “Good luck” A decision can be made on any expression. zero - false nonzero - true

7 true false marks >= 40 print “Passed” print “Good luck” A decision can be made on any expression. zero - false nonzero - true if (marks >= 40) { printf(“Passed \n”); printf(“Good luck\n”); } printf (“End\n”) ;

8 Branching: if-else Statement if (expression) { Block of statements; } else { Block of statements; } if (expression) { Block of statements; } else if (expression) { Block of statements; } else { Block of statements; }

9 Grade Computation void main() { int marks; scanf(“%d”, &marks); if (marks >= 80) printf (”A”) ; else if (marks >= 70 && marks <80) printf (”B”) ; else if (marks >= 60 && marks <70) printf (”C”) ; else printf (”Failed”) ; }

10 void main () { int marks; scanf (“%d”, &marks) ; if (marks>= 80) { printf (“A: ”) ; printf (“Good Job!”) ; } else if (marks >= 70 && marks <80 ) printf (“B ”) ; else if (marks >= 60 && marks <70 ) printf (“C ”) ; else { printf (“Failed: ”) ; printf (“Study hard for the supplementary”) ; }

11 Find the larger of two numbers START STOP READ X, Y OUTPUT Y ISX>Y? OUTPUT X STOP YESNO

12 Find the larger of two numbers START STOP READ X, Y OUTPUT Y ISX>Y? OUTPUT X STOP YESNO void main () { int x, y; scanf (“%d%d”, &x, &y) ; if (x > y) printf (“%d\n”, x); else printf (“%d\n”, y); }

13 Confusing Equality (==) and Assignment (=) Operators Dangerous error  Does not ordinarily cause syntax errors  Any expression that produces a value can be used in control structures  Nonzero values are true, zero values are false Example: if ( payCode = 4 ) printf( "You get a bonus!\n" ); WRONG! Will always print the line

14 The switch Statement An alternative to writing lots of if-else in some special cases This causes a particular group of statements to be chosen from several available groups based on equality tests only Uses switch statement and case labels

15 Syntax switch (expression) { case const-expr-1: S-1 case const-expr-2: S-2 : case const-expr-m: S-m default: S } expression is any integer-valued expression const-expr-1, const-expr-2,…are any constant of integer-valued expressions  Values must be distinct S-1, S-2, …,S-m, S are statements/compound statements Default is optional, and can come anywhere (not necessarily at the end as shown)

16 Behavior of switch expression is first evaluated It is then compared with const-expr-1, const- expr-2,…for equality in order If it matches any one, all statements from that point till the end of the switch are executed (including statements for default, if present)  Use break statements if you do not want this (see example) Statements corresponding to default, if present, are executed if no other expression matches

17 Example int x; scanf(“%d”, &x); switch (x) { case 1: printf(“One\n”); case 2: printf(“Two\n”); default: printf(“Not one or two\n”); }; If x = 1 is entered, this will print One Two Not one or two Not what we want switch-1.c

18 Correct Program int x; scanf(“%d”, &x); switch (x) { case 1: printf(“One\n”); break; case 2: printf(“Two\n”); break; default: printf(“Not one or two\n”); }; If x = 1 is entered, this will print One switch-2.c

19 Rounding a Digit switch (digit) { case 0: case 1: case 2: case 3: case 4: result = 0; printf (“Round down\n”); break; case 5: case 6: case 7: case 8: case 9: result = 10; printf(“Round up\n”); break; } Since there isn’t a break statement here, the control passes to the next statement without checking the next condition.

20 The break Statement Used to exit from a switch or terminate from a loop With respect to “switch”, the “break” statement causes a transfer of control out of the entire “switch” statement, to the first statement following the “switch” statement Can be used with other statements also …(will show later)

21 The Conditional Operator ?: This makes use of an expression that is either non- 0 or 0. An appropriate value is selected, depending on the value of the expression Example: instead of writing if (balance > 5000) interest = balance * 0.2; else interest = balance * 0.1; We can just write interest = (balance > 5000) ? balance * 0.2 : balance * 0.1;

22 More Examples if (((a >10) && (b < 5)) x = a + b; else x = 0; x = ((a > 10) && (b < 5)) ? a + b : 0 if (marks >= 60) printf(“Passed \n”); else printf(“Failed \n”); (marks >= 60) ? printf(“Passed \n”) : printf(“Failed \n”);

23 Nesting of if-else Structures It is possible to nest if-else statements, one within another All “if” statements may not be having the “else” part  Confusion?? Rule to be remembered:  An “else” clause is associated with the closest preceding unmatched “if”

24 Dangling else problem if (exp1) if (exp2) stmta else stmtb if (exp1) { if (exp2) stmta else stmtb } OR if (exp1) { if (exp2) stmta } else stmtb ? Which one is the correct interpretation? Give braces explicitly in your programs to match the else with the correct if to remove any ambiguity

25 More Examples if e1 s1 else if e2 s2 if e1 s1 else if e2 s2 else s3 if e1 if e2 s1 else s2 else s3 ?

26 Answers if e1 s1 else if e2 s2else { if e2 s2 } if e1 s1if e1 s1 else if e2 s2else { if e2 s2 else s3else s3 } if e1 if e2 s1 if e1 { if e2 s1 else s2 else s2 } else s3