# Functions. Systems Programming Concepts

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Functions Systems Programming Concepts

2 Functions Simple Function Example Function Prototype and Declaration Math Library Functions Function Definition Header Files Random Number Generator Call by Value and Call by Reference Scope (global and local) Call by Value Example Static Variables Systems Programming Functions 2

3 Simple Function Example char isalive ( int i) { if (i > 0) return 'A'; else return 'D'; } int main () { int Peter, Paul, Mary, Tom; main C programs start execution at main. is simply another function. All functions have a return value. Peter = 1; Paul = 2; Mary = -1; Tom = 0; printf("peter is %c Paul is %c\nmary is %c Tom is %c\n", isalive (Peter), isalive (Paul), isalive (Mary), isalive (Tom)); return 0; } %./dora Peter is A Paul is A Mary is D Tom is D Systems Programming Functions 3

4 Function Declarations char isalive ( int i); int main () { int Peter, Paul, Mary, Tom; function prototype Peter = 1; Paul = 2; Mary = -1; Tom = 0; printf("peter is %c Paul is %c\nmary is %c Tom is %c\n", isalive (Peter), isalive (Paul), isalive (Mary), isalive (Tom)); return 0; } char isalive ( int i) { if (i > 0) return 'A'; else return 'D'; } function placed after reference Systems Programming Functions 4

5 5.2 Program Modules in C Functions {also referred to as routines or subroutines} 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 Pearson Ed -All rights reserved. Systems Programming Functions 5

6 5.3 Math Library Functions Math library functions perform common mathematical calculations. #include <math.h> 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 Pearson Ed -All rights reserved. Systems Programming Functions 6

7 Fig. 5.2 Commonly used math library functions. (Part 1) Function Description Example sqrt( x ) square root of x sqrt( ) is 30.0 sqrt( 9.0 ) is 3.0 exp( x ) exponential function e x exp( 1.0 ) is exp( 2.0 ) is log( x ) natural logarithm of x (base e) log( ) is 1.0 log( ) is 2.0 log10( x ) logarithm of x (base 10) log10( 1.0 ) is 0.0 log10( 10.0 ) is 1.0 log10( ) is 2.0 fabs( x ) absolute value of x fabs( 5.0 ) is 5.0 fabs( 0.0 ) is 0.0 fabs( -5.0 ) is 5.0 ceil( x ) rounds x to the smallest integer not less than x ceil( 9.2 ) is 10.0 ceil( -9.8 ) is Pearson Ed -All rights reserved. Systems Programming Functions 7

8 Fig. 5.2 Commonly used math library functions. (Part 2) Function Description Example floor( x ) rounds x to the largest integer not greater than x floor( 9.2 ) is 9.0 floor( -9.8 ) is pow( x, y ) x raised to power y (x y ) pow( 2, 7 ) is pow( 9,.5 ) is 3.0 fmod( x, y ) remainder of x/y as a floatingpoint number fmod( , ) is sin( x ) cos( x ) tan( x ) trigonometric sine of x (x in radians) trigonometric cosine of x (x in radians) trigonometric tangent of x (x in radians) sin( 0.0 ) is 0.0 cos( 0.0 ) is 1.0 tan( 0.0 ) is Pearson Ed -All rights reserved. Systems Programming Functions 8

9 5.4 Functions Functions Modularize a program. All variables defined inside functions are local variables. Known and accessed only in defined function. Parameter list Communicate information between functions. Local variables of the function. Benefits of functions Software reusability Use existing functions as building blocks for new programs. Abstraction - hide internal details (library functions). Avoid code repetition 2007 Pearson Ed -All rights reserved. Systems Programming Functions 9

10 5.5 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 Pearson Ed -All rights reserved. Systems Programming Functions 10

11 5.5 Function Definitions Function definition format (continued) return-value-type function-name( parameter-list ) { declarations and statements } Definitions and statements: function body (block) Variables can be defined inside blocks (can be nested). Functions cannot be defined inside other functions! Returning control If nothing returned return; or, until reaches right brace If something returned return expression; 2007 Pearson Ed -All rights reserved. Systems Programming Functions 11

12 5.6 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. Promotion rules and conversions Promotion :: temporary conversion to the highest type in the expression. Converting to lower types can lead to errors Pearson Ed -All rights reserved. Systems Programming Functions 12

