Sie sind auf Seite 1von 37

CHAPTER 3

Session Objectives
Explain Types of Control Statements Explain If, If..else statements Understand Looping concepts Explain Switch..Case statement Explain Break,continue Statements

Explain the Goto Statement

Decision making& Branching Looping Statement

Jumping Statement

By default the statements are executed sequentially. However in practice we have situations where we may have to change the order of executions of statements until specified conditions are met.

Decision Making &Branching Statement Jumping Statement Looping Statement

Syntax : if(condition) { True Block Statement(s); } Executable statement(s);

Test Condition

TRUE

FALSE

True Block Statements

Executable Statements

Syntax :
if(condition) { True Block Statement(s); } else {False Block statement(s); }

FALSE

Test Condition

TRUE

False Block Statements

True Block Statements

Syntax :
Initialization counter; while(condition) { Body of the Loop; Increment/Decrement counter ; }

Start Initialize FALSE


Test Condition

TRUE Body of the loop

STOP

Increment or Decrement

Syntax :
Initialization counter; do { Body of the Loop; Increment/Decrement counter ; } while(condition);

Start Initialize Body of the loop

Increment or Decrement TRUE


Test Condition

FALSE Stop

Syntax :

For(initialization;condition;increment/decrement) { Body of the Loop; }

Start

Initialize
FALSE
Test Condition

TRUE Body of the loop

STOP

Increment or Decrement

Multiple Initialization / Increments


The following loop is used for multiple initialization -

The for loop will be termed as a nested for loop when it is written like this : -

Write a C Program swapping two numbers #include<stdio.h> void main() { int a,b,c; printf("enter two number="); scanf ("%d %d",&a,&b); b=a+b; a=b-a; b=b-a; printf("%d %d",a,b); } Increment operator(++) Example #include<stdio.h> void main() { int i=2; printf("\n The value of i is %d",i); printf("\n The value of i is %d",++i); printf("\n The value of i is %d",i); }

Decrement Operator Example #include<stdio.h> void main() { int i; i=2; printf("\n The value of i is %d",i); printf("\n The value of i is %d",--i); printf("\n The value of i is %d",i); }
Write a program to convert farenheit into celsius = (far - 32) *5/9 #include<stdio.h> void main() { float faren,celsius; printf("\n Enter the farenheit = "); scanf(" %f", &faren); celsius = (faren -32) *5/9; printf("The Celsius is = %f",celsius); }

Write a program to accept your name,address & city and print it one by one #include<stdio.h>

void main()
{ char name[20],add[30],city[20]; printf("\n Enter the name="); scanf("%s",&name);

printf("\n Enter the Address=");


scanf("%s",&add); printf("\n Enter the City="); scanf("%s",&city); printf("The Name is = %s\n",name); printf("The Address is = %s\n",add); printf("The City is = %s\n",city); }

Enter the Name = CSCComputer Enter the Address= Meenambalsalai Enter the city = Chennai

The Name is = CSCComputer The Address is= Meenambalsalai The city is = Chennai

How to print a Special characters #include<stdio.h> #include<conio.h> void main() { char c; clrscr(); printf("\n This is how to print a double quote : \"\n"); printf("\n This is how to print a backslash : \\\n"); c='\''; printf("\n c now contains %c\n",c); printf("\n This is how to print a percent - sign : %%\n"); c='\007'; /* beep sound code is 7 */ printf("\n c now contains %d\n",c); getch(); }

Write a program to print employee name, basic pay,pf,lic & calculate the net salary #include<stdio.h> void main() { char name[20]; int basic,pf,lic,net; printf("\n Enter the name="); scanf("%s",name); printf("\n Enter Basic Bpay ="); scanf("%d",&basic); printf("\n Enter PF ="); scanf("%d",&pf); printf("\n Enter LIC ="); scanf("%d",&lic); net = basic (pf + lic); printf("Net Salary is = %d ",net); }

Write a program to find the greatest among two numbers a,b #include<stdio.h> void main() { int a,b,c; printf("\n Enter 2 nos. ="); scanf("%d %d",&a,&b); if (a>b) { printf("A is greatest %d,a); } else { printf(" B is greatest %d,b); } getch(); }

Enter 2 nos. = 100 20


A is greatest 100

