• Courses
  • Tutorials
  • Jobs
  • Practice
  • Contests

C Loops & Control Structure

Question 21

C
#include<stdio.h>
int main()
{
    int a = 5;
    switch(a)
    {
    default:
        a = 4;
    case 6:
        a--;
    case 5:
        a = a+1;
    case 1:
        a = a-1;
    }
    printf(\"%d \\n\", a);
    return 0;
}
  • 3
  • 4
  • 5
  • None of these

Question 22

What will be the output of the following C code? C
#include <stdio.h>
int main()
{
int i;
for ( i=0; i<5; i++ )
{
   int i = 10;
   printf ( \"%d \", i );
   i++;
}
return 0;
}
  • 10 11 12 13 14
  • 10 10 10 10 10
  • 0 1 2 3 4
  • Compilation error

Question 23

Which combination of the integer variables x, y and z makes the variable a get the value 4 in the following expression? C
a = ( x > y ) ? (( x > z ) ? x : z) : (( y > z ) ? y : z )
  • x = 3, y = 4, z = 2
  • x = 6, y = 5, z = 3
  • x = 6, y = 3, z = 5
  • x = 5, y = 4, z = 5

Question 24

With respect to following “for” loops in C, pick the best statement Assume that there is a prior declaration of \'i\' in all cases
C
for (i < 10; i = 0 ; i++) // (i)<br>
for (i < 10; i++ ; i = 0) // (ii)<br>
for (i = 0; i < 10 ; i++) // (iii)<br>
for (i = 0; i++ ; i < 10) // (iv)<br>
for (i++; i = 0 ; i < 10) // (v)<br>
for (i++; i < 0 ; i = 10) // (vi)<br>
  • All the above “for” loops would compile successfully.
  • All the above “for” loops would compile successfully. Except (iii), the behaviour of all the other “for” loops depend on compiler implementation.
  • Only (iii) would compile successfully.
  • Only (iii) and (iv) would compile successfully.
  • Only (iii) and (iv) would compile successfully but behaviour of (iv) would depend on compiler implementation.

Question 25

With respect to following “for” loops in C, pick the best statement. Assume that there is a prior declaration of \'i\' in all cases
C
for (i = 0; i < 10 ; i++) // (i)<br>
for ( ; i < 10 ; i++) // (ii)<br>
for (i = 0;  ; i++) // (iii)<br>
for (i = 0; i < 10 ; ) // (iv)<br>
for ( ; ; ) // (v)<br>
  • Only (i) and (v) would compile successfully. Also (v) can be used as infinite loop.
  • Only (i) would compile successfully.
  • All would compile successfully but behavior of (ii), (iii) and (iv) would depend on compiler.
  • All would compile successfully.

Question 26

What’s going to happen when we compile and run the following C program?
C
#include < stdio.h ><br>
<br>
int main()<br>
{<br>
  int i = 1, j;<br>
  for ( ; ; )<br>
  { <br>
    if (i)<br>
        j = --i;<br>
    if (j < 10)<br>
       printf(\"GeeksQuiz\", j++);<br>
    else<br>
       break;<br>
  }<br>
  return 0;<br>
}<br>
  • Compile Error.
  • No compile error but it will run into infinite loop printing GeeksQuiz.
  • No compile error and it’ll print GeeksQuiz 10 times.
  • No compile error but it’ll print GeeksQuiz 9 times.

Question 27

What’s going to happen when we compile and run the following C program?
C
#include < stdio.h ><br>
int main()<br>
{<br>
 int j = 0;<br>
 for ( ; j < 10 ; )<br>
 { <br>
   if (j < 10)<br>
     printf(\"Geeks\", j++);<br>
   else<br>
     continue;<br>
   printf(Quiz);<br>
 }<br>
 return 0;<br>
}<br>
  • Compile Error due to use of continue in for loop.
  • No compile error but it will run into infinite loop printing Geeks.
  • No compile error and it’ll print GeeksQuiz 10 times followed by Quiz once.
  • No compile error and it’ll print GeeksQuiz 10 times.

Question 28

Which of the following statement is correct for switch controlling expression?
  • Only int can be used in “switch” control expression.
  • Both int and char can be used in “switch” control expression.
  • All types i.e. int, char and float can be used in “switch” control expression.
  • “switch” control expression can be empty as well.

Question 29

Choose the best statement with respect to following three program snippets.
C
<br>
/*Program Snippet 1 with for loop*/<br>
for (i = 0; i < 10; i++)<br>
{<br>
   /*statement1*/<br>
   continue;<br>
   /*statement2*/<br>
}<br>

/*Program Snippet 2 with while loop*/<br>
i = 0;<br>
while (i < 10)<br>
{<br>
   /*statement1*/<br>
   continue;<br>
   /*statement2*/<br>
   i++;<br>
}<br>

/*Program Snippet 3 with do-while loop*/<br>
i = 0;<br>
do<br>
{<br>
   /*statement1*/<br>
   continue;<br>
   /*statement2*/<br>
   i++;<br>
}while (i < 10);<br>

  • All the loops are equivalent i.e. any of the three can be chosen and they all will perform exactly same.
  • continue can't be used with all the three loops in C.
  • After hitting the continue; statement in all the loops, the next expression to be executed would be controlling expression (i.e. i < 10) in all the 3 loops.
  • None of the above is correct.

Question 30

In the context of "break" and "continue" statements in C, pick the best statement.
  • “break” can be used in “for”, “while” and “do-while” loop body.
  • “continue” can be used in “for”, “while” and “do-while” loop body.
  • “break” and “continue” can be used in “for”, “while”, “do-while” loop body and “switch” body.
  • “break” and “continue” can be used in “for”, “while” and “do-while” loop body. But only “break” can be used in “switch” body.
  • “break” and “continue” can be used in “for”, “while” and “do-while” loop body. Besides, “continue” and “break” can be used in “switch” and “if-else” body.

There are 45 questions to complete.

Last Updated :
Take a part in the ongoing discussion