13 Fig. 5.5 Promotion Hierarchy Data type printf conversion specification scanf conversion specification Long double %Lf %Lf double %f %lf float %f %f Unsigned long int %lu %lu higher long int %ld %ld unsigned int %u %u int %d %d unsigned short %hu %hu short %hd %hd char %c %c lower 2007 Pearson Ed -All rights reserved. Systems Programming Functions 13

14 5.7 Function Call Stack and Activation Records Function call stack ( or program execution stack) A stack is a last-in, first-out (LIFO) data structure. Anything put into the stack is placed on top. The only data that can be taken out is the data on top. C uses a program execution stack to keep track of which functions have been called. When a function is called, it is placed on top of the stack (pushed onto the stack). When a function ends, it is taken off the stack (popped off the stack) and control returns to the function immediately below it. Calling more functions than C can handle at once is known as a stack overflow error Pearson Ed -All rights reserved. Systems Programming Functions 14

15 5.8 Headers Header files Contain function prototypes for library functions. e.g., <stdlib.h>, <math.h> Load with #include <filename> #include <math.h> Custom header files Create file with functions. Save as filename.h Load in other files with #include "filename.h" This facilitates functions reuse Pearson Ed -All rights reserved. Systems Programming Functions 15

16 Fig. 5.6 Standard Library Headers (Part 3) Standard library header Explanation <stdio.h> <stdlib.h> <string.h> <time.h> Contains function prototypes for the standard input/output library functions, and information used by them. Contains function prototypes for conversions of numbers to text and text to numbers, memory allocation, random numbers, and other utility functions. Contains function prototypes for string-processing functions. Contains function prototypes and types for manipulating the time and date. Systems Programming Functions 16

17 5.10 Random Number Generation rand function Load <stdlib.h> Returns a "random" number between 0 and RAND_MAX (at least 32767). i = rand(); Pseudo random Preset sequence of "random" numbers Same sequence for every function call Scaling To get a random number between 1 and n. i = 1 + ( rand() % n ) rand() % n returns a number between 0 and n 1. Add 1 to make random number between 1 and n. i = 1 + ( rand() % 6) number between 1 and Pearson Ed -All rights reserved. Systems Programming Functions 17

18 Random Number Example 1 /* Fig. 5.7: fig05_07.c 2 Shifted, scaled integers produced by 1 + rand() % 6 */ 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 /* function main begins program execution */ 7 int main( void ) 8 { 9 int i; /* counter */ /* loop 20 times */ 12 for ( i = 1; i <= 20; i++ ) { /* pick random number from 1 to 6 and output it */ 15 printf( "%10d", 1 + ( rand() % 6 ) ); /* if counter is divisible by 5, begin new line of output */ 18 if ( i % 5 == 0 ) { 19 printf( "\n" ); 20 } /* end if */ } /* end for */ return 0; /* indicates successful termination */ } /* end main */ Generates a random number between 1 and 6 Use of modulo operator is a standard trick to print output in column format Pearson Ed -All rights reserved. Systems Programming Functions 18

19 Call by Value When arguments are passed by the calling routine to the called routine by value, A copy of each argument s value is passed to the called routine. Hence, any changes made to the passed argument by the called routine DO NOT change the original argument in the calling routine. This avoids accidental changes known as side-effecting. Systems Programming Functions 19

20 Call by Reference When arguments are passed by the calling routine to the called routine by reference, The original argument is passed to the called routine. Hence, any changes made to the passed argument means that this changes remain in effect when control is returned to the calling routine. Systems Programming Functions 20

21 C Argument Passing Rules In C, all arguments (by default) are passed by value. * Call by reference is simulated in C by using the address operator (&) and the indirection operator (*). Array arguments are automatically passed by reference! {Much more about all this when we introduce pointers.} Systems Programming Functions 21

22 Scope (simple) In C, the scope of a declared variable or type is defined within the range of the block of code in which the declaration is made. Two simple examples: 1. declarations outside all functions are called globals. They can be referenced and modified by ANY function. {Note this violates good programming practice rules}. Systems Programming Functions 22

23 Scope (simple) 2. Local variables declarations made inside a function mean that variable name is defined only within the scope of that function. Variables with the same name outside the function are different. Every time the function is invoked the value of local variables need to be reinitialized upon entry to the function. Local variables have the automatic storage duration by default (implicit). auto double x, y /* explicit auto */ Systems Programming Functions 23

