KEMBAR78
C++ lecture 03 | PPTX
Functions
C++ lecture 03
Functions
 Functions allow to structure programs in segments of code to
perform individual tasks.
 It is a group of statements that is given a name, and which can be
called from some point of the program.
 The most common syntax to define a function is:
type name ( parameter1, parameter2, ...)
{
statements
}
 type - the type of the value returned by the
function.
 Name - the identifier by which the function can be
called.
 Parameters -The purpose of parameters is to allow
passing arguments to the function from the location
where it is called from.
 Statements - the function's body. It is a block of
statements surrounded by braces { } that specify
what the function actually does.
Functions
Example
int addition (int a, int b)
{
int r;
r=a+b;
return r;
}
int main () {
int z;
z = addition (5,3);
cout << "The result is " << z;
}
Type
Name
Parameter
Statements
Explanation
 The final statement within the function:
return r;
int subtraction (int a, int b) {
int r;
r=a-b;
return r;
}
int main () {
int x=5, y=3, z;
z = subtraction (7,2);
cout << "The first result is " << z << 'n';
cout << "The second result is " << subtraction
(7,2) << 'n';
cout << "The third result is " << subtraction
(x,y) << 'n';
z= 4 + subtraction (x,y);
cout << "The fourth result is " << z << 'n'; }
Functions with no return type
// void function example
#include <iostream>
using namespace std;
void printmessage () {
cout << "I'm a function!";
}
int main () {
printmessage ();
}
Arguments passed by value
 when calling a function, the values of the arguments on
the moment of the call, which are copied into the variables
represented by the function parameters.
 For example, take:
int x=5, y=3, z;
z = addition ( x, y );
Arguments passed by
reference
 Passing by reference refers to a method of passing
arguments where the value of an argument in the
calling function can be modified in the called
function.
 It allows to access an external variable from within
a function
passing parameters by reference
#include <iostream>
using namespace std;
void duplicate (int& a, int& b, int& c) {
a*=2;
b*=2;
c*=2;
}
int main () {
int x=1, y=3, z=7;
duplicate (x, y, z);
cout << "x=" << x << ", y=" << y << ", z=" << z;
return 0;
}
Explanation
 When a variable is passed by reference, what is passed is no
longer a copy
 the variable itself, identified by the function parameter
associated with the argument passed to the function
 any modification on local variables within the function are
reflected in the variables passed as arguments in the call
Declaration
 If instead of defining duplicate as:
 void duplicate (int& a, int& b, int& c)
 Was it to be defined without the ampersand signs as:
void duplicate (int a, int b, int c)
 The variables would not be passed by reference, but by
value, creating instead copies of their values.
 In this case, the output of the program would have
been the values of x, y, and z without being modified
(i.e., 1, 3, and 7)
Recursive Functions
 Recursive is the property that functions have to be
called by themselves
 n! = n * (n-1) * (n-2) * (n-3) ... * 1
 5! = 5 * 4 * 3 * 2 * 1 = 120
while ( i <= number) {
Factorial = Factorial * i;
++i;
}
Recursive Function
int factorial (int a) {
if (a > 1)
return (a * factorial (a-1));
else
return 1;
}
C++ Standard Library
 Refer the following website and find the C++ standard
header files and inbuilt functions.
 www.cplusplus.com/reference/

C++ lecture 03

  • 1.
  • 2.
    Functions  Functions allowto structure programs in segments of code to perform individual tasks.  It is a group of statements that is given a name, and which can be called from some point of the program.  The most common syntax to define a function is: type name ( parameter1, parameter2, ...) { statements }
  • 3.
     type -the type of the value returned by the function.  Name - the identifier by which the function can be called.  Parameters -The purpose of parameters is to allow passing arguments to the function from the location where it is called from.  Statements - the function's body. It is a block of statements surrounded by braces { } that specify what the function actually does. Functions
  • 4.
    Example int addition (inta, int b) { int r; r=a+b; return r; } int main () { int z; z = addition (5,3); cout << "The result is " << z; } Type Name Parameter Statements
  • 5.
    Explanation  The finalstatement within the function: return r;
  • 6.
    int subtraction (inta, int b) { int r; r=a-b; return r; } int main () { int x=5, y=3, z; z = subtraction (7,2); cout << "The first result is " << z << 'n'; cout << "The second result is " << subtraction (7,2) << 'n'; cout << "The third result is " << subtraction (x,y) << 'n'; z= 4 + subtraction (x,y); cout << "The fourth result is " << z << 'n'; }
  • 7.
    Functions with noreturn type // void function example #include <iostream> using namespace std; void printmessage () { cout << "I'm a function!"; } int main () { printmessage (); }
  • 8.
    Arguments passed byvalue  when calling a function, the values of the arguments on the moment of the call, which are copied into the variables represented by the function parameters.  For example, take: int x=5, y=3, z; z = addition ( x, y );
  • 9.
    Arguments passed by reference Passing by reference refers to a method of passing arguments where the value of an argument in the calling function can be modified in the called function.  It allows to access an external variable from within a function
  • 10.
    passing parameters byreference #include <iostream> using namespace std; void duplicate (int& a, int& b, int& c) { a*=2; b*=2; c*=2; } int main () { int x=1, y=3, z=7; duplicate (x, y, z); cout << "x=" << x << ", y=" << y << ", z=" << z; return 0; }
  • 11.
    Explanation  When avariable is passed by reference, what is passed is no longer a copy  the variable itself, identified by the function parameter associated with the argument passed to the function  any modification on local variables within the function are reflected in the variables passed as arguments in the call
  • 12.
    Declaration  If insteadof defining duplicate as:  void duplicate (int& a, int& b, int& c)  Was it to be defined without the ampersand signs as: void duplicate (int a, int b, int c)  The variables would not be passed by reference, but by value, creating instead copies of their values.  In this case, the output of the program would have been the values of x, y, and z without being modified (i.e., 1, 3, and 7)
  • 13.
    Recursive Functions  Recursiveis the property that functions have to be called by themselves  n! = n * (n-1) * (n-2) * (n-3) ... * 1  5! = 5 * 4 * 3 * 2 * 1 = 120 while ( i <= number) { Factorial = Factorial * i; ++i; }
  • 14.
    Recursive Function int factorial(int a) { if (a > 1) return (a * factorial (a-1)); else return 1; }
  • 15.
    C++ Standard Library Refer the following website and find the C++ standard header files and inbuilt functions.  www.cplusplus.com/reference/