Presentation is loading. Please wait.

Presentation is loading. Please wait.

CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana.

Similar presentations


Presentation on theme: "CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana."— Presentation transcript:

1 CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana

2 Flow of Control Unless specified otherwise, the order of statement execution through a function is linear: one statement after another in sequence Some programming statements allow us to: – decide whether or not to execute a particular statement – execute a statement over and over, repetitively These decisions are based on boolean expressions (or conditions) that evaluate to true or false The order of statement execution is called the flow of control

3 Conditional Statements A conditional statement lets us choose which statement will be executed next Therefore they are sometimes called selection statements Conditional statements give us the power to make basic decisions The C conditional statements are the: – if statement – if-else statement – switch statement

4 Logic of an if statement condition evaluated statement true false

5 The if Statement The if statement has the following syntax: if ( condition ) statement; if is a C reserved word The condition must be a boolean expression. It must evaluate to either true or false. If the condition is true, the statement is executed. If it is false, the statement is skipped.

6 Logic of an if-else statement condition evaluated statement1 true false statement2

7 The if-else Statement An else clause can be added to an if statement to make an if-else statement if ( condition ) statement1; else statement2; If the condition is true, statement1 is executed; if the condition is false, statement2 is executed One or the other will be executed, but not both

8 Boolean Expressions A condition often uses one of C's equality operators or relational operators, which all return boolean results: == equal to != not equal to < less than > greater than <= less than or equal to >= greater than or equal to Note the difference between the equality operator ( == ) and the assignment operator ( = )

9 Boolean Expressions in C C does not have a boolean data type. Therefore, C compares the values of variables and expressions against 0 (zero) to determine if they are true or false. If the value is 0 then the result is implicitly assumed to be false. If the value is different from 0 then the result is implicitly assumed to be true. C++ and Java have boolean data types.

10 Block Statements Several statements can be grouped together into a block statement delimited by braces A block statement can be used wherever a statement is called for in the C syntax rules if (total > MAX) { printf ("Error!!\n"); errorCount++; }