24 Call by Value Example /* Example shows call-by-value and the scope of a global variable 'out' */ int out = 100; /* out is a global variable */ /* byval modifies local, global and variables passed by value. */ int byval ( int i, int j) { int tmp; tmp = 51; i = tmp - 10*i - j; out = 2*out + i + j; global is changed j++; tmp++; printf("in byval: i = %2d, j = %2d, tmp = %2d, out = %3d\n", i, j, tmp, out); return i; } Systems Programming Functions 24

25 Call by Value Example (cont) int main () { int i, j, tmp, s; } tmp = 77; j = 1; for (i = 0; i < 2; i++) { s = byval(i,j); out = out + s - j; printf("in main : i = %2d, j = %2d, tmp = %2d, out = %3d, s = %d\n", i, j, tmp, out, s); } return 0; global is changed Systems Programming Functions 25

26 Call by Value Example int main () { int i, j, tmp, s; tmp = 77; j = 1; \$./byval In byval: i = 50, j = 2, tmp = 52, out = 251 In main : i = 0, j = 1, tmp = 77, out = 300, s = 50 In byval: i = 40, j = 2, tmp = 52, out = 641 In main : i = 1, j = 1, tmp = 77, out = 680, s = 40 } for (i = 0; i < 2; i++) { s = byval(i,j); out = out + s - j; printf("in main : i = %2d, j = %2d, tmp = %2d, out = %3d, s = %d\n", i, j, tmp, out, s); } return 0; Systems Programming Functions 26

27 Static Variables Local variables declared with the keyword static are still only known in the function in which they are defined. However, unlike automatic variables, static local variables retain their value when the function is exited. e.g., static int count = 2; All numeric static variables are initialized to zero if not explicitly initialized. Systems Programming Functions 27

28 Static Variables /* An Example of a Static Variable */ float nonstat ( float x) { int i = 1; i = 10*i; x = i - 5.0*x; return x; } float stat (float y) { static int i = 1; i = 10*i; y = i - 5.0*y; return y; } Systems Programming Functions 28

29 Static Variables \$./static int main() var1 = 2.00, var2 = 2.00 { var1 = 0.00, var2 = 0.00 int i; var1 = 10.00, var2 = float var1, var2; var2 = var1 = 2.0; var1 = , var2 = printf(" var1 = %9.2f, var2 = %9.2f\n", var1, var2); } for ( i = 1; i <= 3; i++) { var1 = nonstat(var1); var2 = stat(var2); printf(" var1 = %9.2f, var2 = %9.2f\n", var1, var2); } return 0; Systems Programming Functions 29

30 Review of Functions The important concepts introduced in this Powerpoint session are: Functions Libraries Header Files Call by Value Call by Reference Scope (global and local) Static Variables Systems Programming Functions 30

### Functions. Functions are everywhere in C. Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

1 Functions Functions are everywhere in C Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR Introduction Function A self-contained program segment that carries

### Chapter 3 - Functions

Chapter 3 - Functions 1 Outline 3.1 Introduction 3.2 Program Components in C++ 3.3 Math Library Functions 3.4 Functions 3.5 Function Definitions 3.6 Function Prototypes 3.7 Header Files 3.8 Random Number

### Functions. Prof. Indranil Sen Gupta. Dept. of Computer Science & Engg. Indian Institute t of Technology Kharagpur. Introduction

Functions Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. Indian Institute t of Technology Kharagpur Programming and Data Structure 1 Function Introduction A self-contained program segment that

### CSE101-lec#12. Designing Structured Programs Introduction to Functions. Created By: Amanpreet Kaur & Sanjeev Kumar SME (CSE) LPU

CSE101-lec#12 Designing Structured Programs Introduction to Functions Created By: Amanpreet Kaur & Sanjeev Kumar SME (CSE) LPU Outline Designing structured programs in C: Counter-controlled repetition

### C++, How to Program. Spring 2016 CISC1600 Yanjun Li 1

Chapter 6 Function C++, How to Program Deitel & Deitel Spring 2016 CISC1600 Yanjun Li 1 Function A function is a collection of statements that performs a specific task - a single, well-defined task. Divide

### Methods: A Deeper Look

1 2 7 Methods: A Deeper Look OBJECTIVES In this chapter you will learn: How static methods and variables are associated with an entire class rather than specific instances of the class. How to use random-number

### ECET 264 C Programming Language with Applications

