C Lecture Notes 1 Program Control (Cont...). C Lecture Notes 2 4.8The do / while Repetition Structure The do / while repetition structure –Similar to.

Slides:



Advertisements
Similar presentations
BBS514 Structured Programming (Yapısal Programlama)1 Functions and Structured Programming.
Advertisements

Chapter 5 C Functions The best way to develop and maintain a large program is to divide it into several smaller program modules, each of which is more.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 4 – C Program Control Outline 4.1Introduction.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program Modules in C 5.3Math Library Functions 5.4Functions.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
FunctionsFunctions Systems Programming. Systems Programming: Functions 2 Functions   Simple Function Example   Function Prototype and Declaration.
 2007 Pearson Education, Inc. All rights reserved C Functions.
 2007 Pearson Education, Inc. All rights reserved C Functions.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
 2003 Prentice Hall, Inc. All rights reserved. 1 Functions Modules: functions and classes Programs use new and “prepackaged” modules –New: programmer-defined.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Control Statements II.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved The switch Multiple-Selection Statement switch.
1 Functions Modules: functions and classes Programs use new and “prepackaged” modules –New: programmer-defined functions, classes –Prepackaged: from the.
 2000 Prentice Hall, Inc. All rights reserved. Functions in C Outline 1Introduction 2Program Modules in C 3Math Library Functions 4Functions 5Function.
FunctionsFunctions Systems Programming Concepts. Functions   Simple Function Example   Function Prototype and Declaration   Math Library Functions.
1 Lecture 4 for loops and switch statements Essentials of Counter-Controlled Repetition Counter-controlled repetition requires  Name of control.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
 2007 Pearson Education, Inc. All rights reserved C Functions.
Lecture 4 C Program Control Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
1 4.8The do/while Repetition Structure The do/while repetition structure –Similar to the while structure –Condition for repetition tested after the body.
Algorithm and Programming Branching Algorithm & C Program Control Dr. Ir. Riri Fitri Sari MM MSc International Class Electrical Engineering Dept University.
C Program Control Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010 Fall.
Functions in C Outline 1Introduction 2Program Modules in C 3Math Library Functions 4Functions 5Function Definitions 6Function Prototypes 7Header Files.
Chapter 06 (Part I) Functions and an Introduction to Recursion.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (Switch, do-while, break) Outline 4.7The.
Chapter 4 C Program Control. Objectives In this chapter, you will learn: –To be able to use the for and do … while repetition statements. –To understand.
Programming in C++ Language ( ) Lecture 5: Functions-Part1 Dr. Lubna Badri.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 6 September 17, 2009.
Chapter 5 - Functions Outline 5.1Introduction 5.2Program Modules in C 5.3Math Library Functions 5.4Functions 5.5Function Definitions 5.6Function Prototypes.
Spring 2005, Gülcihan Özdemir Dağ Lecture 5, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring Lecture 5 Outline 5.0 Revisiting.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Functions Outline 5.1Introduction 5.2Program Modules.
C++ Programming Lecture 9 Functions – Part I By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
KIC/Computer Programming & Problem Solving 1.  Introduction  Program Modules in C  Math Library Functions  Functions  Function Definitions  Function.
EPSII 59:006 Spring Call-by-value example #include void increment(int); //prototype for increment function int main(void) { int a=1; printf("Value.
TMC1414/TMC1413 I NTRODUCTION T O P ROGRAMMING Lecture 06 Function.
Java™ How to Program, Early Objects Version, 8/e © by Pearson Education, Inc. All Rights Reserved.
 2000 Prentice Hall, Inc. All rights reserved. 5.2Program Modules in C Functions –Modules in C –Programs combine user-defined functions with library functions.
