C++ programming Language - Lesson 4_115724
C++ programming Language - Lesson 4_115724
There may be a situation, when you need to execute a block of code several number of times. In
general, statements are executed sequentially: The first statement in a function is executed first,
followed by the second, and so on.
Programming languages provide various control structures that allow for more complicated
execution paths.
A loop statement allows us to execute a statement or group of statements multiple times and
following is the general from of a loop statement in most of the programming languages −
C++ programming language provides the following type of loops to handle looping
requirements.
Page 1 of 12
Sr.No Loop Type & Description
1 while loop
Repeats a statement or group of statements while a given condition is true. It tests the
condition before executing the loop body.
2 for loop
Execute a sequence of statements multiple times and abbreviates the code that
manages the loop variable.
3 do...while loop
Like a ‘while’ statement, except that it tests the condition at the end of the loop body.
4 nested loops
You can use one or more loop inside any another ‘while’, ‘for’ or ‘do..while’ loop.
Example
# include <iostream>
using namespace std;
int main ( ) {
int i = 0;
while (i < 5) {
std:: cout << “ Hello, World!” << std:: endl;
i++;
}
return 0;
}
In the above example, the while loop will execute the code inside the loop 5 times, printinh
“Hello, World!” to the console each time.
Page 2 of 12
Syntax for for loop
for (initialization; condition; increment/decrement) {
// code to be executed
}
Example
# include <iostream>
using namespace std;
int main ( ) {
for (int i = 0; i < 5; i ++)
{
std:: cout << “Hello World!” << std::endl;
}
return 0;
}
The above example, the loop will execute the code inside the loop 5 times, printing “Hello,
World!” to the console each time
Page 3 of 12
Sr.No Control Statement & Description
1 break statement
Terminates the loop or switch statement and transfers execution to the statement
immediately following the loop or switch.
2 continue statement
Causes the loop to skip the remainder of its body and immediately retest its condition
prior to reiterating.
3 goto statement
Transfers control to the labeled statement. Though it is not advised to use goto
statement in your program.
#include <iostream>
using namespace std;
int main () {
for( ; ; ) {
printf("This loop will run forever.\n");
}
return 0;
}
When the conditional expression is absent, it is assumed to be true. You may have an
initialization and increment expression, but C++ programmers more commonly use the ‘for (;;)’
construct to signify an infinite loop.
Page 4 of 12
C++ decision making statements (Branching)
Decision making structures require that the programmer specify one or more conditions to be
evaluated or tested by the program, along with a statement or statements to be executed if the
condition is determined to be true, and optionally, other statements to be executed if the
condition is determined to be false.
Following is the general form of a typical decision making structure found in most of the
programming languages −
A ‘switch’ statement allows a variable to be tested for equality against a list of values.
Page 5 of 12
4 nested if statements
You can use one ‘if’ or ‘else if’ statement inside another ‘if’ or ‘else if’ statement(s).
5 nested switch statements
You can use one ‘switch’ statement inside another ‘switch’ statement(s).
Example
# include <oistream>
using namespace std;
int main ( ) {
int x = 5;
if (x > 10) {
std::cout << “x is greater than 10” << std::endl;
}
return 0;
}
In the above example, the condition x > 10 is evaluated. Since x = 5, which is less than 10, the
condition is false and the code inside the if block is skipped.
Page 6 of 12
Example
# include <oistream>
using namespace std;
int main ( ) {
int x = 5;
if (x > 10)
{
std::cout << “x is greater than 10” << std::endl;
}
else
{
std::cout << “x is less than or equal to 10” << std::endl;
}
return 0;
}
In the above example, the condition x > 10 is evaluated. Since x = 5, which is less than 10, the
condition is false and the code inside the else block is executed.
C++ Functions
A function is a group of statements that together perform a task. Every C++ program has at least
one function, which is main(), and all the most trivial programs can define additional functions.
You can divide up your code into separate functions. How you divide up your code among
different functions is up to you, but logically the division usually is such that each function
performs a specific task.
A function declaration tells the compiler about a function's name, return type, and parameters. A
function definition provides the actual body of the function.
A function is known with various names like a method or a sub-routine or a procedure etc.
Page 7 of 12
Defining a Function
The general form of a C++ function definition is as follows −
A C++ function definition consists of a function header and a function body. Here are all the
parts of a function −
Return Type − A function may return a value. The return_type is the data type of the
value the function returns. Some functions perform the desired operations without
returning a value. In this case, the return_type is the keyword void.
Function Name − This is the actual name of the function. The function name and the
parameter list together constitute the function signature.
Parameters − A parameter is like a placeholder. When a function is invoked, you pass a
value to the parameter. This value is referred to as actual parameter or argument. The
parameter list refers to the type, order, and number of the parameters of a function.
Parameters are optional; that is, a function may contain no parameters.
Function Body − The function body contains a collection of statements that define what
the function does.
Example
Following is the source code for a function called max(). This function takes two parameters
num1 and num2 and return the biggest of both −
return result;
}
Page 8 of 12
Function Declarations
A function declaration tells the compiler about a function name and how to call the function.
The actual body of the function can be defined separately.
For the above defined function max(), following is the function declaration −
Parameter names are not important in function declaration only their type is required, so
following is also valid declaration −
Function declaration is required when you define a function in one source file and you call that
function in another file. In such case, you should declare the function at the top of the file calling
the function.
Calling a Function
While creating a C++ function, you give a definition of what the function has to do. To use a
function, you will have to call or invoke that function.
When a program calls a function, program control is transferred to the called function. A called
function performs defined task and when it’s return statement is executed or when its function-
ending closing brace is reached, it returns program control back to the main program.
To call a function, you simply need to pass the required parameters along with function name, and
if function returns a value, then you can store returned value. For example –
Page 9 of 12
Example
#include <iostream>
using namespace std;
// function declaration
int max(int num1, int num2);
int main () {
// local variable declaration:
int a = 100;
int b = 200;
int ret;
return 0;
}
return result;
}
I kept max() function along with main() function and compiled the source code. While running
final executable, it would produce the following result −
Function Arguments
If a function is to use arguments, it must declare variables that accept the values of the
arguments. These variables are called the formal parameters of the function.
The formal parameters behave like other local variables inside the function and are created upon
entry into the function and destroyed upon exit.
While calling a function, there are two ways that arguments can be passed to a function –
Page 10 of 12
Sr.No Call Type & Description
1 Call by Value
This method copies the actual value of an argument into the formal parameter of the
function. In this case, changes made to the parameter inside the function have no
effect on the argument.
2 Call by Pointer
This method copies the address of an argument into the formal parameter. Inside the
function, the address is used to access the actual argument used in the call. This means
that changes made to the parameter affect the argument.
3 Call by Reference
This method copies the reference of an argument into the formal parameter. Inside the
function, the reference is used to access the actual argument used in the call. This
means that changes made to the parameter affect the argument.
By default, C++ uses call by value to pass arguments. In general, this means that code within a
function cannot alter the arguments used to call the function and above mentioned example while
calling max() function used the same method.
This is done by using the assignment operator and assigning values for the arguments in the
function definition. If a value for that parameter is not passed when the function is called, the
default given value is used, but if a value is specified, this default value is ignored and the passed
value is used instead. Consider the following example −
Example
#include <iostream>
using namespace std;
return (result);
}
int main () {
// local variable declaration:
int a = 100;
int b = 200;
int result;
Page 11 of 12
cout << "Total value is :" << result << endl;
return 0;
}
When the above code is compiled and executed, it produces the following result −
Page 12 of 12