ECET 264 C Programming Language with Applications Lecture 10 C Standard Library Functions Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture 10

### Chapter 3 - Functions

Chapter 3 - Functions 1 3.1 Introduction 3.2 Program Components in C++ 3.3 Math Library Functions 3.4 Functions 3.5 Function Definitions 3.6 Function Prototypes 3.7 Header Files 3.8 Random Number Generation

### Methods (Deitel chapter 6)

1 Plan 2 Methods (Deitel chapter ) Introduction Program Modules in Java Math-Class Methods Method Declarations Argument Promotion Java API Packages Random-Number Generation Scope of Declarations Methods

### Chapter 3 - Functions. Chapter 3 - Functions. 3.1 Introduction. 3.2 Program Components in C++

Chapter 3 - Functions 1 Chapter 3 - Functions 2 3.1 Introduction 3.2 Program Components in C++ 3.3 Math Library Functions 3. Functions 3.5 Function Definitions 3.6 Function Prototypes 3. Header Files 3.8

### LESSON 5 FUNDAMENTAL DATA TYPES. char short int long unsigned char unsigned short unsigned unsigned long

LESSON 5 ARITHMETIC DATA PROCESSING The arithmetic data types are the fundamental data types of the C language. They are called "arithmetic" because operations such as addition and multiplication can be

### Unit 7. Functions. Need of User Defined Functions

Unit 7 Functions Functions are the building blocks where every program activity occurs. They are self contained program segments that carry out some specific, well defined task. Every C program must have

### AN OVERVIEW OF C, PART 3. CSE 130: Introduction to Programming in C Stony Brook University

AN OVERVIEW OF C, PART 3 CSE 130: Introduction to Programming in C Stony Brook University FANCIER OUTPUT FORMATTING Recall that you can insert a text field width value into a printf() format specifier:

### Lecture 9 - C Functions

ECET 264 C Programming Language with Applications Lecture 9 C Functions Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture 9- Prof. Paul I. Lin

### CT 229 Java Syntax Continued

CT 229 Java Syntax Continued 06/10/2006 CT229 Lab Assignments Due Date for current lab assignment : Oct 8 th Before submission make sure that the name of each.java file matches the name given in the assignment

### Functions in C++ Problem-Solving Procedure With Modular Design C ++ Function Definition: a single

Functions in C++ Problem-Solving Procedure With Modular Design: Program development steps: Analyze the problem Develop a solution Code the solution Test/Debug the program C ++ Function Definition: A module

### ANSI C Programming Simple Programs

ANSI C Programming Simple Programs /* This program computes the distance between two points */ #include #include #include main() { /* Declare and initialize variables */ double

### CS101 Introduction to computing Function, Scope Rules and Storage class

CS101 Introduction to computing Function, Scope Rules and Storage class A. Sahu and S. V.Rao Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Outline Functions Modular d l Program Inbuilt

### CSE 2421: Systems I Low-Level Programming and Computer Organization. Functions. Presentation C. Predefined Functions

CSE 2421: Systems I Low-Level Programming and Computer Organization Functions Read/Study: Reek Chapters 7 Gojko Babić 01-22-2018 Predefined Functions C comes with libraries of predefined functions E.g.:

### Fall Semester (081) Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals

INTERNET PROTOCOLS AND CLIENT-SERVER PROGRAMMING Client SWE344 request Internet response Fall Semester 2008-2009 (081) Server Module 2.1: C# Programming Essentials (Part 1) Dr. El-Sayed El-Alfy Computer

### Lab Instructor : Jean Lai

Lab Instructor : Jean Lai Group related statements to perform a specific task. Structure the program (No duplicate codes!) Must be declared before used. Can be invoked (called) as any number of times.

### Visual Studio. Visual Studio is an extremely complex interactive development environment capable of handling many languages and tools.

Tips and Tricks Topics Visual Studio Handling Output to the Screen Handling Input from the Keyboard Simple Text Menus When to use a For Loop When to use a While Loop Reviewing a Function Visual Studio

### Bil 104 Intiroduction To Scientific And Engineering Computing. Lecture 5. Playing with Data Modifiers and Math Functions Getting Controls

Readin from and Writint to Standart I/O BIL104E: Introduction to Scientific and Engineering Computing Lecture 5 Playing with Data Modifiers and Math Functions Getting Controls Pointers What Is a Pointer?