CHAPTER 4 FUNCTIONS Dr. Shady Yehia Elmashad. Outline 1.Introduction 2.Program Components in C++ 3.Math Library Functions 4.Functions 5.Function Definitions.
Dale Roberts CSCI N305 Functions Declarations Department of Computer and Information Science, School of Science, IUPUI.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
C Program Control September 15, OBJECTIVES The essentials of counter-controlled repetition. To use the for and do...while repetition statements.
Dale Roberts Program Control Department of Computer and Information Science, School of Science, IUPUI Fall 2003 CSCI 230 Dale Roberts, Lecturer
Lecture 12: Dividing Up Work. Why Using Functions Divide-and-conquer making large program development more manageable. Software reusability Use existing.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 4.
Chapter 4 – C Program Control
The if…else Selection Statement
Functions Course conducted by: Md.Raihan ul Masood
Chapter 4 - Program Control
Deitel- C:How to Program (5ed)
Chapter 5 - Functions Outline 5.1 Introduction
Chapter 5 - Functions Outline 5.1 Introduction
Functions.
Chapter 5 - Functions Outline 5.1 Introduction
Functions Declarations CSCI 230
- Additional C Statements
Chapter 6 - Functions Outline 5.1 Introduction
Chapter 4 - Program Control
4 C Program Control.
2.6 The if/else Selection Structure
Dale Roberts, Lecturer IUPUI
Chapter 4 - Program Control
Functions in C Math Library Functions Functions Function Definitions
Presentation transcript:

C Lecture Notes 1 Program Control (Cont...)

C Lecture Notes 2 4.8The do / while Repetition Structure The do / while repetition structure –Similar to the while structure –Condition for repetition tested after the body of the loop is performed All actions are performed at least once –Format: do { statement; } while ( condition );

C Lecture Notes 3 4.8The do / while Repetition Structure Example (letting counter = 1): do { printf( "%d ", counter ); } while (++counter <= 10); –Prints the integers from 1 to 10

C Lecture Notes 4 4.8The do / while Repetition Structure Flowchart of the do / while repetition structure true false action(s) condition

1. Initialize variable 2. Loop 3. Print Program Output 1/* Fig. 4.9: fig04_09.c 2 Using the do/while repetition structure */ 3#include 4 5int main() 6{6{ 7 int counter = 1; 8 9 do { 10 printf( "%d ", counter ); 11 } while ( ++counter <= 10 ); return 0; 14}

C Lecture Notes 6 4.9The break and continue Statements break –Causes immediate exit from a while, for, do / while or switch structure –Program execution continues with the first statement after the structure –Common uses of the break statement Escape early from a loop Skip the remainder of a switch structure

C Lecture Notes 7 4.9The break and continue Statements continue –Skips the remaining statements in the body of a while, for or do / while structure Proceeds with the next iteration of the loop –while and do / while Loop-continuation test is evaluated immediately after the continue statement is executed –for Increment expression is executed, then the loop-continuation test is evaluated

1. Initialize variable 2. Loop 3. Print Program Output 1/* Fig. 4.12: fig04_12.c 2 Using the continue statement in a for structure */ 3#include 4 5int main() 6{6{ 7 int x; 8 9 for ( x = 1; x <= 10; x++ ) { if ( x == 5 ) 12 continue; /* skip remaining code in loop only 13 if x == 5 */ printf( "%d ", x ); 16 } printf( "\nUsed continue to skip printing the value 5\n" ); 19 return 0; 20} Used continue to skip printing the value 5

C Lecture Notes Logical Operators && ( logical AND ) –Returns true if both conditions are true || ( logical OR ) –Returns true if either of its conditions are true ! ( logical NOT, logical negation ) –Reverses the truth/falsity of its condition –Unary operator, has one operand Useful as conditions in loops ExpressionResult true && falsefalse true || falsetrue !falsetrue

C Lecture Notes 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 using == : if ( payCode == 4 ) printf( "You get a bonus!\n" ); Checks paycode, if it is 4 then a bonus is awarded

C Lecture Notes Confusing Equality ( == ) and Assignment ( = ) Operators –Example, replacing == with = : if ( payCode = 4 ) printf( "You get a bonus!\n" ); This sets paycode to 4 4 is nonzero, so expression is true, and bonus awarded no matter what the paycode was –Logic error, not a syntax error

C Lecture Notes Confusing Equality ( == ) and Assignment ( = ) Operators lvalues –Expressions that can appear on the left side of an equation –Their values can be changed, such as variable names x = 4; rvalues –Expressions that can only appear on the right side of an equation –Constants, such as numbers Cannot write 4 = x; Must write x = 4; –lvalues can be used as rvalues, but not vice versa y = x;

