0% found this document useful (0 votes)
67 views

Int 105 Function

The document discusses program modules in C programming. It explains that functions are the basic modules in C and allow programmers to divide programs into smaller and more manageable pieces. The document covers benefits of functions like modularity, reusability, avoiding repetition. It also discusses function definitions, prototypes, scope, and how functions communicate using parameters.

Uploaded by

kunal jadhav
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

Int 105 Function

The document discusses program modules in C programming. It explains that functions are the basic modules in C and allow programmers to divide programs into smaller and more manageable pieces. The document covers benefits of functions like modularity, reusability, avoiding repetition. It also discusses function definitions, prototypes, scope, and how functions communicate using parameters.

Uploaded by

kunal jadhav
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

©LPU CSE101 C Programming

Divide and Conquer


• Best way to solve a problem is by dividing the
problem and solving it.
• Divide and conquer
– Construct a program from smaller pieces or
components
• These smaller pieces are called modules
– Each module more manageable than the original
program

©LPU CSE101 C Programming


Program Modules in C
• Functions
– Modules in C are called functions.
– Programs combine user-defined functions with library
functions
• C standard library has a wide variety of functions for
performing common mathematical calculations, string
manipulations, character manipulations, input/output and
many more.
• C standard library makes your job easier.
• Functions like printf(), scanf(), pow() are standard library
functions.
• We can also write functions to define some specific task in a
program and these functions are called user-defined
functions.

©LPU CSE101 C Programming


Functions
• Functions
– Modularize a program
– All variables defined inside functions are local
variables
• Known only in function defined.
– Parameters
• Functions have list of parameters.
• Communicate information between functions.
• Are also Local variables to that function.

©LPU CSE101 C Programming


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

©LPU CSE101 C Programming


Function Call
• 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

©LPU CSE101 C Programming


Program Modules in C
Hierarchical boss function/worker function relationship.

main

worker1 worker2 worker3

worker4 worker5

©LPU CSE101 C Programming


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

©LPU CSE101 C Programming


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 can not be defined inside other functions
– Returning control
• If nothing returned
– return;
– or, until reaches right brace at the end of function.
• If something returned
– return expression;

©LPU CSE101 C Programming


1 4 9 16 25 36 49 64 81 100

©LPU CSE101 C Programming


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 square( int y);
• Takes in 1 int data.
• Returns an int
• Promotion rules and conversions
– Converting to lower types can lead to errors

©LPU CSE101 C Programming


Function Prototypes
• The argument values that do not correspond to the parameter types in
the function prototype are converted to the proper type before function
is called.
• This is done according to promotion hierarchy of data types in type
conversion.
• The types lower in the table is converted to types higher in the table.
Data types printf conversion scanf conversion
specifications specifications
long double %Lf %Lf
double %f %lf
float %f %f
unsigned long int %lu %lu
long int %ld %ld
unsigned int %u %u
int %d %d
short %hd %hd
char %c %c
Promotion hierarchy for data types.
©LPU CSE101 C Programming
Next Class: Math Library
Function

©LPU CSE101 C Programming


[email protected]

You might also like