### Functions in C. Lecture Topics. Lecture materials. Homework. Machine problem. Announcements. ECE 190 Lecture 16 March 9, 2011

Functions in C Lecture Topics Introduction to using functions in C Syntax Examples Memory allocation for variables Lecture materials Textbook 14.1-14.2, 12.5 Homework Machine problem MP3.2 due March 18,

### Computer Systems Lecture 9

Computer Systems Lecture 9 CPU Registers in x86 CPU status flags EFLAG: The Flag register holds the CPU status flags The status flags are separate bits in EFLAG where information on important conditions

### sends the formatted data to the standard output stream (stdout) int printf ( format_string, argument_1, argument_2,... ) ;

INPUT AND OUTPUT IN C Function: printf() library: sends the formatted data to the standard output stream (stdout) int printf ( format_string, argument_1, argument_2,... ) ; format_string it is

### Functions and Recursion

Functions and Recursion CSE 130: Introduction to Programming in C Stony Brook University Software Reuse Laziness is a virtue among programmers Often, a given task must be performed multiple times Instead

### Beginning C Programming for Engineers

Beginning Programming for Engineers R. Lindsay Todd Lecture 2: onditionals, Logic, and Repetition R. Lindsay Todd () Beginning Programming for Engineers Beg 2 1 / 50 Outline Outline 1 Math Operators 2

### Introduction to Functions in C. Dr. Ahmed Telba King Saud University College of Engineering Electrical Engineering Department

Introduction to Functions in C Dr. Ahmed Telba King Saud University College of Engineering Electrical Engineering Department Function definition For example Pythagoras(x,y,z) double x,y,z; { double d;

### Pace University. Fundamental Concepts of CS121 1

Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

### 3.1. Chapter 3: The cin Object. Expressions and Interactivity

Chapter 3: Expressions and Interactivity 3.1 The cin Object Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-1 The cin Object Standard input stream object, normally the keyboard,

### Data types, variables, constants

Data types, variables, constants Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic in C 2.6 Decision

### 3.1. Chapter 3: Displaying a Prompt. Expressions and Interactivity

Chapter 3: Expressions and Interactivity 3.1 The cin Object Copyright 2009 Pearson Education, Inc. Copyright 2009 Publishing Pearson as Pearson Education, Addison-Wesley Inc. Publishing as Pearson Addison-Wesley

Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All for repetition statement do while repetition statement switch multiple-selection statement break statement continue statement Logical

### Procedural programming with C

Procedural programming with C Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 77 Functions Similarly to its mathematical

### C introduction: part 1

What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation

### Experiment 9: Using HI-TECH C Compiler in MPLAB

University of Jordan Faculty of Engineering and Technology Department of Computer Engineering Embedded Systems Laboratory 0907334 9 Experiment 9: Using HI-TECH C Compiler in MPLAB Objectives The main objectives

### Matlab? Chapter 3-4 Matlab and IPT Basics. Working Environment. Matlab Demo. Array. Data Type. MATLAB Desktop:

Matlab? Lecture Slides ME 4060 Machine Vision and Vision-based Control Chapter 3-4 Matlab and IPT Basics By Dr. Debao Zhou 1 MATric LABoratory data analysis, prototype and visualization Matrix operation

### Chapter 7 Functions. Now consider a more advanced example:

Chapter 7 Functions 7.1 Chapter Overview Functions are logical groupings of code, a series of steps, that are given a name. Functions are especially useful when these series of steps will need to be done

### CS240: Programming in C

CS240: Programming in C Lecture 5: Functions. Scope. 1 Functions: Explicit declaration Declaration, definition, use, order matters. Declaration: defines the interface of a function; i.e., number and types

### C: How to Program. Week /Mar/05

1 C: How to Program Week 2 2007/Mar/05 Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers

### 3.1. Chapter 3: The cin Object in Program 3-1. Displaying a Prompt 8/23/2014. The cin Object

Chapter 3: Expressions and Interactivity 3.1 The cin Object The cin Object The cin Object in Program 3-1 Standard input object Like cout, requires iostream file Used to read input from keyboard Information

### Function I/O. Function Input and Output. Input through actual parameters. Output through return value. Input/Output through side effects

Function Input and Output Input through actual parameters Output through return value Only one value can be returned Input/Output through side effects printf scanf 2 tj Function Input and Output int main(void){

### JTSK Programming in C II C-Lab II. Lecture 3 & 4

JTSK-320112 Programming in C II C-Lab II Lecture 3 & 4 Xu (Owen) He Spring 2018 Slides modified from Dr. Kinga Lipskoch Planned Syllabus The C Preprocessor Bit Operations Pointers and Arrays (Dynamically

### Course Outline Introduction to C-Programming

ECE3411 Fall 2015 Lecture 1a. Course Outline Introduction to C-Programming Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: {vandijk,

### 15 FUNCTIONS IN C 15.1 INTRODUCTION

15 FUNCTIONS IN C 15.1 INTRODUCTION In the earlier lessons we have already seen that C supports the use of library functions, which are used to carry out a number of commonly used operations or calculations.

### Arithmetic Expressions in C

Arithmetic Expressions in C Arithmetic Expressions consist of numeric literals, arithmetic operators, and numeric variables. They simplify to a single value, when evaluated. Here is an example of an arithmetic

### CHAPTER 4 FUNCTIONS. 4.1 Introduction

CHAPTER 4 FUNCTIONS 4.1 Introduction Functions are the building blocks of C++ programs. Functions are also the executable segments in a program. The starting point for the execution of a program is main

### Computer Programming

Computer Programming Introduction Marius Minea marius@cs.upt.ro http://cs.upt.ro/ marius/curs/cp/ 26 September 2017 Course goals Learn programming fundamentals no prior knowledge needed for those who know,

### C Programming Multiple. Choice

C Programming Multiple Choice Questions 1.) Developer of C language is. a.) Dennis Richie c.) Bill Gates b.) Ken Thompson d.) Peter Norton 2.) C language developed in. a.) 1970 c.) 1976 b.) 1972 d.) 1980

