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

Module 2 CProgramming

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

Module 2 CProgramming

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

The usual arithmetic conversions are implicitly performed to cast their values to a common

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:

Expression statements, Compound statements, and Control statements.

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.

Example illustrates the null statement:

for ( i = 0; i < 10; i++) ;

or

for (i=0;i<10;i++)

C PROGRAMMING Page 55
//empty body

Expression

Most of the statements in a C program are expression statements. An expression statement is


simply an expression followed by a semicolon. The lines

i = 0;

i = i + 1;

and printf("Hello, world!\n");

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

syntax: return expression(opt);

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

A Compound statement consists of several individual statements enclosed within a pair of


braces { }. The individual statements may themselves be expression statements, compound
statements or control statements. Unlike expression statements, a compound statement does not
end with a semicolon. A typical Compound statement is given below.

pi=3.14;

area=pi*radius*radius;

The particular compound statement consists of two assignment-type expression


statements.

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

C‟ language supports two conditional statements.

1: if

2: switch.

1: if Statement: The if Statement may be implemented in different forms.

1: simple if statement.

2: if –else statement

3: nested 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;

printf("Enter an integer: ");


scanf("%d", &number);

// Test expression is true if number is less than 0


if (number < 0)
{
printf("You entered %d.\n", number);
}

printf("The if statement is easy.");

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.

Nested if-else statement


When a series of decisions are involved, we may have to use more than on if-else statement in
nested form. If –else statements can also be nested inside another if block or else block or both.

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

inside if condition, then we must enclose them inside curly braces.

5. == must be used for comparison in the expression of if condition, if you use = the expression will

always return true, because it performs assignment not comparison.

6. Other than 0(zero), all other values are considered as true.


7. if(27)

8. printf("hello");

In above example, hello will be printed.

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.

Rules for writing switch() statement.


1 : The expression in switch statement must be an integer value or a character constant.
2 : No real numbers are used in an expression.
3 : The default is optional and can be placed anywhere, but usually placed at end.
4 : The case keyword must terminate with colon ( : ).
5 : No two case constants are identical.
6 : The case labels must be constants.

Valid Switch Invalid Switch Valid Case Invalid Case


switch(x) switch(f) case 3; case 2.5;
switch(x>y) switch(x+2.5) case 'a'; case x;
switch(a+b-2) case 1+2; case x+2;
switch(func(x,y)) case 'x'>'y'; case 1,2,3;

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

of codes will get executed after the matching 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

switch statement works.

Iteration Statements/ Loop Control Statements

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.

Why use loops in C language?

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.

A looping process would include the following four steps.

1 : Initialization of a condition variable.

2 : Test the condition.

3 : Executing the body of the loop depending on the condition.

4 : Updating the condition variable.

C PROGRAMMING Page 70
C language provides three iterative/repetitive loops.

1 : while loop

2 : do-while loop

3 : for loop

While Loop: Syntax :

variable initialization ;

while (condition)

statements ;

variable increment or decrement ;

while loop can be addressed as an entry control loop. It is completed in 3 steps.

 Variable initialization.( e.g int x=0; )

 condition( e.g while( x<=10) )

 Variable increment or decrement ( x++ or x-- or x=x+2 )

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.

Example : Program to print first 10 natural numbers


#include<stdio.h>

#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

C Program to reverse number

#include<stdio.h>

#include<conio.h>

main()

int n, reverse=0, rem;

clrscr();

printf("Enter a number: ");

scanf("%d", &n);

C PROGRAMMING Page 72
while(n!=0)

rem=n%10;

reverse=reverse*10+rem;

n/=10;

printf("Reversed Number: %d",reverse);

getch();

Flowchart

C PROGRAMMING Page 73
do-while loop
Syntax : variable initialization ;

do{

statements ;

variable increment or decrement ;

}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++;

}while(i <= 10);

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.

 In this loop structure, more than one variable can be initialized.

 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.

Syntax : for(initialization; condition; increment/decrement)

Statements;

C PROGRAMMING Page 76
Example:

#include<stdio.h>

