DECISION MAKING AND BRANCHING
WHILE PROGRAMMING WE FACE A NUMBER OF SITUATION WHERE WE HAVE TO CHANGE THE ORDER OF EXECUTION FROM THE NORMAL SEQUENTIAL EXECUTION. IT INVOLVES A KIND OF DECISION MAKING TO CHECK WEATHER A PARTICULAR CONDITION HAS OCCURRED OR NOT.
C HAS A NUMBER OF DECISION MAKING STRUCTURES.
- IF STATEMENT
- SWITCH STATEMENT
- CONDITIONAL STATEMENT
- GOTO STATEMENT
IF STATEMENT
IT IS TWO WAY DECISION MAKING STATEMENT USUALLY USED WITH AN EXPRESSION OF THE FOLLOWING FORM.
IF ( EXPRESSION ){
STATEMENT;
}
IT EVALUATE THE EXPRESSION FIRST AND THEN DEPENDING ON THE VALUE OF EXPRESSION IS TRUE OR FALSE. IT TRANSFERS THE CONTROL TO A PARTICULAR STATEMENT. IF STATEMENT CAN BE IMPLEMENTED IN DIFFERENT FORMS.
- SIMPLE IF STATEMENT
- IF........ELSE STATEMENT
- NESTED IF.......ELSE STATEMENT
- ELSE IF LADDER STATEMENT
SIMPLE IF STATEMENT
THE GENERAL FORM OF SIMPLE IF STATEMENT IS,
IF ( TEST EXPRESSION )
{
STATEMENT - BLOCK;
}
STATEMENT - X;
EXAMPLE : WRITE A PROGRAM TO CHECK WHETHER THE GIVEN NUMBER IS EVEN OR ODD.
ALGORITHM :
STEP 1 : START
STEP 2 : READ N
STEP 3 : IF N % 2 == 0
PRINT N IS EVEN
STEP 4 : PRINT N IS ODD
STEP 5 : STOP
PROGRAM :
# include < stdio.h >
# include < conio.h >
void main ( )
{
int n;
clrscr( );
printf("\n ENTER A NUMBER");
scanf("%d",&n);
if ( n%2 == 0 )
printf("\nTHE NUMBER IS EVEN");
else
printf("\nTHE NUMBER IS ODD");
getch( );
getch( );
}
IF ( TEST EXPRESSION )
{
TRUE - BLOCK STATEMENT ;
}
ELSE
{
FALSE - BLOCK STATEMENT ;
}
STATEMENT - X ;
IF TEST EXPRESSION IS TRUE THEN THE TRUE-BLOCK STATEMENT IMMEDIATELY AFTER THE IF STATEMENT IS EXECUTED. OTHERWISE THE FALSE-STATEMENT ARE EXECUTED.
EXAMPLE : WRITE A PROGRAM TO FIND LARGEST AMONG THREE NUMBERS
# include < stdio.h >
IF.....ELSE STATEMENT
WHEN A SERIES OF DECISIONS ARE INVOLVED, WE USE IF.....ELSE STATEMENT. THE GENERAL FORM IS,IF ( TEST EXPRESSION )
{
TRUE - BLOCK STATEMENT ;
}
ELSE
{
FALSE - BLOCK STATEMENT ;
}
STATEMENT - X ;
IF TEST EXPRESSION IS TRUE THEN THE TRUE-BLOCK STATEMENT IMMEDIATELY AFTER THE IF STATEMENT IS EXECUTED. OTHERWISE THE FALSE-STATEMENT ARE EXECUTED.
EXAMPLE : WRITE A PROGRAM TO FIND LARGEST AMONG THREE NUMBERS
# include < stdio.h >
# include < conio.h >
void main( )
{
int a,b,c,lar;
clrscr( );
printf("\nENTER THREE NUMBERS");
scanf("%d %d %d",&a,&b,&c);
if( a > b )
{
lar = a;
}
}
else
{
lar = b;
}
if( c > lar )
{
lar = c;
}
else
{
lar = lar;
}
printf("\nLARGEST NUMBER IS %d",lar);
getch( );
}
IF( TEST CONDITION 1 )
{
IF( TEST CONDITION 2 )
{
STATEMENT 1;
}
ELSE
{
STATEMENT 2;
}
ELSE
{
STATEMENT 3;
}
EXAMPLE :
WRITE A PROGRAM TO GIVE FIVE PERCENTAGE BONUS TO FEMALE DEPOSITORS WHOSE ACCOUNT BALANCE IS MORE THAN FIVE THOUSAND.
# include < stdio.h >
# include < conio.h >
void main( )
{
float balance;
char gender;
char name[ 20 ];
clrscr( );
printf("\nENTER ACCOUNT HOLDERS NAME");
scanf("%s",&name);
printf("\nENTER YOUR GENDER");
scanf("%s",&gender);
printf("\nENTER YOUR BALANCE");
scanf("%f",&balance");
if( balance == ' F ' )
{
if( balance > 5000 )
{
balance = balance + balance * 0.5;
}
else
{
balance = balance + balance * 0.02;
}
else
{
balance = balance + balance * .02;
}
printf("\nNEW BALANCE OF %s IS : %f ",name,balance);
getch( );
}
IF ( CONDITION )
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;
THE CONDITION ARE EVALUATED FROM THE TOP OF THE LADDER TO DOWNWARDS. AS WELL AS A TRUE CONDITION IS FOUND THE STATEMENT IS ASSOCIATED WITH IT IS EXECUTED AND THE CONTROL IS TRANSFERRED TO THE STATEMENT X. WHEN ALL N CONDITION BECOMES FALSE THE FINAL ELSE CONTAINING THE DEFAULT STATEMENT WILL BE EXECUTED.
EXAMPLE :
WRITE A PROGRAM TO READ THE TOTAL MARKS OF A STUDENT IN FIVE SUBJECT.
# include < stdio.h >
# include < conio.h >
void main ( )
int total;
char name[30];
char grade;
float per;
clrscr( );
printf("\nENTER THE NAME OF STUDENT");
scanf("%s",&name);
printf("\nENTER YOUR TOTAL MARK");
scanf("%d",&total);
per= total / 500 * 100;
if( per > = 80 && per < = 100 )
grade = 'A';
else if( per > = 60 && per < = 79 )
grade = 'B';
else if( per > = 50 && per < = 59 )
grade = 'C';
else if( per > = 40 && per < = 49 )
grade = 'D';
else
grade = 'E';
printf("\nNAME = %s",name);
printf("\nTOTAL MARK = %d",total);
printf("\nGRADE = %c",grade);
getch( );
}
SWITCH ( EXPRESSION )
{
CASE VALUE 1;
BLOCK 1;
BREAK;
CASE VALUE 2;
BLOCK 2;
BREAK;
..........................
..........................
..........................
DEFAULT : DEFAULT BLOCK;
BREAK;
}
STATEMENT X;
HERE THE EXPRESSION IS AN INTEGER OR CHARACTER EXPRESSION. VALUE 1,VALUE 2, ETC ARE CONSTANT EXPRESSION AND ARE KNOWN AS CASE LABELS AND THIS VALUES ARE UNIQUE WITHIN SWITCH STATEMENT.
WHILE EXECUTING SWITCH EXPRESSION THE VALUE OF THE EXPRESSION IS COMPARED WITH VALUE 1, VALUE 2 ETC.THE BREAK STATEMENT INDICATE THE END OF A PARTICULAR CASE AND CAUSES TO EXIT FROM THE SWITCH STATEMENT. THE DEFAULT IS AN OPTIONAL CASE IT EXECUTES WHEN THE VALUE OF THE EXPRESSION DOES NOT MATCH WITH ANY OF THE CASE VALUE.
EXAMPLE :
WRITE A PROGRAM TO READ THE GRADE SECURED BY A STUDENT AND PRINT CORRESPONDING POSITION.
# include < stdio.h >
# include < conio.h >
void main()
char name[20];
char grade;
printf("\nENTER YOUR NAME");
scanf("%s",&name);
printf("\nENTER YOUR GRADE");
grade = getchar();
switch (grade)
{
case 'A' :
printf("\nHONOURS");
break;
case 'B' :
printf("\nFIRST DIVISION");
break;
case 'C' :
printf("\nSECOND DIVISION");
break;
case 'D' :
printf("\nTHIRD DIVISION");
break;
default :
printf("\nFAIL");
break;
}
getch( );
}
CONDITIONAL EXPRESSION ? EXPRESSION 1 :: EXPRESSION 2;
THE CONDITIONAL EXPRESSION IS EVALUATED FIRST IF THE RESULT IS NON ZERO EXPRESSION ONE IS EVALUATED OTHERWISE EXPRESSION TWO IS EVALUATED AND ITS VALUE IS RETURN.
EXAMPLE :
IF ( X > 0 )
FLOAT = 0;
ELSE
FLOAT = 1;
IF X > 0 ? FLOAT = 0 : FLOAT = 1;
LABEL : STATEMENT;
--------------------------------
--------------------------------
--------------------------------
GOTO LABEL;
LOOPING USING WHILE LOOP
THE SIMPLEST FORM OF LOOPING IN C IS THE WHILE STATEMENT. THE BASIC FORMAT OF WHILE STATEMENT IS,
WHILE ( TEST CONDITION )
{
BODY OF THE LOOP;
}
IT IS A ENTRY CONTROLLED LOOP STATEMENT. THE TEST CONDITION IS EVALUATED FIRST AND IF THE CONDITION IS TRUE THEN THE BODY OF THE LOOP IS EXECUTED. AFTER EXECUTION OF THE BODY THE TEST CONDITION IS ONCE AGAIN EVALUATED AND IF IT IS TRUE THE BODY IS EXECUTED ONCE AGAIN. THE PROCESS OF REPEATED EXECUTION OF THE BODY CONTINUES UNTIL THE TEST CONDITION FINALLY FALSE AND THE CONTROL IS TRANSFERRED OUT OF THE LOOP.
EXAMPLE :
WRITE A PROGRAM TO PRINT MULTIPLICATION TABLE WITH A NUMBER UP TO 10.
# include < stdio.h >
# include < conio.h >
void main( )
{
int n, i = 1;
clrscr( );
printf("\nENTER THE NUMBER");
scanf("%d",&n);
while( i < = 10 )
{
printf("\n%d * %d = %d",i,n,i*n);
i++;
}
getch( );
}
DO
{
STATEMENTS;
}
WHILE( CONDITION );
ON REACHING THE TWO STATEMENT THE PROGRAM PROCEEDS TO EVALUATE THE BODY OF THE LOOP FIRST. AT END OF THE LOOP TEST CONDITION IN THE WHILE STATEMENT IS EVALUATED IF THE CONDITION IS TRUE LOOP CONTINUES TO EVALUATE THE BODY OF THE LOOP ONCE AGAIN. THIS PROCESS CONTINUOUS AS LONG AS THE CONDITION IS TRUE. DO WHILE LOOP IS AN EXIT CONTROLLED LOOPING STRUCTURE.
EXAMPLE :
WRITE A PROGRAM TO FIND THE SUM OF FIRST N NUMBERS.
# include< stdio.h >
# include< conio.h >
void main( )
{
int n, sum = 0,i = 1;
clrscr( );
printf("\nENTER THE LIMIT");
scanf("%d",&n);
do
{
sum = sum + i ;
i++;
}
while( i < = n );
printf("\n SUM = %d ",n,sum);
getch( );
}
FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
BODY OF THE LOOP;
}
THE EXECUTION OF THE FOR STATEMENT IS AS FOLLOWS.
NESTED IF....ELSE STATEMENT
SOMETIMES WE MAY HAVE TO USE MORE THAN ONE IF....ELSE STATEMENT IN NESTED FORM. THE GENERAL FORM IS,IF( TEST CONDITION 1 )
{
IF( TEST CONDITION 2 )
{
STATEMENT 1;
}
ELSE
{
STATEMENT 2;
}
ELSE
{
STATEMENT 3;
}
EXAMPLE :
WRITE A PROGRAM TO GIVE FIVE PERCENTAGE BONUS TO FEMALE DEPOSITORS WHOSE ACCOUNT BALANCE IS MORE THAN FIVE THOUSAND.
# include < stdio.h >
# include < conio.h >
void main( )
{
float balance;
char gender;
char name[ 20 ];
clrscr( );
printf("\nENTER ACCOUNT HOLDERS NAME");
scanf("%s",&name);
printf("\nENTER YOUR GENDER");
scanf("%s",&gender);
printf("\nENTER YOUR BALANCE");
scanf("%f",&balance");
if( balance == ' F ' )
{
if( balance > 5000 )
{
balance = balance + balance * 0.5;
}
else
{
balance = balance + balance * 0.02;
}
else
{
balance = balance + balance * .02;
}
printf("\nNEW BALANCE OF %s IS : %f ",name,balance);
getch( );
}
THE ELSE IF LADDER
THIS IS A WAY OF PUTTING IFS TOGETHER WHEN MULTIPATH DECISION ARE INVOLVED. A MULTIPATH DECISION IS A CHAIN OF IF STATEMENT ASSOCIATED WITH EACH ELSE IS AN IF. THE GENERAL FORM IS,IF ( CONDITION )
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;
THE CONDITION ARE EVALUATED FROM THE TOP OF THE LADDER TO DOWNWARDS. AS WELL AS A TRUE CONDITION IS FOUND THE STATEMENT IS ASSOCIATED WITH IT IS EXECUTED AND THE CONTROL IS TRANSFERRED TO THE STATEMENT X. WHEN ALL N CONDITION BECOMES FALSE THE FINAL ELSE CONTAINING THE DEFAULT STATEMENT WILL BE EXECUTED.
EXAMPLE :
WRITE A PROGRAM TO READ THE TOTAL MARKS OF A STUDENT IN FIVE SUBJECT.
# include < stdio.h >
# include < conio.h >
void main ( )
int total;
char name[30];
char grade;
float per;
clrscr( );
printf("\nENTER THE NAME OF STUDENT");
scanf("%s",&name);
printf("\nENTER YOUR TOTAL MARK");
scanf("%d",&total);
per= total / 500 * 100;
if( per > = 80 && per < = 100 )
grade = 'A';
else if( per > = 60 && per < = 79 )
grade = 'B';
else if( per > = 50 && per < = 59 )
grade = 'C';
else if( per > = 40 && per < = 49 )
grade = 'D';
else
grade = 'E';
printf("\nNAME = %s",name);
printf("\nTOTAL MARK = %d",total);
printf("\nGRADE = %c",grade);
getch( );
}
SWITCH STATEMENT
C HAS ANOTHER BUILT IN MULTI WAY DECISION STATEMENT KNOWN AS SWITCH. THE SWITCH STATEMENT TESTS THE VALUE OF A GIVEN VARIABLE ( OR EXPRESSION ) AGAINST A LIST OF CASE VALUE WHEN A MATCH IS FOUND A BLOCK OF STATEMENTS ASSOCIATED WITH THAT CASE IS EXECUTED. THE GENERAL FORM OF SWITCH STATEMENT IS,SWITCH ( EXPRESSION )
{
CASE VALUE 1;
BLOCK 1;
BREAK;
CASE VALUE 2;
BLOCK 2;
BREAK;
..........................
..........................
..........................
DEFAULT : DEFAULT BLOCK;
BREAK;
}
STATEMENT X;
HERE THE EXPRESSION IS AN INTEGER OR CHARACTER EXPRESSION. VALUE 1,VALUE 2, ETC ARE CONSTANT EXPRESSION AND ARE KNOWN AS CASE LABELS AND THIS VALUES ARE UNIQUE WITHIN SWITCH STATEMENT.
WHILE EXECUTING SWITCH EXPRESSION THE VALUE OF THE EXPRESSION IS COMPARED WITH VALUE 1, VALUE 2 ETC.THE BREAK STATEMENT INDICATE THE END OF A PARTICULAR CASE AND CAUSES TO EXIT FROM THE SWITCH STATEMENT. THE DEFAULT IS AN OPTIONAL CASE IT EXECUTES WHEN THE VALUE OF THE EXPRESSION DOES NOT MATCH WITH ANY OF THE CASE VALUE.
EXAMPLE :
WRITE A PROGRAM TO READ THE GRADE SECURED BY A STUDENT AND PRINT CORRESPONDING POSITION.
# include < stdio.h >
# include < conio.h >
void main()
char name[20];
char grade;
printf("\nENTER YOUR NAME");
scanf("%s",&name);
printf("\nENTER YOUR GRADE");
grade = getchar();
switch (grade)
{
case 'A' :
printf("\nHONOURS");
break;
case 'B' :
printf("\nFIRST DIVISION");
break;
case 'C' :
printf("\nSECOND DIVISION");
break;
case 'D' :
printf("\nTHIRD DIVISION");
break;
default :
printf("\nFAIL");
break;
}
getch( );
}
CONDITIONAL STATEMENT
IT IS UN USUAL OPERATOR USEFUL FOR MAKING A TWO WAY DECISION. THE OPERATOR IS A COMBINATION OF ? AND :: . THE GENERAL FORM IS,CONDITIONAL EXPRESSION ? EXPRESSION 1 :: EXPRESSION 2;
THE CONDITIONAL EXPRESSION IS EVALUATED FIRST IF THE RESULT IS NON ZERO EXPRESSION ONE IS EVALUATED OTHERWISE EXPRESSION TWO IS EVALUATED AND ITS VALUE IS RETURN.
EXAMPLE :
IF ( X > 0 )
FLOAT = 0;
ELSE
FLOAT = 1;
IF X > 0 ? FLOAT = 0 : FLOAT = 1;
GOTO STATEMENT
C SUPPORT THE GOTO STATEMENT TO BRANCH UN CONDITIONALLY FROM ONE POINT TO ANOTHER IN A PROGRAM. THE GOTO REQUIRES A LABEL IDENTIFYING THE FALSE WHERE THE BRANCH IS TO BE MADE. A LABEL IS A VALID VARIABLE NAME FOLLOWED BY A COLON ( : ).LABEL : STATEMENT;
--------------------------------
--------------------------------
--------------------------------
GOTO LABEL;
LOOPING USING WHILE LOOP
THE SIMPLEST FORM OF LOOPING IN C IS THE WHILE STATEMENT. THE BASIC FORMAT OF WHILE STATEMENT IS,WHILE ( TEST CONDITION )
{
BODY OF THE LOOP;
}
IT IS A ENTRY CONTROLLED LOOP STATEMENT. THE TEST CONDITION IS EVALUATED FIRST AND IF THE CONDITION IS TRUE THEN THE BODY OF THE LOOP IS EXECUTED. AFTER EXECUTION OF THE BODY THE TEST CONDITION IS ONCE AGAIN EVALUATED AND IF IT IS TRUE THE BODY IS EXECUTED ONCE AGAIN. THE PROCESS OF REPEATED EXECUTION OF THE BODY CONTINUES UNTIL THE TEST CONDITION FINALLY FALSE AND THE CONTROL IS TRANSFERRED OUT OF THE LOOP.
EXAMPLE :
WRITE A PROGRAM TO PRINT MULTIPLICATION TABLE WITH A NUMBER UP TO 10.
# include < stdio.h >
# include < conio.h >
void main( )
{
int n, i = 1;
clrscr( );
printf("\nENTER THE NUMBER");
scanf("%d",&n);
while( i < = 10 )
{
printf("\n%d * %d = %d",i,n,i*n);
i++;
}
getch( );
}
DO WHILE LOOP
IN SOME SITUATIONS IT MIGHT BE NECESSARY TO EXECUTE THE BODY OF THE LOOP BEFORE THE TEST IS PERFORMED THAT IS THE STATEMENTS INSIDE THE LOOP WILL EXECUTE AT LEAST ONCE. IN SUCH SITUATIONS DO WHILE STATEMENT CAN BE USED. THE GENERAL FORM OF DO WHILE STATEMENT IS,DO
{
STATEMENTS;
}
WHILE( CONDITION );
ON REACHING THE TWO STATEMENT THE PROGRAM PROCEEDS TO EVALUATE THE BODY OF THE LOOP FIRST. AT END OF THE LOOP TEST CONDITION IN THE WHILE STATEMENT IS EVALUATED IF THE CONDITION IS TRUE LOOP CONTINUES TO EVALUATE THE BODY OF THE LOOP ONCE AGAIN. THIS PROCESS CONTINUOUS AS LONG AS THE CONDITION IS TRUE. DO WHILE LOOP IS AN EXIT CONTROLLED LOOPING STRUCTURE.
EXAMPLE :
WRITE A PROGRAM TO FIND THE SUM OF FIRST N NUMBERS.
# include< stdio.h >
# include< conio.h >
void main( )
{
int n, sum = 0,i = 1;
clrscr( );
printf("\nENTER THE LIMIT");
scanf("%d",&n);
do
{
sum = sum + i ;
i++;
}
while( i < = n );
printf("\n SUM = %d ",n,sum);
getch( );
}
THE FOR STATEMENT
THE FOR LOOP IS ANOTHER ENTRY CONTROLLED LOOP. THAT PROVIDES THE MORE CONVENIENT LOOP CONTROL STRUCTURE. THE GENERAL FORM OF THE FOR LOOP IS,FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
BODY OF THE LOOP;
}
THE EXECUTION OF THE FOR STATEMENT IS AS FOLLOWS.
- INITIALIZATION OF THE CONTROL VARIABLES IS DONE FIRST, USING ASSIGNMENT STATEMENT SUCH AS I =1.
- THE VALUE OF THE CONTROL VARIABLE IS TESTED USING TEST CONDITION. THE TEST CONDITION IS A RELATIONAL EXPRESSION SUCH AS I < N. THAT DETERMINE WHEN THE LOOP WILL EXIT.
- WHEN THE BODY OF THE LOOP IS EXECUTED, THE CONTROL IS TRANSFERRED BACK TO THE FOR STATEMENT AFTER EVALUATING THE LAST STATEMENT TO THE LOOP.
- NOW THE CONTROL VARIABLE IS INCREMENTED USING AN ASSIGNMENT STATEMENT SUCH AS I = I + 1 AND THE NEW VALUE OF THE CONTROL VARIABLE IS AGAIN TESTED TO C WEATHER IT IS SATISFY THE LOOP CONDITION.
EXAMPLE :
WRITE A PROGRAM TO FIND THE SUM OF SQUARES OF FIRST N NUMBERS.
# include < stdio.h >
# include <conio.h >
void main( )
{
int n, sum = 0, i;
clrscr( );
printf("\nENTER THE LIMIT");
scanf("%d",&n);
for( i=1; i < = n; i++ )
{
sum = sum + i * i;
}
printf("\n SUM = %d",sum);
getch( );
}
ADDITIONAL FEATURES OF FOR LOOP
THE FOR LOOP IN C HAS SOME ADDITIONAL CAPABILITIES RATHER THAN OTHER LOOP STRUCTURES.
- MORE THAN ONE VARIABLE CAN BE INITIALIZED AT A TIME IN THE FOR STATEMENT. FOR( I =1; N =0; I < = P; I++)
- THE INCREMENT SECTION MAY ALSO HAVE MORE THAN ONE PART.
3.THE TEST CONDITION MAY HAVE ANY COMPOUND STATEMENTS AND THE TESTING NEED NOT BE LIMITED ONLY TO THE LOOP CONTROL VARIABLE.
4. IT IS ALSO PERMISSIBLE TO USE EXPRESSION IN THE ASSIGNMENT STATEMENT OF INITIALIZATION AND INCREMENT SECTION.
THE GENERAL FORM IS,
FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
-------------------------------
-------------------------------
-------------------------------
} \\ INNER LOOP
} \\ OUTER LOOP
NESTING MAY CONTINUE AT DESIGNED LEVEL.
EXAMPLE :
WRITE A PROGRAM TO PRINT MATRIX OF PRODUCT ROW NUMBER AND COLUMN NUMBER.
# include < stdio.h >
# include < conio.h >
void main( )
{
int i, j, m, n;
printf("\nENTER THE SIZE OF TWO MATRIX");
scanf("%d %d",&m,&n);
for( i = 1; i < = m; i++ )
{
for( j =1; j < = n; j++ )
{
printf("\t %d",i*t);
}
printf("\n");
}
getch( );
}
WHEN THE LOOP ARE NESTED THE BREAK WOULD ONLY EXIT FROM THE LOOP CONTAIN IT THAT IS THE BREAK WILL EXIT ONLY A SINGLE LOOP. WE CAN ALSO EXIT FROM A LOOP USING THE GOTO STATEMENT.
EXAMPLE :
WRITE A PROGRAM TO PRINT THE PRIME NUMBER BETWEEN TWO LIMIT.
# include < stdio.h >
# include < conio.h >
void main( )
{
int i, j, flag, start, end;
clrscr( );
puts("\nENTER THE TWO LIMITS");
scanf("%d %d ",&start,&end);
for( n = start; n < = end; n++ )
{
flag = 0;
for( i = 2; i < = n/2; i++ )
{
if ( n % i == 0 )
{
flag = 1;
break;
}
}
if (flag == 0 )
printf("\t %d",n);
}
getch( );
}
4. IT IS ALSO PERMISSIBLE TO USE EXPRESSION IN THE ASSIGNMENT STATEMENT OF INITIALIZATION AND INCREMENT SECTION.
NESTING OF FOR LOOP
NESTING OF FOR LOOP MEANS ONE FOR STATEMENT WITH IN ANOTHER FOR STATEMENT.THE GENERAL FORM IS,
FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
FOR( INITIALIZATION; TEST CONDITION; INCREMENT )
{
-------------------------------
-------------------------------
-------------------------------
} \\ INNER LOOP
} \\ OUTER LOOP
NESTING MAY CONTINUE AT DESIGNED LEVEL.
EXAMPLE :
WRITE A PROGRAM TO PRINT MATRIX OF PRODUCT ROW NUMBER AND COLUMN NUMBER.
# include < stdio.h >
# include < conio.h >
void main( )
{
int i, j, m, n;
printf("\nENTER THE SIZE OF TWO MATRIX");
scanf("%d %d",&m,&n);
for( i = 1; i < = m; i++ )
{
for( j =1; j < = n; j++ )
{
printf("\t %d",i*t);
}
printf("\n");
}
getch( );
}
JUMPS IN LOOP
IF WE CAN JUMP OUT OF A LOOP BEFORE COMPLETING ITS ITERATION. THIS ACHIEVEMENT USING BREAK STATEMENT. WHEN THE BREAK STATEMENT IS ENCOUNTERED INSIDE A LOOP THE LOOP IS IMMEDIATELY EXITED AND THE PROGRAM CONTINUE TO RUN FROM THE NEXT STATEMENT AFTER THE LOOP BODY.WHEN THE LOOP ARE NESTED THE BREAK WOULD ONLY EXIT FROM THE LOOP CONTAIN IT THAT IS THE BREAK WILL EXIT ONLY A SINGLE LOOP. WE CAN ALSO EXIT FROM A LOOP USING THE GOTO STATEMENT.
SKIPPING A PART OF A LOOP
IT MAY BE NECESSARY TO SKIP A PART OF BODY OF THE LOOP IN CERTAIN CONDITION. THIS IS ACHIEVED USING THE KEYWORD CONTINUE. IT DOES NOT CAUSES THE LOOP TO BE TERMINATED AND AS THE NAME IMPLIES CAUSES THE LOOP TO BE CONTINUED WITH THE NEXT ITERATION.EXAMPLE :
WRITE A PROGRAM TO PRINT THE PRIME NUMBER BETWEEN TWO LIMIT.
# include < stdio.h >
# include < conio.h >
void main( )
{
int i, j, flag, start, end;
clrscr( );
puts("\nENTER THE TWO LIMITS");
scanf("%d %d ",&start,&end);
for( n = start; n < = end; n++ )
{
flag = 0;
for( i = 2; i < = n/2; i++ )
{
if ( n % i == 0 )
{
flag = 1;
break;
}
}
if (flag == 0 )
printf("\t %d",n);
}
getch( );
}
CODE MASTER
Comments
Post a Comment