### Functions. Lecture 6 COP 3014 Spring February 11, 2018

Functions Lecture 6 COP 3014 Spring 2018 February 11, 2018 Functions A function is a reusable portion of a program, sometimes called a procedure or subroutine. Like a mini-program (or subprogram) in its

### A function is a named group of statements developed to solve a sub-problem and returns a value to other functions when it is called.

Chapter-12 FUNCTIONS Introduction A function is a named group of statements developed to solve a sub-problem and returns a value to other functions when it is called. Types of functions There are two types

### Cpt S 122 Data Structures. Introduction to C++ Part II

Cpt S 122 Data Structures Introduction to C++ Part II Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Objectives Defining class with a member function

### Data Type Fall 2014 Jinkyu Jeong

Data Type Fall 2014 Jinkyu Jeong (jinkyu@skku.edu) 1 Syntax Rules Recap. keywords break double if sizeof void case else int static... Identifiers not#me scanf 123th printf _id so_am_i gedd007 Constants

### C: How to Program. Week /Apr/23

C: How to Program Week 9 2007/Apr/23 1 Review of Chapters 1~5 Chapter 1: Basic Concepts on Computer and Programming Chapter 2: printf and scanf (Relational Operators) keywords Chapter 3: if (if else )

### The Math Class. Using various math class methods. Formatting the values.

The Math Class Using various math class methods. Formatting the values. The Math class is used for mathematical operations; in our case some of its functions will be used. In order to use the Math class,

### School of Computer Science Introduction to Algorithms and Programming Winter Midterm Examination # 1 Wednesday, February 11, 2015

Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 1 Wednesday, February 11, 2015 Marking Exemplar Duration of examination: 75

### 1 class Lecture5 { 2 3 "Methods" / References 8 [1] Ch. 5 in YDL 9 [1] Ch. 20 in YDL 0 / Zheng-Liang Lu Java Programming 176 / 199

1 class Lecture5 { 2 3 "Methods" 4 5 } 6 7 / References 8 [1] Ch. 5 in YDL 9 [1] Ch. 20 in YDL 0 / Zheng-Liang Lu Java Programming 176 / 199 Methods 2 Methods can be used to define reusable code, and organize

### Review: Constants. Modules and Interfaces. Modules. Clients, Interfaces, Implementations. Client. Interface. Implementation

Review: Constants Modules and s CS 217 C has several ways to define a constant Use #define #define MAX_VALUE 10000 Substitution by preprocessing (will talk about this later) Use const const double x =

### Introduction to C. Systems Programming Concepts

Introduction to C Systems Programming Concepts Introduction to C A simple C Program Variable Declarations printf ( ) Compiling and Running a C Program Sizeof Program #include What is True in C? if example

