slide1
Download
Skip this Video
Download Presentation
Selection

Loading in 2 Seconds...

play fullscreen
1 / 11

Notes week 5 - PowerPoint PPT Presentation


  • 364 Views
  • Uploaded on

Selection Selection allows you to choose between two or more alternatives. In C this means that the course of your executing program will depend on the result of an expression. true (any other value but zero) false (zero) expression Statement 2 Statement 1 Logical Flow Selection

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Notes week 5' - Audrey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Selection

Selection allows you to choose between two or more alternatives. In C this means that the course of your executing program will depend on the result of an expression.

true

(any other

value but

zero)

false

(zero)

expression

Statement 2

Statement 1

Logical Flow

slide2

Selection

Logical data in C - C recognizes zero as a false value and any other nonzero value is considered true.

Logical Operators - logical operators form conditions or logical expressions.

Thenot operator ( ! ) changes a true value (nonzero ) to false ( zero ) and a false value ( zero ) to true (one ).

slide3

Selection

The andoperator ( && ) is a binary operator with four distinct possible combinations of values in its operands.

The or operator ( || ) is a binary operator with four distinct combinations of values in its operands.

slide4

Selection

Short-circuit evaluation - C will stop evaluation when it knows for sure what the final result will be.

false && ( anything )

true || ( anything )

after the first operand is evaluated and found to be false and the operator is the and operator ( && ) the second operand will not be evaluated ( this could cause unexpected results if the second operand has side effects )

Relational Operators - Relational operators support logical relations. They are all binary operators that accept two operands and compare them. The result is logical data, that is, it is always a zero or one.

slide5

Selection

  • The if …. else Statement - An if…else statement is a composite statement used to make a decision between two alternatives.
  • Syntax:
      • if ( expression )
      • statement 1
      • else
      • statement 2
  • The expression can be any C expression. After it has been evaluated, if its value is true (not zero ), statement 1 is executed: otherwise, statement2 is executed. It is impossible for both statements to be executed in the same evaluation.
  • Syntactical rules for if…else statements:
    • The expression must be enclosed in parentheses.
    • No semicolon ( ; ) is needed for an if..else statement. Statement 1 and statement 2 may have a semicolon as required by their types.
    • The expression can have a side effect.
    • Both the true and false statements can be any statement (even another if…else statement) or can be a null statement.
slide6

Selection

      • We can swap the position of statement 1 and statement2 if we use the complement of the original expressions.
    • if ( x > y)
    • printf( “ x is greater than y\n”) ;
    • else
      • printf(“ y is greater than x\n”) ;
  • An if…else with a compound statement
    • if ( x != y)
      • {
    • printf( “ x is not equal to y\n”) ;
    • x = y;
      • }
    • else
      • {
      • printf(“ x is equal to y\n”) ;
      • }

The semicolons

belong to the

expression statements

not to the

if…else statement

Curly brackets

slide7

Selection

  • A null else statement:
    • if ( x > 7 && x < 10)
      • {
    • printf( “ x is either 8 or 9\n”) ;
      • }

else is null

slide8

Selection

  • Nested if statements - when an if…else is included within an if…else, it is known as a nested if.
    • if ( x <= y)
      • if ( x < y)
        • printf( “ %d < %d\n”, x ,y);
      • else
        • printf( “ %d == %d\n”, x ,y);
    • else
    • printf(“ %d > %d\n”, x ,y);
  • Dangling else problem - This problem is created when there is no matching else for every if. Simple rule: else is always paired with the most recent unpaired if
    • if ( x <= y)
      • if ( x < y)
        • printf( “ %d < %d\n”, x ,y);
    • else
      • printf( “ %d == %d\n”, x ,y);

The compiler pairs

this if and else!

slide9

Selection

  • Multiway selection - multiway selection chooses among several alternatives. There are two different ways to implement multiway selection in C. The first is by using the switchstatement. The other is a programming technique known as the else-if that provides a convenient style to nest if statements.
  • The else-if -There is no such C construct as the else-if. Rather, it is a style of coding that is used when you need a multiway selection based on a value that is not integral.
      • if ( score >= 90 )
      • grade = ‘A’ ;
        • else if (score >= 80 )
        • grade = ‘B’ ;
        • else if (score >= 70 )
        • grade = ‘C’ ;
        • else if (score >= 60 )
        • grade = ‘D’ ;
        • else
        • grade = ‘F’ ;
  • The else-if is used when:
        • The selection variable is not an integral and
        • The same variable is being tested in the expression
slide10

Selection

  • The switch Statement - Switch is a composite statement used to make a decision between many alternatives. The selection condition must be one of the C integral types.
  • Syntax:
  • switch ( expression )
  • {
    • case constant-1 : statement;
        • statement;
        • case constant-2 : statement;
        • statement;
        • ……
        • statement;
        • case constant-3 : statement;
        • …….
        • statement;
        • case constant-n : statement;
        • statement;
        • default : statement;
        • …….
        • statement;
        • } /* end switch */
slide11

Selection

  • Syntactical rules for the switch statement:
    • There must be at least one case statement.
    • Each case expression is associated with a constant.
    • The case expression is followed by a colon ( : ) and then the statement with which it is associated.
    • There may be one or more statements for each case. The case label simply provides an entry point to start executing the code.
    • Default is executed whenever none of the previous case values matched the value in the switch expression. The default is optional.
    • When the statements associated with one case have been executed, the program flow continues with the statements for the next case unless a break statement is used. The break statement causes the program to jump out of the switch statement (goes to the closing brackets and continues with code following the switch
ad