Friday, December 31, 2010

Solution of c languages:E.Balagurusamy


                                     Chapter-06           
               Decision making and looping                  
                          REVIEW QUESTIONS
6.1 State whether the following statements are true or false:
            (a) The do… while statement first executes the loop body and then evaluate the loop       control expression.
            Ans:  True.
            (b) In a preset loop, if the body is executed n terms,  the test expression is executed n+1 times.
            Ans:  True.
            (c) The number of times a control variable is updated always equals the number of loop iterations.
            Ans: True.
            (d) Both the preset loops include initialization within the statement.
            Ans: True.
(e) In a for loop expression, the starting value of the control variable must be less than its ending value.
            Ans: True.
(f) The initialization, test condition and increment parts may be missing in a for statement.
            Ans: False.
            (g) While loops can be used to replace for loops without any change in the body of the    loop.
Ans: False.
            (h) An exit control loop is executed a minimum of a one line.
            Ans: False.
(i) The use of continue statement considered as unstructured programming.
            Ans: True.
(j) The three loop expressions used in a for loop header must be separated by commas.
            Ans: True.
6.2: Fill in the blanks in the following statements.
            (a) In an exit controlled loop, if body is executed n times, test condition is evaluated   ­­­­­­­­­­­­­­­
            times.
            Ans: (n-1)
            (b) The            statements is use to skip a part of the statements in a loop.  
            Ans: continue.
            (c) A  for loop with the no test condition is known as         loop.
            Ans: infinite
            (d) The sentinel controlled loop is also; known as                    loop.
            Ans: indefinite repetition.
            (e)In a counter controlled loop, variable known as            is used to count the loop            operation.
            Ans: definite repetition.
6.8 explain the operation of each of the following for loops. 
             (a)for (n=1;n!=10;n+=2)
             sum=sum+n;
            Ans :The loop repeats 5 times.
            (b)for(n=5;n<=m;n-=1)
            sum+=n;
            Ans: The continue until n<=m where m initializes from 5 and decrements by 1.
            (c) for(n=1;n<=5)
            sum+=n;
            Ans: Since theren is no increment or decrement condition the loop repeats 5 times.
            (d) for(n=1;  ;n+=1)
            sum+=n;
            Ans: The loop repeats  infinity times.
(e)for(n=1;n<5;n++)
            n=n-1;
            Ans: The loop repeats  infinity times.
6.9: what would be the output of each of the following code segments?
            (a)count=5;
            while(count-- >0)
printf(“count”);
Output:
            5  4  3  2  1
            (b)count=5;
            while(-- count>0)
            Printf(“count”);
Output:
            4  3  2  1
            (c)  count=5;
            do  printrf(“count”);
            while(count>0)
Output:
            5  4  3  2  1
(d)for(m=10;m>7;m-=2)
            printf(“m”);
            output;
            10  8
6.11:Analyse each of the program segment that follow the determine how many times the body of each loop will be executed.
            (a)x=5;
 y=50;
while(x<=y)
{
              x=y/x;
…………………..
…………………..
            }
            Ans: Infinity times
(b) m=1;
            do
{
             ……………………
……………………….
m+=2;
}
while(m<10)
             Ans: 5 times.
(c) int i;
for(i=0;i<=5;i=i+2/3)
{
 …………………..
…………………….
}
Ans: Infinity times.
(d) int m=10;
Int n=7;
while(m%n>=0)
{
………………
m+=1;
n+=2;
…………….
}
Ans: 4 times.
6.12:   Find errors, if any, in each of the following looping segments. Assume that all the variables have been declared and assigned values.
(a)while(count!=10);
{
count=1;
sum+=x;
count+=1;
}
Error: while(count!=10);
Correct Ans: while(count!=10)

(b) name=0;
do
{
name+=1;
printf(“my name is Dinar\n”);
while(name=1);
Error: while (name=1);
Correct Ans: while(name==1);
(c) do;
total+=value;
scanf(“%f”,&value);
while(value!=999);
Error: do;
Correct Ans: do
(E) m=1;
n=0;
for(p=10;p>0;)
p-=1;
printf(“%f”,p);
Error: for(p=10;p>0;)
p-=1;
printf(“%f”,p);
Correct ans: for(p=10;p>0;)
{
p-=1;
printf(“%f”,p);
}
6.13:Write a for statement to pront each of the following sequence of integers:
(a) 1,2,4,8,16,32
Ans: for(i=1;i<=32;i=i*2)
 printf(“%d”,i);
(b) 1,3,9,27,81,243
Ans: for(i=1;i<=243;i=i*i)
printf(“%d”,i);
(c) -4,-2,0,4
for(i=-4;i<=4;i=i+2)
printf(“%d”,i);
(d) -10,-12,-14,-18,-26,-42
for(i=-10;i<=-42;i=i-2)
printf(“%d”,i);
6.14: Change the following for loops to while loops :
(a)for(m=1;m<10;m=m+1)
printf(“m”);
Ans: m=1;
while(m<10)
{
…………….
m++;
}
printf(“m”);
(b)for(;scanf(“%d”,&m)!=-1;)
printf(“m”);
Ans: 
while(scanf(“%d”,&m)!=-1)
printf(“m”);

6.16: What is the output of following code?
Int m=100,n=0;
while(n==0)
{

if(m<10)
break;
m=m-10;
}
Output: No output
6.17: What is output of the following code?
int m=0;
do
{
if(m>10)
             continue;
            m=m+10;
}
while(m<50);
 printf(“%d”,m);
Output: 50
6.18: What is the output of the following code?
int n=0,m=1;
do
{
             printf(“m”);
m++;
}
while(m<=n);
             Output: 1
6.19: What  is the output of the following code?
            int n=0,m;
            for(m=1;m<=n+1;m++)
printrf(“m”);
Output: 1
6.20: When do we use the following statement?
for(;  ;)
Ans : When we need an infinity loop the statement for(; ;) can be used.

8 comments:

  1. solution of 6.17 is wrong
    it is an infinite loop.

    ReplyDelete
  2. please illabrate it
    q.no.6.17 because according to me in this program
    loop is executed infinite time.........

    pramod cse

    ReplyDelete
  3. nice design and awesome typography , i think you can own a domain , because your blogging idea is nice
    Toronto Escort

    ReplyDelete
  4. (f) The initialization, test condition and increment parts may be missing in a for statement.
    Ans: False.

    for ( ; ; ) << this condition is used for infinite loop statement. so the answer would be true.

    ReplyDelete
  5. 6.1 h An exit controlled loop will be executed a minimum of one time is true

    ReplyDelete
  6. plz give me solotion of programming exersize oops of fourth edition-e balaguruswamy plz

    ReplyDelete