### CSE 230 Intermediate Programming in C and C++ Functions

CSE 230 Intermediate Programming in C and C++ Functions Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse230/ Concept of Functions

### Day05 A. Young W. Lim Sat. Young W. Lim Day05 A Sat 1 / 14

Day05 A Young W. Lim 2017-10-07 Sat Young W. Lim Day05 A 2017-10-07 Sat 1 / 14 Outline 1 Based on 2 Structured Programming (2) Conditions and Loops Conditional Statements Loop Statements Type Cast Young

### Flow Chart. The diagrammatic representation shows a solution to a given problem.

low Charts low Chart A flowchart is a type of diagram that represents an algorithm or process, showing the steps as various symbols, and their order by connecting them with arrows. he diagrammatic representation

### Companion C++ Examples

68 Appendix D Companion C++ Examples D.1 Introduction It is necessary to be multilingual in computer languages today. Since C++ is often used in the OOP literature it should be useful to have C++ versions

### Pointers and scanf() Steven R. Bagley

Pointers and scanf() Steven R. Bagley Recap Programs are a series of statements Defined in functions Can call functions to alter program flow if statement can determine whether code gets run Loops can

### Chapter 5 Methods. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

Chapter 5 Methods rights reserved. 0132130807 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. rights reserved. 0132130807 2 1 Problem int sum =

### UNIT - I. Introduction to C Programming. BY A. Vijay Bharath

UNIT - I Introduction to C Programming Introduction to C C was originally developed in the year 1970s by Dennis Ritchie at Bell Laboratories, Inc. C is a general-purpose programming language. It has been

### C Program. Output. Hi everyone. #include <stdio.h> main () { printf ( Hi everyone\n ); }

C Program Output #include main () { printf ( Hi everyone\n ); Hi everyone #include main () { printf ( Hi everyone\n ); #include and main are Keywords (or Reserved Words) Reserved Words

### Introduction to Programming (Java) 4/12

Introduction to Programming (Java) 4/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction

### BİL200 TUTORIAL-EXERCISES Objective:

Objective: The purpose of this tutorial is learning the usage of -preprocessors -header files -printf(), scanf(), gets() functions -logic operators and conditional cases A preprocessor is a program that

### Computer Programming 6th Week Functions (Function definition, function calls),

Computer Programming 6th Week Functions (Function definition, function calls), Hazırlayan Asst. Prof. Dr. Tansu Filik Computer Programming Previously on Bil-200 loops (do-while, for), Arrays, array operations,

### A. Introduction to Function 1. Modular Programming input processing output functions library functions 2. Function 1. Benefit of Using Functions

Lesson Outcomes At the end of this chapter, student should be able to: Use pre-defined functions: (sqrt(), abs(), pow(), toupper(), tolower(), strcmp(), strcpy(), gets()) Build independent functions or

### The return Statement