#include<conio.h>

void main( )

int x;

for(x=1; x<=10; x++)

printf("%d\t",x);

getch();

Output

1 2 3 4 5 6 7 8 9 10

Various forms of FOR LOOP

I am using variable num in all the below examples –

1) Here instead of num++, I‟m using num=num+1 which is nothing but same as num++.

for (num=10; num<20; num=num+1)

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.

for (num=10; num<20; )

//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.

for(num=20; num>10; num--)

Program to calculate the sum of first n natural numbers

#include <stdio.h>

int main()

int num, count, sum = 0;

printf("Enter a positive integer: ");

scanf("%d", &num);

// for loop terminates when n is less than count

C PROGRAMMING Page 78
for(count = 1; count <= num; ++count)

sum += count;

printf("Sum = %d", sum);

return 0;

Output

Enter a positive integer: 10

Sum = 55

Factorial Program using loop

#include<stdio.h>

#include<conio.h>

void main(){

int i,fact=1,number;

clrscr();

printf("Enter a number: ");

scanf("%d",&number);

for(i=1;i<=number;i++){

fact=fact*i;

printf("Factorial of %d is: %d",number,fact);

getch();

C PROGRAMMING Page 79
Output:

Enter a number: 5

Factorial of 5 is: 120

Flow Chart of for Loop :

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");

Basis of Difference For Loop While Loop Do While Loop

The for loop is


appropriate
The other two loops i.e. while and do
when we know in
while loops are more suitable in the
advance
situations where it is not known before
how many times the
hand when the loop will terminate.
loop
will be executed.

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.

A for loop initially A while loop A do while loop will


initiates a counter will always always executed the
variable (initialization- evaluate the code in the do {} i.e.
expression), then it test-expression body of the loop
checks the initially. It the block first and then
How all the three loops
test-expression, and test-expression evaluates the
works?
executes the body of becomes true, condition. In this
the loop if the test then the body of case also, the counter
expression is true. the loop will be variable is initialized
After executing the executed. The outside the body of
body of the loop, update the loop.

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.

Position of the statements


:
In for loop, all the
 Initialization In while and do while loop, they are
three statements are
placed in different position.
 test-expression placed in one position

 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)

Nested for loop


We can also have nested for loops, i.e one for loop inside another for loop. nesting is often used
for handling multidimensional arrays.

Syntax:

for(initialization; condition; increment/decrement)

for(initialization; condition; increment/decrement)

C PROGRAMMING Page 84
{

statement ;

Example:

main()

for (int i=0; i<=5; i++)

for (int j=0; j<=5; j++)

printf("%d, %d",i ,j);

Example : Program to print half Pyramid of numbers

#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.

There are four jumping statements in C language:


 goto statement

 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;

Inthissyntax, label isan identifier.


When, the control of program reaches to goto statement, the control of the program will jump to
the label: and executes the code below it.

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:

printf("you are eligible for voting");

NoVote:

printf("you are not eligible to vote");

printf("Enter you age:");

scanf("%d", &age);

if(age>=18)

goto Vote;

else

goto NoVote;

return 0;

C PROGRAMMING Page 88
}

Output

Enter you age:19

you are eligible for voting

Enter you age:15

you are not eligible to vote

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.

Syntax of break statement

break;

Flowchart

C PROGRAMMING Page 89
How break statement works?

C PROGRAMMING Page 90
Example

#include <stdio.h>

#include <conio.h>

void main(){

int i=1;//initializing a local variable

clrscr();

//starting a loop from 1 to 10

for(i=1;i<=10;i++){

C PROGRAMMING Page 91
printf("%d \n",i);

if(i==5){//if value of i is equal to 5, it will break the loop

break;

}//end of for loop

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.

Syntax of continue Statement

continue;

Flowchart of continue Statement

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

Comparision between break and continue statements

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..

2 : it is also used in switch statement. 2 : This can be used only in loop


statements.

3 : Always associated with if condition in 3 : This is also associated with if


loops. condition.

ARRAYS
Using Arrays in C

C PROGRAMMING Page 94

You might also like