Write a program to find the greatest of Three numbers #include<stdio.h> void main() { int a,b,c; printf("\n Enter 3 nos. ="); scanf("%d %d %d",&a,&b,&c); if ((a>b) && (a>c)) { printf("A is greatest %d,a); } elseif (b>c) { printf(" B is greatest %d,b); } else { printf("C is greatest %d.c); } getch(); }

Write a program to check whether the given number is positive or negative. #include<stdio.h> void main() { int a; printf("Enter the number="); scanf("%d",&a); if (a>0) { printf( "Given number is positive %d.a); } Elseif(a<0) { printf("Given number is negative %d,a); } Else { printf("Given number is Zero %d,a); } }

Enter 3 nos. = 10 20 5 B is greatest

Enter the number = 10 The Given Number is positive

Write a progrm input the given year is LEAP YEAR or Not #include<stdio.h> void main() { int year; printf("Enter the year =\n"); scanf("%d",&year); if ((year%4)==0) { printf("\n It is a leap year"); } else { printf("\n It is not a leap year"); } getch(); }

Write a progrm input the given Number id Odd or Even Number #include<stdio.h> void main() { int no; printf("Enter the Number =\n"); scanf("%d",&no); if ((no%2)==0) { printf("\n The Number is Even Number %d,no); } else { printf("\n The Number is Odd Number %d,no); } getch(); }

Enter the Year 2000 It is a leap year

Enter the number = 12 The Number is Even Number 12

Write a program to print the FIBONACCI SERIES upto N Numbers #include<stdio.h> void main() { int n,i,f1,f2,f3; printf("enter the number = "); scanf("%d",&n); f1=-1; f2=1; for(i=0;i<=n;i++) { f3=f1+f2; printf("%d\n",f3); f1=f2; f2=f3; } }

PASCAL TRIANGLE
#include<stdio.h> void main() { int i,j; clrscr(); for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf("%d\n",i); } printf("\n"); }

Output
1 22 333 4444 55555

Enter the number = 5


0 1 1 2 3 5

PASCAL TRIANGLE
#include<stdio.h> void main() { int i,j; clrscr(); for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf("%d\n",j); } printf("\n"); }

PASCAL TRIANGLE
#include<stdio.h> void main() { int i,j,c=1; clrscr(); for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf("%d\n",c); c++; } printf("\n"); }

Output
1 12 123 1234 12345

Output
1 23 456 7 8 9 10 11 12 13 14 15

PASCAL TRIANGLE to print *


#include<stdio.h> void main() { int i,j; clrscr(); for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf(*"); } printf("\n"); }

PASCAL TRIANGLE
#include<stdio.h> void main() { int i,j; clrscr(); for(i=0;i<5;i++) { for(j=i;j>0;j--) { printf("%d\n",j); } printf("\n"); }

Output

Output

* ** ** * ** * * ** * * *

1 21 321 4321 54321

To print the word in reverse


#include<stdio.h> #include<conio.h> #define size 10 void main() Enter Any String : raja { char name[size+1]; The Given String is raja int i=1; The Reversed String is ajar clrscr(); printf("\n Enter Any String"); scanf("%s",name); printf("\n The Given string is %s\n",name); for(i=0;name[i]!='\0';i++); printf("\n\n The Reversed String is"); for(i=size-1;i>=0;i--) { printf("%c",name[i]); } getch(); }

The continue statement causes the next iteration


of the enclosing loop to begin.

When this statement is encountered, the remaining


statements in the body of the loop are skipped and the control is passed on to the re-initialization step. continue;

function
The exit() is used to break out of the program. The use of this function causes immediate termination of the program and control rests in the hands of the Operating System.

statement
The break statement is used to terminate a case in a switch statement. When the break statement is encountered in a loop, the loop is terminated immediately and control is passed to the statement following the loop.
break;

label
The goto statement transfers control to any other statement within the same function in a C program. They reduce program reliability and make program difficult to maintain.
goto Labelname: Statements; -Labelname: --Statements;

Syntax :
switch(Expression) { case 1: Statements; break; case 2: Statements; break; case 3: Statements; break; default :Statements; break; }

Default is Optional It is useful while writing menu driven programs Break statement transfers the control to the end of switch..case statement.

Write a menu type program to solve arithmetic calculation using switch case stmts. #include<stdio.h> void main() { int a,b,choice,tot; printf("\n 1. Addition"); printf("\n 2. Subtraction"); printf("\n 3. Multiplication"); printf("\n 4. Division"); printf("\n Enter the Values="); scanf("%d %d",&a,&b); printf("enter your choice="); scanf("%d",&choice); switch(choice) { case 1: tot = a+b; printf("\n The Addition of 2 nos. % d",tot); break; case 2: tot = a-b; printf("\n The Subtraction of 2 nos. % d",tot); break; case 3: tot = a*b; printf("\n The Multiplication of 2 nos. % d",tot); break;