The return Statement The return statement is the end point of the method. A callee is a method invoked by a caller. The callee returns to the caller if the callee completes all the statements (w/o a return

### PROGRAMMAZIONE I A.A. 2017/2018

PROGRAMMAZIONE I A.A. 2017/2018 FUNCTIONS INTRODUCTION AND MAIN All the instructions of a C program are contained in functions. üc is a procedural language üeach function performs a certain task A special

### Chapter 4 Homework Individual/Team (1-2 Persons) Assignment 15 Points

All of the work in this project is my own! I have not left copies of my code in public folders on university computers. I have not given any of this project to others. I will not give any portion of this

### H192 Midterm 1 Review. Tom Zajdel

H192 Midterm 1 Review Tom Zajdel Declaring variables Need to specify a type when declaring a variable. Can declare multiple variables in one line. int x, y, z; float a, b, c; Can also initialize in same

C / C++ PROGRAMMING Program Organization and Comments Copyright 2013 Dan McElroy Programming Organization The layout of a program should be fairly straight forward and simple. Although it may just look

### Programming in C and Data Structures [15PCD13/23] 1. PROGRAMMING IN C AND DATA STRUCTURES [As per Choice Based Credit System (CBCS) scheme]

Programming in C and Data Structures [15PCD13/23] 1 PROGRAMMING IN C AND DATA STRUCTURES [As per Choice Based Credit System (CBCS) scheme] Course objectives: The objectives of this course is to make students

### Why Pointers. Pointers. Pointer Declaration. Two Pointer Operators. What Are Pointers? Memory address POINTERVariable Contents ...

Why Pointers Pointers They provide the means by which functions can modify arguments in the calling function. They support dynamic memory allocation. They provide support for dynamic data structures, such

### Chapter 2 - Introduction to C Programming

Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic

### (13-2) Dynamic Data Structures I H&K Chapter 13. Instructor - Andrew S. O Fallon CptS 121 (November 17, 2017) Washington State University

(13-2) Dynamic Data Structures I H&K Chapter 13 Instructor - Andrew S. O Fallon CptS 121 (November 17, 2017) Washington State University Dynamic Data Structures (1) Structures that expand and contract

### The C Programming Language. (with material from Dr. Bin Ren, William & Mary Computer Science)

The C Programming Language (with material from Dr. Bin Ren, William & Mary Computer Science) 1 Overview Motivation Hello, world! Basic Data Types Variables Arithmetic Operators Relational Operators Assignments

### Chapter 8: Function. In this chapter, you will learn about

Principles of Programming Chapter 8: Function In this chapter, you will learn about Introduction to function User-defined function Formal and Actual Parameters Parameter passing by value Parameter passing

### CS110: PROGRAMMING LANGUAGE I

CS110: PROGRAMMING LANGUAGE I Computer Science Department Lecture 8: Methods Lecture Contents: 2 Introduction Program modules in java Defining Methods Calling Methods Scope of local variables Passing Parameters

### There are three steps involved in converting your idea of what is to be done to a working program

PROGRAMMING Before we start on a course in Numerical methods and programming we should look at some of the basic aspects of programming. We will learn here, how to convert some of our ideas into a working

### MATLAB Constants, Variables & Expression. 9/12/2015 By: Nafees Ahmed

MATLAB Constants, Variables & Expression Introduction MATLAB can be used as a powerful programming language. It do have IF, WHILE, FOR lops similar to other programming languages. It has its own vocabulary

### Fast Introduction to Object Oriented Programming and C++

Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming

### Lecture 5: Methods CS2301

Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int

### BSM540 Basics of C Language

BSM540 Basics of C Language Chapter 9: Functions I Prof. Manar Mohaisen Department of EEC Engineering Review of the Precedent Lecture Introduce the switch and goto statements Introduce the arrays in C

### The C Programming Language Part 2. (with material from Dr. Bin Ren, William & Mary Computer Science)

The C Programming Language Part 2 (with material from Dr. Bin Ren, William & Mary Computer Science) 1 Overview Input/Output Structures and Arrays 2 Basic I/O character-based putchar (c) output getchar

### 7 Functions. MAE 9 85 Maurício de Oliveira. return t ype function name ( argument d e c l a r a t i o n s ) {

7 Functions Functions in C serve two purposes. First, functions define reusable program units. Second, functions implement local storage and provide for recursion. Functions are usually construct to break

### C OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure

C Overview Basic C Program Structure C OVERVIEW BASIC C PROGRAM STRUCTURE Goals The function main( )is found in every C program and is where every C program begins speed execution portability C uses braces

### CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 12, FALL 2012

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 12, FALL 2012 TOPICS TODAY Assembling & Linking Assembly Language Separate Compilation in C Scope and Lifetime LINKING IN ASSEMBLY

### Unit 4. Input/Output Functions

Unit 4 Input/Output Functions Introduction to Input/Output Input refers to accepting data while output refers to presenting data. Normally the data is accepted from keyboard and is outputted onto the screen.

### Introduction to C++ Systems Programming

Introduction to C++ Systems Programming Introduction to C++ Syntax differences between C and C++ A Simple C++ Example C++ Input/Output C++ Libraries C++ Header Files Another Simple C++ Example Inline Functions

### Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

### CS110D: PROGRAMMING LANGUAGE I

CS110D: PROGRAMMING LANGUAGE I Computer Science department Lecture 7&8: Methods Lecture Contents What is a method? Static methods Declaring and using methods Parameters Scope of declaration Overloading

### OBJECT ORIENTED SIMULATION LANGUAGE. OOSimL Reference Manual - Part 1

OBJECT ORIENTED SIMULATION LANGUAGE OOSimL Reference Manual - Part 1 Technical Report TR-CSIS-OOPsimL-1 José M. Garrido Department of Computer Science Updated November 2014 College of Computing and Software