Introduction to Computer Programming (C language) - Chapter 4: Selection Statements - Võ Thị Ngọc Châu

pdf 32 trang Gia Huy 17/05/2022 2590
Bạn đang xem 20 trang mẫu của tài liệu "Introduction to Computer Programming (C language) - Chapter 4: Selection Statements - Võ Thị Ngọc Châu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfintroduction_to_computer_programming_c_language_chapter_4_se.pdf

Nội dung text: Introduction to Computer Programming (C language) - Chapter 4: Selection Statements - Võ Thị Ngọc Châu

  1. Ho Chi Minh City University of Technology Faculty of Computer Science and Engineering Chapter 4: Selection Statements Introduction to Computer Programming (C language) TS. Võ Thị Ngọc Châu (chauvtn@cse.hcmut.edu.vn, chauvtn@hcmut.edu.vn) 2017 – 2018, Semester 2
  2. Course Content C.1. Introduction to Computers and Programming C.2. C Program Structure and its Components C.3. Variables and Basic Data Types C.4. Selection Statements C.5. Repetition Statements C.6. Functions C.7. Arrays C.8. Pointers C.9. File Processing 2
  3. References [1] “C: How to Program”, 7th Ed. – Paul Deitel and Harvey Deitel, Prentice Hall, 2012. [2] “The C Programming Language”, 2nd Ed. – Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, 1988 and others, especially those on the Internet 3
  4. Content Introduction if statements if else statements Nested if /if else statements switch case statements Summary 4
  5. Introduction Recall  Statement ended with a semicolon (;) stretched on multiple lines with a backslash \ at the end able to be grouped in the brackets {} not consider spaces  Block specified by {} with no semicolon after the right brace contains as many statements as required is a compound statement, syntactically equivalent to a single statement Sequentially processed from the beginning to the end of a function 5
  6. Introduction Given a void main() { double positiveNumber[10] = {2, 1, 3, 10, 8, 3, 4, 5, 9, 12}; set of n int n = 10; positive double minNumber = positiveNumber[0]; int iteration = 1; numbers, while (iteration < n) { find the if (minNumber <= positiveNumber[iteration]) Single iteration = iteration + 1; smallest statement else { one. minNumber = positiveNumber[iteration]; Block iteration = iteration + 1; (Chapter 1 – } Real code in C) } } 6
  7. Introduction Control statements in C  Sequence Assignment Function calling  Selection if if else switch case  Repetition for while do while 7
  8. Introduction Given a void main() { double positiveNumber[10] = {2, 1, 3, 10, 8, 3, 4, 5, 9, 12}; set of n int n = 10; positive double minNumber = positiveNumber[0]; int iteration = 1; numbers, while (iteration < n) { find the if (minNumber <= positiveNumber[iteration]) iteration = iteration + 1; smallest else { one. minNumber = positiveNumber[iteration]; iteration = iteration + 1; (Chapter 1 – } Control Statements for Selection Real code in C) } } 8
  9. if statements if ( ) false (0) if ( ) { true ( 0) } is performed (selected) if is true. Otherwise, ignored. 9
  10. if statements false (0) grade>=5.0 true ( 0) printf(“Passed”); Print “Passed” if grade >= 5.0. Otherwise, ignored. 10
  11. if else statements if ( ) else if ( ) false (0) else { } true ( 0) if ( ) { } else if ( ) { } else is performed (selected) { if is true. } Otherwise, is performed.11
  12. if else statements false (0) grade >= 5.0 true ( 0) printf(“Passed”); printf(“Failed”); Print “Passed” if grade >= 5.0. Otherwise, print “Failed”. 12
  13. if else statements Conditional expression: ? : can be regarded as: if ( ) ; else ; 13
  14. if else statements Which one do you prefer: conditional expressions or if else statements? 14
  15. Nested if /if else statements if ( ) if ( ) { { if ( ) if ( ) } } else { if ( ) } 15
  16. Nested if /if else statements 16
  17. Nested if /if else statements 17
  18. Nested if /if else statements A multi-way decision if ( ) else if ( ) else if ( ) else if ( ) else 18
  19. Nested if /if else statements Be careful with specifying “else” for “which if”: if ( ) if ( ) else should be: if ( ) { d = ? 5? 10? 20? if ( ) } else or: if ( ) { if ( ) else d = ? 5? 10? 2019? }
  20. switch case statements false (0) false (0) false (0) true ( 0) true ( 0) true ( 0) switch ( ) { a multi-way decision case : ; break; that tests whether an case : ; break; expression matches one of a number of constant case : ; break; integer values, and [default: ] branches accordingly } 20
  21. switch case statements switch ( ) { case : ; break; case : ; break; case : ; break; [default: ] } can be regarded as: if ( == ) else if ( == ) else if ( == ) [else ] 21
  22. switch case statements has a type of integer numbers, enumerated data, characters. , , are constants of one of the aforementioned types.  Cases serve as labels. [default: ] is optional. “fall-through” property of switch case  After the code for one case is done, execution falls through to the next unless an explicit action is taken to escape. break (return) statement 22
  23. switch case statements false (0) false (0) false (0) aChar==„a‟ aChar==„b‟ true ( 0) true ( 0) true ( 0) printf „a‟; printf „b‟; printf break; break; default; 23
  24. switch case statements false (0) false (0) false (0) true ( 0) true ( 0) true ( 0) switch case statement with “fall-through” property switch ( ) { case : case : case : [default: ] } 24
  25. switch case statements switch case statement with “fall-through” property can be regarded as: if ( == ) { switch ( ) { case : case : case : } [default: ] else if ( == ) { } } else if ( == ) { } [else ] 25
  26. switch case statements false (0) false (0) false (0) aChar==„a‟ aChar==„b‟ true ( 0) true ( 0) true ( 0) printf printf „a‟; printf „b‟; default; switch case statement with “fall-through” property 26
  27. Put them all together Given a problem: build your timetable in a week. Input a day in a week and output its corresponding activities. string.h: a standard library file for strings  Compare two strings int strcmp(const char *str1, const char *str2) . 0 if str1 > str2 (greater than) . = 0 if str1 = str2 (equal)  Copy a string to another one char *strcpy(char *destination, const char *source) 29
  28. Add more codes to make such an input valid (?!) 30
  29. Summary Control statements for selection  if statements  if else statements  switch case statements Statements can be selected for execution according to a “TRUE” ( 0) value of a condition (expression). Selection statements play an important role in programming. 31
  30. Chapter 4: Selection Statements 32