C Lecture Notes Structured-Programming Summary Structured programming –Easier than unstructured programs to understand, test, debug and, modify programs Rules for structured programming –Rules developed by programming community –Only single-entry/single-exit control structures are used –Rules: 1.Begin with the “simplest flowchart” 2.Any rectangle (action) can be replaced by two rectangles (actions) in sequence 3.Any rectangle (action) can be replaced by any control structure (sequence, if, if / else, switch, while, do / while or for ) 4.Rules 2 and 3 can be applied in any order and multiple times

C Lecture Notes Structured-Programming Summary Rule 2 Rule 1 - Begin with the simplest flowchart Rule 2 - Any rectangle can be replaced by two rectangles in sequence

C Lecture Notes Structured-Programming Summary Rule 3 Rule 3 - Replace any rectangle with a control structure

C Lecture Notes Structured-Programming Summary All programs can be broken down into 3 controls –Sequence – handled automatically by compiler –Selection – if, if / else or switch –Repetition – while, do / while or for Can only be combined in two ways –Nesting (rule 3) –Stacking (rule 2) –Any selection can be rewritten as an if statement, and any repetition can be rewritten as a while statement

C Lecture Notes 17 Functions

C Lecture Notes Introduction Divide and conquer –Construct a program from smaller pieces or components These smaller pieces are called modules –Each piece more manageable than the original program

C Lecture Notes Program Modules in C Functions –Modules in C –Programs combine user-defined functions with library functions C standard library has a wide variety of functions Function calls –Invoking functions Provide function name and arguments (data) Function performs operations or manipulations Function returns results –Function call analogy: Boss asks worker to complete task –Worker gets information, does task, returns result –Information hiding: boss does not know details

C Lecture Notes Math Library Functions Math library functions –perform common mathematical calculations –#include Format for calling functions –FunctionName( argument ); If multiple arguments, use comma-separated list –printf( "%.2f", sqrt( ) ); Calls function sqrt, which returns the square root of its argument All math functions return data type double –Arguments may be constants, variables, or expressions

C Lecture Notes Functions Functions –Modularize a program –All variables declared inside functions are local variables Known only in function defined –Parameters Communicate information between functions Local variables Benefits of functions –Divide and conquer Manageable program development –Software reusability Use existing functions as building blocks for new programs Abstraction - hide internal details (library functions) –Avoid code repetition

C Lecture Notes Function Definitions Function definition format return-value-type function-name( parameter-list ) { declarations and statements } –Function-name: any valid identifier –Return-value-type: data type of the result (default int ) void – indicates that the function returns nothing –Parameter-list: comma separated list, declares parameters A type must be listed explicitly for each parameter unless, the parameter is of type int

C Lecture Notes Function Definitions Function definition format (continued) return-value-type function-name( parameter-list ) { declarations and statements } –Declarations and statements: function body (block) Variables can be declared inside blocks (can be nested) Functions can not be defined inside other functions –Returning control If nothing returned –return; –or, until reaches right brace If something returned –return expression ;

1. Function prototype (3 parameters) 2. Input values 2.1 Call function 3. Function definition Program Output 1/* Fig. 5.4: fig05_04.c 2 Finding the maximum of three integers */ 3#include 4 5int maximum( int, int, int ); /* function prototype */ 6 7int main() 8{8{ 9 int a, b, c; printf( "Enter three integers: " ); 12 scanf( "%d%d%d", &a, &b, &c ); 13 printf( "Maximum is: %d\n", maximum( a, b, c ) ); return 0; 16} 17 18/* Function maximum definition */ 19int maximum( int x, int y, int z ) 20{ 21 int max = x; if ( y > max ) 24 max = y; if ( z > max ) 27 max = z; return max; 30} Enter three integers: Maximum is: 85

C Lecture Notes Function Prototypes Function prototype –Function name –Parameters – what the function takes in –Return type – data type function returns (default int ) –Used to validate functions –Prototype only needed if function definition comes after use in program –The function with the prototype int maximum( int, int, int ); Takes in 3 int s Returns an int Promotion rules and conversions –Converting to lower types can lead to errors

C Lecture Notes Header Files Header files –Contain function prototypes for library functions –,, etc –Load with #include #include Custom header files –Create file with functions –Save as filename.h –Load in other files with #include "filename.h" –Reuse functions