11 Block Statements In an if-else statement, the if portion, or the else portion, or both, could be block statements if (total > MAX) { printf("Error!!"); errorCount++; } else { printf ("Total: %d“, total); current = total*2; }

12 Nested if Statements The statement executed as a result of an if statement or else clause could be another if statement These are called nested if statements An else clause is matched to the last unmatched if (no matter what the indentation implies) Braces can be used to specify the if statement to which an else clause belongs

13 The switch Statement The switch statement provides another way to decide which statement to execute next The switch statement evaluates an expression, then attempts to match the result to one of several possible cases Each case contains a value and a list of statements The flow of control transfers to statement associated with the first case value that matches © 2004 Pearson Addison-Wesley. All rights reserved

14 The switch Statement Often a break statement is used as the last statement in each case's statement list A break statement causes control to transfer to the end of the switch statement If a break statement is not used, the flow of control will continue into the next case Sometimes this may be appropriate, but often we want to execute only the statements associated with one case

15 The switch Statement switch (option) { case 'A': aCount++; break; case 'B': bCount++; break; case 'C': cCount++; break; default: otherCount++; break; } An example of a switch statement:

16 The switch Statement A switch statement can have an optional default case The default case has no associated value and simply uses the reserved word default If the default case is present, control will transfer to it if no other case value matches If there is no default case, and no other value matches, control falls through to the statement after the switch

17 The switch Statement The expression of a switch statement must result in an integral type, meaning an integer ( byte, short, int,) or a char It cannot be a floating point value ( float or double ) The implicit test condition in a switch statement is equality You cannot perform relational checks with a switch statement

18 The switch Statement The general syntax of a switch statement is: switch ( expression ) { case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case... } switch and case are reserved words If expression matches value2, control jumps to here

19 Repetition in Programs In most software, the statements in the program may need to repeat for many times. – e.g., calculate the value of n!. – If n = 10000, it’s not elegant to write the code as 1*2*3*…*10000. Loop Loop is a control structure that repeats a group of steps in a program. – Loop body – Loop body stands for the repeated statements. There are three C loop control statements: – whilefordo-while – while, for, and do-while. 5-19

20 Flow Diagram of Loop Choice Process Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-20 e.g., calculate the value of n! e.g., read the content in a file

21 Comparison of Loop Choices (1/2) KindWhen to UseC Structure Counting loopWe know how many loop repetitions will be needed in advance. while, for Sentinel- controlled loop Input of a list of data ended by a special value while, for Endfile- controlled loop Input of a list of data from a data file while, for 5-21

22 Comparison of Loop Choices (2/2) KindWhen to UseC Structure Input validation loop Repeated interactive input of a value until a desired value is entered. do-while General conditional loop Repeated processing of data until a desired condition is met. while, for 5-22

23 The while Statement in C The syntax of while statement in C: loop repetition condition while (loop repetition condition) statement Loop repetition condition Loop repetition condition is the condition which controls the loop. true The statement is repeated as long as the loop repetition condition is true. infinite loop A loop is called an infinite loop if the loop repetition condition is always true. 5-23

24 An Example of a while Loop 5-24 Statement Loop repetition condition Loop control variable Loop control variable is the variable whose value controls loop repetition. In this example, count_emp is the loop control variable.

25 Flowchart for a while Loop 5-25 Loop repetition condition Statement

26 Compound Assignment Operators (1/2) The loop body usually consists of statements of the form: variable = variable op expression. – e.g., count_emp = count_emp + 1; compound assignment operators C provides compound assignment operators which enable a more concise notation for this kind of statements. – “variable op = expression” – “variable op = expression” is the same to “variable = variable op expression.”

27 Compound Assignment Operators (2/2) Simple Assignment Operators Compound Assignment Operators count_emp = count_emp + 1; count_emp += 1; time = time -1;time -= 1; product = product * item; product *= item; total = total / number; total /= number; n = n % (x+1);n %= x+1; 5-27

28 The for Statement in C The syntax of for statement in C: initialization expression for (initialization expression; loop repetition condition loop repetition condition; update expression update expression) statement initialization expression The initialization expression set the initial value of the loop control variable. loop repetition condition The loop repetition condition test the value of the loop control variable. update expression The update expression update the loop control variable. 5-28

29 An Example of the for Loop 5-29 Loop repetition condition Initialization Expression Update Expression count_emp is set to 0 initially. count_emp should not exceed the value of number_emp. count_emp is increased by one after each iteration.

30 Increment and Decrement Operators The statements of increment and decrement are commonly used in the for loop. ++-- The increment (i.e., ++) or decrement (i.e., --) operators are the frequently used operators which take only one operand. The increment/decrement operators increase or decrease the value of the single operand. i++ – e.g., for (int i = 0; i < 100; i++){ … } – The variable i increase one after each iteration. 5-30

31 Comparison of Prefix and Postfix Increments Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-31 The value of the expression (that uses the ++/-- operators) depends on the position of the operator. The value of j is increased The value of j is not increased

32 Nested Loops outer loop inner loops Nested loops consist of an outer loop with one or more inner loops. e.g., for (i=1;i<=100;i++){ for(j=1;j<=50;j++){ … } The above loop will run for 100*50 iterations. 5-32 Inner loop Outer loop

33 The do-while Statement in C The syntax of do-while statement in C: loop repetition condition do statement while (loop repetition condition); The statement is first executed. loop repetition condition If the loop repetition condition is true, the statement is repeated. Otherwise, the loop is exited. 5-33

34 An Example of the do-while Loop /* Find even number input */ do{ printf(“Enter a value: ”); scanf(“%d”, &num); }while (num % 2 !=0) 5-34 This loop will repeat if the user inputs odd number.


Download ppt "CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana."

Similar presentations


Ads by Google