Module 2 CProgramming
Module 2 CProgramming
type. The compiler first performs integer promotion; if the operands still have different types,
then they are converted to the type that appears highest in the following hierarchy –
UNIT II
STATEMENTS
A statement causes the computer to carry out some definite action. There are three different
classes of statements in C:
C PROGRAMMING Page 54
Null statement
A null statement consisting of only a semicolon and performs no operations. It can appear
wherever a statement is expected. Nothing happens when a null statement is executed.
Syntax: - ;
Statements such as do, for, if, and while require that an executable statement appear as the
statement body. The null statement satisfies the syntax requirement in cases that do not need a
substantive statement body.
The Null statement is nothing but, there is no body within loop or any other statements in
C.
or
for (i=0;i<10;i++)
C PROGRAMMING Page 55
//empty body
Expression
i = 0;
i = i + 1;
are all expression statements. In C, however, the semicolon is a statement terminator. Expression
statements do all of the real work in a C program. Whenever you need to compute new values for
variables, you'll typically use expression statements (and they'll typically contain assignment
operators). Whenever you want your program to do something visible, in the real world, you'll
typically call a function (as part of an expression statement). We've already seen the most basic
example: calling the function printf to print text to the screen.
Note -If no expression is present, the statement is often called the null statement.
Return
The return statement terminates execution of a function and returns control to the calling
function, with or without a return value. A function may contain any number
of return statements. The return statement has
If present, the expression is evaluated and its value is returned to the calling function. If
necessary, its value is converted to the declared type of the containing function's return value.
A return statement with an expression cannot appear in a function whose return type is void . If
there is no expression and the function is not defined as void , the return value is undefined. For
example, the following main function returns an unpredictable value to the operating
system:
main ( )
C PROGRAMMING Page 56
return;
Compound statements
A compound statement (also called a "block") typically appears as the body of another statement,
such as the if statement, for statement, while statement, etc
pi=3.14;
area=pi*radius*radius;
Example:
C PROGRAMMING Page 57
Selection Statement/Conditional Statements/Decision Making Statements
A selection statement selects among a set of statements depending on the value of a controlling
expression. Or
Moving execution control from one place/line to another line based on condition
Or
Conditional statements control the sequence of statement execution, depending on the value of a
integer expression
1: if
2: switch.
1: simple if statement.
2: if –else statement
4: else if ladder.
if statement.
The if statement controls conditional branching. The body of an if statement is executed if the
value of the expression is nonzero. Or if statement is used to execute the code if condition
is true. If the expression/condition is evaluated to false (0), statements inside the body of if is
skipped from execution.
Syntax : if(condition/expression)
true statement;
C PROGRAMMING Page 58
}
statement-x;
If the condition/expression is true, then the true statement will be executed otherwise the true
statement block will be skipped and the execution will jump to the statement-x. The „true
statement‟ may be a single statement or group of statement.
If there is only one statement in the if block, then the braces are optional. But
if there is more than one statement the braces are compulsory
Flowchart
Example:
#include<stdio.h>
main()
int a=15,b=20;
C PROGRAMMING Page 59
if(b>a)
printf("b is greater");
Output
b is greater
#include <stdio.h>
int main()
{
int number;
return 0;
}
Output 1
Enter an integer: -2
You entered -2.
The if statement is easy.
Output 2
Enter an integer: 5
The if statement in C programming is easy.
If-else statement : The if-else statement is an extension of the simple if statement. The
general form is. The if...else statement executes some code if the test expression is true (nonzero)
and some other code if the test expression is false (0).
C PROGRAMMING Page 60
Syntax : if (condition)
{
true statement;
}
else
{
false statement;
}
statement-x;
If the condition is true , then the true statement and statement-x will be executed and if the
condition is false, then the false statement and statement-x is executed.
Or
If test expression is true, codes inside the body of if statement is executed and, codes inside the
body of else statement is skipped.
If test expression is false, codes inside the body of else statement is executed and, codes inside
the body of if statement is skipped.
Flowchart
Example:
// Program to check whether an integer entered by the user is odd or even
#include <stdio.h>
int main()
{
C PROGRAMMING Page 61
int number;
printf("Enter an integer: ");
scanf("%d",&number);
// True if remainder is 0
if( number%2 == 0 )
printf("%d is an even integer.",number);
else
printf("%d is an odd integer.",number);
return 0;
}
Output
Enter an integer: 7
7 is an odd integer.
Syntax : if(condition-1)
{ {
if (condition-2)
{
statement-1;
}
else
{
statement-2;
}
}
else
{
statement-3;
C PROGRAMMING Page 62
}
statement-x;
If the condition-1 is false, the statement-3 and statement-x will be executed. Otherwise it
continues to perform the second test. If the condition-2 is true, the true statement-1 will be
executed otherwise the statement-2 will be executed and then the control is transferred to the
statement-x
Flowchart
Example
#include<stdio.h>
int var1, var2;
printf("Input the value of var1:");
scanf("%d", &var1);
printf("Input the value of var2:");
scanf("%d",&var2);
if (var1 !=var2)
{
printf("var1 is not equal to var2");
//Below – if-else is nested inside another if block
if (var1 >var2)
{
printf("var1 is greater than var2");
}
else
{
printf("var2 is greater than var1");
}
}
else
C PROGRAMMING Page 63
{
printf("var1 is equal to var2");
}
…
Else if ladder.
The if else-if statement is used to execute one code from multiple conditions.
Syntax : if( condition-1)
{
statement-1;
}
else if(condition-2)
{
statement-2;
}
else if(condition-3)
{
statement-3;
}
else if(condition-n)
{
statement-n;
}
else
{
default-statement;
}
statement-x;
Flowchart
C PROGRAMMING Page 64
Example
#include<stdio.h>
#include<conio.h>
void main(){
int number=0;
clrscr();
printf("enter a number:");
scanf("%d",&number);
if(number==10){
printf("number is equals to 10");
}
else if(number==50){
printf("number is equal to 50");
}
else if(number==100){
printf("number is equal to 100");
}
else{
printf("number is not equal to 10, 50 or 100");
}
getch();
}
C PROGRAMMING Page 65
Points to Remember
1. In if statement, a single statement can be included without enclosing it into curly braces { }
2. int a = 5;
3. if(a > 4)
4. printf("success");
No curly braces are required in the above case, but if we have more than one statement
5. == must be used for comparison in the expression of if condition, if you use = the expression will
8. printf("hello");
Switch statement : when there are several options and we have to choose only one option
from the available ones, we can use switch statement. Depending on the selected option, a
particular task can be performed. A task represents one or more statements.
Syntax:
switch(expression)
{
case value-1:
statement/block-1;
break;
case value-2:
statement/block t-2;
break;
case value-3:
statement/block -3;
break;
case value-4:
statement/block -4;
break;
default:
default- statement/block t;
break;
C PROGRAMMING Page 66
}
The expression following the keyword switch in any „C‟ expression that must yield an integer
value. It must be ab integer constants like 1,2,3 .
The keyword case is followed by an integer or a character constant, each constant in each
must be different from all the other.
First the integer expression following the keyword switch is evaluated. The value it gives
is searched against the constant values that follw the case statements. When a match is found, the
program executes the statements following the case. If no match is found with any of the case
statements, then the statements follwing the default are executed.
Example
#include<stdio.h>
main()
{
int a;
printf("Please enter a no between 1 and 5: ");
scanf("%d",&a);
switch(a)
{
case 1:
printf("You chose One");
break;
case 2:
C PROGRAMMING Page 67
printf("You chose Two");
break;
case 3:
printf("You chose Three");
break;
case 4:
printf("You chose Four");
break;
case 5: printf("You chose Five.");
break;
default :
printf("Invalid Choice. Enter a no between 1 and 5"); break;
}
}
Flowchart
C PROGRAMMING Page 68
Points to Remember
It isn't necessary to use break after each block, but if you do not use it, all the consecutive block
1. int i = 1;
2. switch(i)
3. {
4. case 1:
5. printf("A"); // No break
6. case 2:
7. printf("B"); // No break
8. case 3:
9. printf("C");
10. break;
11. }
Output : A B C
The output was supposed to be only A because only the first case matches, but as there is no
break statement after the block, the next blocks are executed, until the cursor encounters a
break.
default case can be placed anywhere in the switch case. Even if we don't include the default case
How it Works
C PROGRAMMING Page 69
A sequence of statements are executed until a specified condition is true. This sequence of
statements to be executed is kept inside the curly braces { } known as the Loop body. After
every execution of loop body, condition is verified, and if it is found to be true the loop body is
executed again. When the condition check returns false, the loop body is not executed.
The loops in C language are used to execute a block of code or a part of the program several
times. In other words, it iterates/repeat a code or group of code many times.
Or Looping means a group of statements are executed repeatedly, until some logical condition
is satisfied.
Suppose that you have to print table of 2, then you need to write 10 lines of code.By using the
loop statement, you can do it by 2 or 3 lines of code only.
C PROGRAMMING Page 70
C language provides three iterative/repetitive loops.
1 : while loop
2 : do-while loop
3 : for loop
variable initialization ;
while (condition)
statements ;
The while loop is an entry controlled loop statement, i.e means the condition is evaluated
first and it is true, then the body of the loop is executed. After executing the body of the loop,
the condition is once again evaluated and if it is true, the body is executed once again, the
process of repeated execution of the loop continues until the condition finally becomes false and
the control is transferred out of the loop.
#include<conio.h>
void main( )
C PROGRAMMING Page 71
int x;
x=1;
while(x<=10)
printf("%d\t", x);
x++;
getch();
Output
1 2 3 4 5 6 7 8 9 10
#include<stdio.h>
#include<conio.h>
main()
clrscr();
scanf("%d", &n);
C PROGRAMMING Page 72
while(n!=0)
rem=n%10;
reverse=reverse*10+rem;
n/=10;
getch();
Flowchart
C PROGRAMMING Page 73
do-while loop
Syntax : variable initialization ;
do{
statements ;
}while (condition);
The do-while loop is an exit controlled loop statement The body of the loop are executed first
and then the condition is evaluated. If it is true, then the body of the loop is executed once again.
The process of execution of body of the loop is continued until the condition finally becomes
false and the control is transferred to the statement immediately after the loop. The statements
are always executed at least once.
Flowchart
C PROGRAMMING Page 74
Example : Program to print first ten multiple of 5
#include<stdio.h>
#include<conio.h>
void main()
int a,i;
a=5;
i=1;
do
printf("%d\t",a*i);
i++;
getch();
C PROGRAMMING Page 75
Output
5 10 15 20 25 30 35 40 45 50
Example
main()
int i=0
do
printf("while vs do-while\n");
}while(i= =1);
printf("Out of loop");
Output:
while vs do-while
Out of loop
For Loop:
This is an entry controlled looping statement.
One of the most important features of this loop is that the three actions can be taken at a
time like variable initialization, condition checking and increment/decrement.
The for loop can be more concise and flexible than that of while and do-while loops.
Statements;
C PROGRAMMING Page 76
Example:
#include<stdio.h>
#include<conio.h>
void main( )
int x;
printf("%d\t",x);
getch();
Output
1 2 3 4 5 6 7 8 9 10
1) Here instead of num++, I‟m using num=num+1 which is nothing but same as num++.
2) Initialization part can be skipped from loop as shown below, the counter variable is declared
before the loop itself.
int num=10;
for (;num<20;num++)
Must Note: Although we can skip init part but semicolon (;) before condition is must, without
which you will get compilation error.
C PROGRAMMING Page 77
3) Like initialization, you can also skip the increment part as we did below. In this case
semicolon (;) is must, after condition logic. The increment part is being done in for loop body
itself.
//Code
num++;
4) Below case is also possible, increment in body and init during declaration of counter variable.
int num=10;
for (;num<20;)
//Statements
num++;
5) Counter can be decremented also, In the below example the variable gets decremented each
time the loop runs until the condition num>10 becomes false.
#include <stdio.h>
int main()
scanf("%d", &num);
C PROGRAMMING Page 78
for(count = 1; count <= num; ++count)
sum += count;
return 0;
Output
Sum = 55
#include<stdio.h>
#include<conio.h>
void main(){
int i,fact=1,number;
clrscr();
scanf("%d",&number);
for(i=1;i<=number;i++){
fact=fact*i;
getch();
C PROGRAMMING Page 79
Output:
Enter a number: 5
C PROGRAMMING Page 80
Infinitive for loop in C
If you don't initialize any variable, check condition and increment or decrement variable in for
loop, it is known as infinitive for loop. In other words, if you place 2 semicolons in for loop, it is
known as infinitive for loop.
for(; ;){
C PROGRAMMING Page 81
printf("infinitive for loop example by javatpoint");
In case if the
Where to
test condition In case if the test
Use for Loop, while Loop
fails at the condition fails at the
and do while Loop
beginning, and beginning, and you
you may not may want to execute
want to execute the body of the loop
the body of the atleast once even in
loop even once the failed condition,
if it fails, then then the do while
the while loop loop should be
should be preferred.
preferred.
C PROGRAMMING Page 82
the update-expression expression
is executed which should be
updates the value of updated inside
counter variable. the body of the
while. However,
the counter
variable is
initialized
outside the body
of the loop.
update-expression
for (
initialization-
exp.(s);
while(test- do {
test-expression(s); expression)
body-of-the-
update- { loop;
expression(s)
body-of-the- update-
Syntax of Loops
) loop; expression(s);
{ update- }
expression(s);
body-of-the-loop while (test-
; } expression);
C PROGRAMMING Page 83
do while loop is an
exit controlled loop,
Which one is Entry
Both loops i.e. for loop and while loop are means means that
Controlled Loop
entry controlled loop, means condition is condition is placed
and
checked first and if the condition is true after the body of the
Which one is Exit
then the body of the loop will executes. loop and is evaluated
Controlled Loop ?
before exiting from
the loop.
int i = 1; int i = 1;
: :
:
: :
Conversion of one Loop :
to another Loop do
while (i<=10)
or for (int i=1; i<=10;
Example : Print numbers i++) { {
from 1 to 10 using all the
{ Printf(“%d”,i);
three loops.
Printf(“%d”,i); ++i;
Printf(“%d”,i); }
++i }
} while (i<=10)
Syntax:
C PROGRAMMING Page 84
{
statement ;
Example:
main()
#include<stdio.h>
#include<conio.h>
void main( )
int i,j;
for(i=1;i<5;i++)
printf("\n");
C PROGRAMMING Page 85
for(j=i;j>0;j--)
printf("%d",j);
getch();
Output
21
321
4321
54321
Jump Statements
Jumping statements are used to transfer the program‟s control from one location to another, these
are set of keywords which are responsible to transfer program‟s control within the same block or
from one function to another.
return statement
break statement
continue statement
goto statement : goto statement doesnot require any condition. This statement passes control
anywhere in the program i.e, control is transferred to another part of the program without testing
any condition.
C PROGRAMMING Page 86
Syntax : goto label;
.....
.....
label:
statements;
Or
The goto statement requires a label to identify the place to move the execution. A label is a valid
variable/identifier name and must be ended with colon ( : )
Flowchart
C PROGRAMMING Page 87
Example
int main()
int age;
Vote:
NoVote:
scanf("%d", &age);
if(age>=18)
goto Vote;
else
goto NoVote;
return 0;
C PROGRAMMING Page 88
}
Output
Break Statement
Break is a keyword. The break statement terminates the loop (for, while and do...while loop)
immediately when it is encountered. The break statement is used/ associated with decision
making statement such as if ,if-else.
break;
Flowchart
C PROGRAMMING Page 89
How break statement works?
C PROGRAMMING Page 90
Example
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
for(i=1;i<=10;i++){
C PROGRAMMING Page 91
printf("%d \n",i);
break;
getch();
Output
12345
Continue Statement
Continue is keyword exactly opposite to break. The continue statement is used for continuing
next iteration of loop statements. When it occurs in the loop it does not terminate, but it skips
some statements inside the loop / the statements after this statement. . The continue statement is
used/ associated with decision making statement such as if ,if-else.
continue;
C PROGRAMMING Page 92
How continue statement works?
Example
C PROGRAMMING Page 93
1. #include <stdio.h>
2. #include <conio.h>
3. void main(){
4. int i=1;//initializing a local variable
5. clrscr();
6. //starting a loop from 1 to 10
7. for(i=1;i<=10;i++){
8. if(i==5){//if value of i is equal to 5, it will continue the loop
9. continue;
10. }
11. printf("%d \n",i);
12. }//end of for loop
13. getch();
14. }
Output
1234678910
Break Continue
1 : break statement takes the control to the 1 :continue statement takes the control to
ouside of the loop the beginning of the loop..
ARRAYS
Using Arrays in C
C PROGRAMMING Page 94