case 4: tot = a/b; printf("\n The Division = % d",tot); break; default: printf("\n invalid"); break; } }

Write a program to count the number of vowels and consonants in a string #include<stdio.h> void main() { int c=0,v=0; char x; printf("enter any string \n"); do { switch(x=getchar()) { case 'a': case 'e': case 'i': case 'o': case 'u': v++; break; case '\n': break; default: c++; break; } }while (x!='\n'); printf("no. of vowels is %d \n",v); printf("no. of consonants is %d", c); getch(); }

Enter Any String : welcome No.of Vowels : 3 No.of Consonants : 4

Write a C Program to generate Armstrong No.s from 1 to 1000 #include<stdio.h> void main() { int a,b,s,n,i; printf("\n ENter the Limit"); scanf("%d",&n); printf("\n The armstrong Numbers are"); for(i=0;i<=n;i++) { a=i; s=0; while(a>0) { b=a%10; b=b*b*b; s=s+b; a=a/10; } if(i==s) { printf("\t %d",i); } } }

Write a program print the given number as reverse format. #include<stdio.h> void main() { long int a,b,c=0,n; printf("\n Enter the Number"); scanf("%ld",&a); while(a>0) { n=a%10; a=a/10; c=b+c*10; } printf("\n The reversed numeral is %ld",c); }

Enter the Number : 345 The reversed Numeral is 543

Write a program to convert the number from binary to decimal #include<stdio.h> #include<math.h> void main() { int i=0,j=0,sum=0; long int n,x; printf("\n Enter Binary Number"); scanf("%ld",&n); if(n!=0) { i=n%10; if(i==0 || i==1) { while(n!= 0) { i=n%10; sum=sum+i*pow(2,j); n=n/10; j++; }}} if(sum==0) printf("\n The no is not a binary number"); else printf("\n The equivalent decimal number is %d",sum); }

'break' statement Example


'break' stmt is used to terminate loops or exit from a switch.it can be used within a do-while, for and switch statement #include<stdio.h> void main() { int i; printf("The values are\n"); for(i=1;i<=100;i++) { printf("They are %d \n",i); if(i==25) { break; } } }

Print the Numbers from 125

Enter Binary Number : 101 The Equivalent Decimal No : 5

Convert the character from lower to upper and vice versa.

#include<stdio.h> void main() { char x,a; Do { printf("\n Enter any character"); fflush(stdin); scanf("%c",&x); if(x>='A' && x<='Z') printf("\nLower case %c",x+('a' - 'A')); else if(x>='a' && x<='z') printf("\n Upper case is %c",x - ('a' - 'A')); else printf("\n That's not a Letter"); printf("\n Another Data[Y/N]?"); fflush(stdin); scanf("%c",&a); }while(a=='y'); }

F2 Key

Save File

F3
F5 F6

Open an existing File


Maximize Move to next Program

Alt+F9
Ctrl+F9 Alt+F5 Alt+F3 Quit

To compile (Check Errors)


Compile and Linking (Execute a Program) Display output mode Close screen Alt+X (come out from Turbo C)

Session Summary
The if statement is used to make decisions The switch statement allows us to make a decision from a number of choices. The break & continue statements used inside a for, while and do..while loops The loop does does not terminate when a continue statement is encountered The switch statement can only for test equality

Break used to terminate or exit from a switch statement


The goto statement is used to transfer the control in a loop or function from one point to any other portion in that program where it encounters a label

EXERCISES
1. Write a program to find the perfect square using if..else statement?

2. Write a program to input the given number is prime or Not? 3. 4. 5. Write a program to perform arithmetic operations using switch statement? Write a program to find the mean and standard deviation of N Numbers? Write a program to find the number of five hundreds,Hundreds,

Fifties,Twenties,Tens,Fives,twos and ones in a amount given using while loop? 6. Write a program to convert Octal number to a Decimal Number? 7. Write a program to generate N even Numbers and calculate its sum? 8. Write a program to count the number of digits in an integers using while loop? 9. Write a program to calculate the sine series?

EXERCISES
10. Write a program to print the following Outputs using for while and do..while loops?