10.21.2011

switch-case statement

In some programming situation, when there are number of choices and we want to choose only appropriate choice, in that situation C provided switch statement. Thus switch statement allows us to make a decision from the number of choices.
The switch statement also known as switch-case-default.
Since, the switch statement known for decision maker.
Syntax of switch statement:

switch(integer expression)
{
 case 1 :
   do this;
   break;
 case 2 :
   do this;
   break;
 case 3 :
   do this;
   break;
 case 4 :
   do this;
   break;
 default :
   and this;
   break;
}

Example of switch-case-default statement:

/*program to demonstration of switch statement*/
 #include<stdio.h>
 #include<conio.h>
 int main()
 {

continue statement

when we write program, if we want to take control to the beginning of the loop, bypassing the statements inside the loop, which have not yet been executed, in this situation we uses continue. continue is c reserved keyword in C. When continue is encountered inside any loop, control automatically passes to the beginning to the loop.
A continue is usually associated with an if.
Let's understand continue with example:

/*demonstration of continue statement*/
 #include<stdio.h>
 #include<conio.h>
 int main()
 {
  int i,j;
  for(i=1; i<=2; i++)
  {
   for(j=1; j<=2; j++)
   {
    if(i==j)
     continue;
    printf("\n%d %d",i,j);
   }
  }
  getch();
  return 0;
 }

Output:
 1 2
 2 1

Explanation: When the value of i equals that of j, the continue statement takes the control to the for loop(inner) bypassing the rest of the statements execution in the for loop(inner).

Let's understand continue statement with another example:

/*demonstration of continue statement*/
#include<stdio.h>
#include<conio.h>
int main()
{
 int i;
 for(i=1; i<=10; i++)
 {
   if(i==6)
     continue;
   printf("%d ",i);
 }
 printf("\nNow we are out of for loop");
 getch();
 return 0;
}


Output:-

 1 2 3 4 5 7 8 9 10
 Now we are out of for loop

Explanation: As when the value of i will becomes 6 it will move for the next iteration by skipping the iteration i=6.

break statement

When we writing programming code, we often come across situations where we want to jump out of a loop instantly, without waiting to get back to the conditional test. The keyword break allows us to do this. When break is encountered inside any loop, control automatically passes to the first statement after the loop. A break is usually associated with an if.
The keyword break, breaks the control only from the while in which it is placed.
Let's understand break with c program example:

/*demonstration of break statement through c program*/
#include<stdio.h>
#include<conio.h>
void main()
{
 int i=5;
 clrscr();
 while(i>=1)
 {
  if(i==2)
  {
   printf("\nIt is equal to two!!");
   break;
  }
  printf("%d\n",i);
  i--;
 }
 getch();
}

Output:
5
4
3
It is equal to two!!

Thus, it is clear that a break statement takes the execution control out of the loop.
In above program, if we omitted break statement then what will be output? The answer is
5
4
3
It is equal to two!!
2
1


because when i's value is 2, condition will be satisfy and executed printf statement, after that compiler goes to next statement i.e. printf("%d",i); because loop do not terminate and it is run till the i value is not less than 1.
See more example of break statement

10.20.2011

Number seriess


/*program to print number series as
1 4 9 25....100 */
#include<stdio.h>
#include<conio.h>
int main()
{
 int x=1,y=2,z,s;
 for(; x<=8; )
 {
   s=x*x;
   printf(" %d",s);
   z=x+y;
   x=y;
   y=z;
 }
 getch();
 return 0;
}

Output:1 4 9 25 64

/*program of print following number series
-10 -8 -6 -4 -2 0 2 4 6 8 10 */
#include<stdio.h>
#include<conio.h>
int main()
{
 int x;
 for(x=-10; x<=10;x=x+2)
    printf(" %d",x);
 getch();
 return 0;
}
Output:  -10 -8 -6 -4 -2 0 2 4 6 8 10

do-while loop

Now we know about for, while loop that executed the statement within them finite number of times. However, in real life programming, one comes across a situation when it is not known beforehand how many times the statement in the loop are to be executed. In this situation we used do-while loop.
do-while tests the condition after having executed the statement within the loop i.e. do-while would executed its statement at least once, even if the condition fails for the first time. For example notice in following program:

/*demonstration of do-while*/
#include<stdio.h>
#include<conio.h>
void main()
{
 clrscr();
 do
 {
  printf("Its work!!");
 }while(10<1);
 getch();
}
Output of above program:
Its work!!

In above program, the printf() would be executed once, since first the body of loop is executed and then the condition tested, 10<1 condition false so loop terminate and go to next statement.

/*program to find factorial value of any number, and it is execute unknown number of times when user enter no, then program should be terminate.*/
#include<stdio.h>
#include<conio.h>
void main()
{
 int n,f=1;
 char choice;
 clrscr();
 do
 {
  printf("Enter number : ");
  scanf("%d",&n);
  while(n>=1)
  {
   f=f*n;
   n--;
  }
  printf("Factroial value of %d is %d",n,f);
  printf("\nCalculate another value y/n :");
  scanf("%c",&choice);
 }while(choice=='y');
}

output of above program:
Enter number :5
Factorial value of 5 is 120
Calculate another value y/n :y
Enter number :4
Factorial value of 4 is24
Calculate another value y/n :n

In above program, the do-while loop would keep getting executed till the user continues to answer y. When user enter answer n,the loop terminate, since the condition fails.

10.19.2011

for Loop

At this point you think, there is already while loop function then what we need one more loop function? The answer is that for is easy to use and allows us to specify three things in single line, these three things are:
  1. Setting a loop counter to an initial value
  2. Testing the loop counter to determine whether its value has reached the number of repetitions desired.
  3. Increasing or Decreasing the value of loop counter.
The general form of for statement is as under:

for(initialise counter; test counter; increment/decrement counter)
{
  do this;
  and this;
  and this;
  and that;
}

It is important to note that the initialization ,testing and incrementation part of a for loop can be replaced by any valid expression, thus the following for loops are valid:

for(i=5; i; i--)
  printf("%d",i);
for(i<=5; j=10; j=0)
  printf("%d",i);
for(i=1; i<=10; printf("%d",i++))
;
for(scanf("%d",&i); i<=5; i++)
  printf("%d",i);
Demonstration of for loop


/*demonstration for loop program*/
/*program to print cprogrammingcodes in five times*/
#include<stdio.h>
#include<conio.h>
void main()
{
 int i;
 clrscr();
 for(i=1; i<=5; i++)
 {
   printf("cprogrammingcodes");
   printf("\n");
 }
 getch();
}

              Output of above program:
cprogrammingcodes
cprogrammingcodes
cprogrammingcodes
cprogrammingcodes
cprogrammingcodes


Versions of for loops
Now we learn how many different types for uses to print one to ten numbers.

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

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

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

(d) #include<stdio.h>
    #include<conio.h>
    void main()
    {
     int i;
     clrscr();
     i=1;
     for(; i<=10 ;)
      printf("%d\n",i);
      i++;
    }
(e) #include<stdio.h>
    #include<conio.h>
    void main()
    {
     int i;
     clrscr();
     for(i=1; i++<=10;)
      printf("%d\n",i);
    }
(f) #include<stdio.h>
    #include<conio.h>
    void main()
    {
     int i;
     clrscr();
     for(i=0; ++i<=10;)
      printf("%d\n",i);
    }

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

Multiple Initialisations and increment/decrement in the for loop

The initialisation expression of the for loop can contain more than one statement by a comma.For example:

for(i=0, j=10; i<=j ; i++,j--)

Thus we see, that multiple statement can uses to initialisation and increment(or decrement). But notice there must be only one statement allowed in the test expression. This expression may contain several condition linked using logical operators as:
 for(i=0, j=10; i<=j || i==j ; i++,j--)

Nesting of for Loops


The way if statement can be nested, similarly whiles and fors can also be nested. Let's understand the nesting of for loops through program:

/*demonstration of nested for loop*/
#include<stdio.h>
#include<conio.h>
void main()
{
 int r,c,s;
 clrscr();
 for(r=1; r<=2; r++)/*outer loop*/
 {
  for(c=1; c<=2; c++) /*inner loop*/
  {
   s=r+c;
   printf("r=%d c=%d sum=%d\n",r,c,s);
  }
 }
 getch();
}
       output of above program
r=1 c=1 sum=2
r=1 c=2 sum=3
r=2 c=1 sum=3
r=2 c=2 sum=4

Thus we see in above program that, the body of outer loop is indented, and the body of the inner for loop is further indented. These multiple indentations make the program easier to understand.

10.10.2011

while loop

It is often the case in programming that we want to do something a fixed number of times. Perhaps we want to calculate gross salaries, or convert temperatures form centigrade to Fahrenheit for 20 different cities. The while loop is ideally suited f or such cases.

Syntax of using while loop:
initialise loop counter
while(valid condition)
{
  statement1;
  statement2;
  statement3;
  statement4;
  increment or decrement loop counter;
}

some basic rule of while loop:
  • The statements within the while loop would keep in getting executed till the condition being tested remains true. When the condition becomes false, the control passes to the first statement that follows the body of the while loop.
  • The condition being tested may use relational or logical operators as shown in the following examples:
    while(x<=20)
    while
    (x>=20 && x<=50)
    while
    (x>=10 || (i>=10 && i<=20)||y==15)
  • Almost always, the while must test a condition that will eventually become false, otherwise the loop would be executed forever,indefinitely.
  • It is not necessary that a loop counter must only be an int. It can even be a float.
  • Example of while loop:
#include<stdio.h>
#include<conio.h>
void main()
{
 int i=1;
 while(i<=5)
 {
  printf("%d\n",i);
  i=i+1;  //i++;
 }
 getch();
}
       Output of above program:
1
2
3
4
5

Nested while loop

One or more loop which require execute again and again then these loop and loops place in separate block is known as nested loop.
Example of nested while loop:

/*demonstration of nested while loop*/

#include<stdio.h>
#include<conio.h>
void main()
{
 int r,c,s;
 clrscr();
 r=1;
 while(r<=5)  /*outer loop*/
 {
  c=1;
  while(c<=2)  /*inner loop*/
  {
   s=r+c;
   printf("r=%d c=%d sum=%d\n",r,c,s);
   c++;
  }
  printf("\n");
  r++;
 }
 getch();
}
         Output of above program:
r=1 c=1 sum=2
r=1 c=2 sum=3
r=2 c=1 sum=3
r=2 c=2 sum=4
r=3 c=1 sum=4
r=3 c=2 sum=5
r=4 c=1 sum=5
r=4 c=2 sum=6
r=5 c=1 sum=6
r=5 c=2 sum=7

10.08.2011

Looping concept

The program that we have developed so far used either a sequential or a decision control instruction.
The versatility of the computer lies in its ability to perform a set of instructions repeatedly. This involves repeating some portion of the program either a specified number of times or until a particular condition is being satisfied. This repetitive operation is done through a loop control instruction.
Loops can be created to executed a block of code for a fixed number of times. Alternatively, loops can be created to repetitively execute a block of code until a Boolean condition changes state.
For instance, the loop may continue until a condition changes from false to true, or from true to false. In this case, the block o code being executed must update the condition being tested in order for the loop to terminate at some point. If the test condition is not modified somehow within the loop, the loop will never terminate. This created a programming bug known as an infinite loop.
There are three method by way to which we can repeat a part of a program. They are:
  1. Using a for statement
  2. using a while statement
  3. Using a do-while statement

10.02.2011

Check String Palindrome

Q. What is palindrome?
Ans:Palindrome is a Greek word which is divided in two or three word as (palin=Again + drome/deamein=Run). So A palindrome is word or phrase which reads the same in both direction i.e. left to right and right to left are character must be same. Example of string palindrome as follows : 
1. POP
2. MALAYYALAM
3. LEVEL
4. LIVE EVIL
5. MADAM, I'M MADAM

/*c program to compare two string and find out whether a string is palindrome or not*/
/*simple c program to check whether a string is palindrome or not*/
#include<stdio.h>
#include<conio.h>
int main()
{
 char str[20];
 int i,j;
 printf("Enter string : ");
 gets(str);
 for(i=0; str[i]!=NULL; i++);
 for(i--,j=0; j<=i; )
 {
   if(str[i]==str[j])
   {
      i--;
      j++;
   }
   else
      break;
 }
 if(j>i)
    printf("\nString is palindrome!!");
 else
    printf("\nString is not palindrome!!");
 getch();
 return 0;
}


/****************Output**************** 
Enter string :navana
String is not palindrome



Enter string : madam n madam
String is palindrome

***************************************/

You might also like:

  1. Check palindrome using pointer
  2. Check palindrome using function

Lucas number Program

Lucas numbers: It is similar to Fibonacci numbers, each Lucas number is defined to be the sum of its two immediate previous terms Where as the first two number are 2 and 1.
The Lucas numbers are as following :
2 1 3 4 7 11 18 29 47 76

/*c program to accept number from user and print less than Lucas numbers*/
#include<stdio.h>
#include<conio.h>
int main()
{
 int x,y,z,num;
 printf("Enter the limit of Lucas number : ");
 scanf("%d",&num);
 x=2;
 y=1;
 while(num>=x)
 {
   printf(" %d",x);
   z=x+y;
   x=y;
   y=z;
 }
 getch();
 return 0;
}


/***************Output*************** 

Enter the limit of Lucas number : 125
 2 1 3 7 11 18 29 47 76 123


************************************/

Related Programs:

  1. Amicable number C program
  2. Perfect number C program
  3. Armstrong number C program
  4. Print Armstrong number range C program
  5. Fibonacci series C program
  6. Generate Fibonacci series using recursion
  7. Search number is Fibonacci or not

Program binary numbers

Binary numbers :
0 1 2 4 8 16 32 64 128 256.......n


/*c program to print binary numbers series*/
#include<stdio.h>
#include<conio.h>
int main()
{
 int x,y,z,num;
 printf("Enter last number where goes to end binary numbers : ");
 scanf("%d",&num);
 x=0;
 y=1;
 while(num>=x)
 {
   z=x+y;
   printf("%d\t",x);
   y=z;
   x=y;
 }
 getch();
 return 0;
}

/***************Output*****************
Enter last number where goes to end binary numbers : 50
0 1 2 4 8 16 32


*************************************/