<<

Unit-4

Loop Control Statements:- Loop control statements change execution from its normal sequence. When execution leaves a , all automatic objects that were created in that scope are destroyed. supports the following control statements.

Break Statement:- The break statement in C programming has the following two usages: When a break statement is encountered inside a loop, the loop is Immediately terminated and the program control resumes at the next Statement following the loop. It can be used to terminate a case in the switch statement . If you are using nested loops, the break statement will stop the execution of the Innermost loop and start executing the next line of code after the block. Syntax The syntax for a break statement in C is as follows:

Flow Diagram

Msc.(Maths)1st sem Programing with C-1 Page 1

Unit-4

Example

#include int main () { /* local variable definition */ int a = 10; /* while loop execution */ while( a < 20 ) { printf("value of a: %d\n", a); a++; if( a > 15)

{ /* terminate the loop using break statement */ break; } } return 0; }

Continue Statement :- The continue statement in C programming works somewhat like the break statement. Instead of forcing termination, it forces the next iteration of the loop to take place, skipping any code in between. For the for loop, continue statement causes the conditional test and increment portions of the loop to execute. For the while and do...while loops, continue statement causes the program control to pass to the conditional tests. Syntax The syntax for a continue statement in C is as follows:

Msc.(Maths)1st sem Programing with C-1 Page 2

Unit-4

Flow Diagram

Example #include int main () { /* local variable definition */ int a = 10; /* do loop execution */ do { if( a == 15) { /* skip the iteration */ a = a + 1; continue; } printf("value of a: %d\n", a); a++; }while( a < 20 ); return 0; }

Msc.(Maths)1st sem Programing with C-1 Page 3

Unit-4

Goto Statement and :- A statement in C programming provides an unconditional jump from the ‘goto’ to a labeled statement in the same function. NOTE: Use of goto statement is highly discouraged in any because it makes difficult to trace the of a program, making the program hard to understand and hard to modify. Any program that uses a goto can be rewritten to avoid them. Syntax The syntax for a goto statement in C is as follows:

Here label can be any plain text except C keyword and it can be set anywhere in the C program above or below to goto statement.

Flow Diagram

Msc.(Maths)1st sem Programing with C-1 Page 4

Unit-4

Example #include int main () { /* local variable definition */ int a = 10; /* do loop execution */ LOOP:do { if( a == 15) { /* skip the iteration */ a = a + 1; goto LOOP; } printf("value of a: %d\n", a); a++; }while( a < 20 ); return 0; }

The Infinite Loop:- A loop becomes an infinite loop if a condition never becomes false. The for loop is traditionally used for this purpose. Since none of the three expressions that form the ‘for’ loop are required, you can make an endless loop by leaving the conditional expression empty.

Msc.(Maths)1st sem Programing with C-1 Page 5

Unit-4

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. NOTE: You can terminate an infinite loop by pressing Ctrl + C keys.

Switch Statement :- A switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each switch case. Syntax The syntax for a switch statement in C programming language is as follows:

The following rules apply to a switch statement: 1.The expression used in a switch statement must have an integral or enumerated type, or be of a class type in which the class has a single conversion function to an integral or enumerated type. 2.You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a . 3.The constant-expression for a case must be the same data type as the variable in the switch, and it must be a constant or a literal. 4.When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached. 5. When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement. 6. Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.

Msc.(Maths)1st sem Programing with C-1 Page 6

Unit-4

7. A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a when none of the cases is true. No break is needed in the default case. Flow diagram

Example #include int main () { /* local variable definition */ char grade = 'B'; switch(grade) { case 'A' : printf("Excellent!\n" ); break; case 'B' : case 'C' : printf("Well done\n" ); break; case 'D' : printf("You passed\n" ); break;

Msc.(Maths)1st sem Programing with C-1 Page 7

Unit-4

case 'F' : printf("Better try again\n" ); break; default : printf("Invalid grade\n" ); } printf("Your grade is %c\n", grade ); return 0; }

Exit() statements:- () is useful for terminating a program upon having discovered some error which prevents the program from continuing to execute normally. It’s prototype as follows,

void exit(int status);

exit() is a standard library function. exit() terminates program execution when it is called. exit() can be used as a variable name. stdlib.h needs to be included in order to use exit().exit() returns the control to the or another program that uses this one as a sub-. Example of exit()

// some code here before while loop while(true) { ... if(condition) exit(-1); } // some code here after while loop In the above code, when if(condition) returns true, exit(-1) will be executed and the program will get terminated. Upon call of exit(-1); -1 will be returned to the calling program that is operating system most of the time. The some code here after while loop will never be executed in this case. exit() is a libbrary function, which causes immediate termination of the entire program, forcing a return to the operating system.

Msc.(Maths)1st sem Programing with C-1 Page 8