C Programming - Control Instructions - Discussion

Discussion Forum : Control Instructions - Point Out Correct Statements (Q.No. 9)
9.
Which of the following sentences are correct about a switch loop in a C program?
1: switch is useful when we wish to check the value of variable against a particular set of values.
2: switch is useful when we wish to check whether a value falls in different ranges.
3: Compiler implements a jump table for cases used in switch.
4: It is not necessary to use a break in every switch statement.
1,2
1,3,4
2,4
2
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
17 comments Page 1 of 2.

Sachin Kumar said:   1 decade ago
But the question is that why the 2nd option is incorrect even we can use switch to find range?
(1)

Kartik Agarwal said:   8 years ago
Why statement 2 is wrong?

We can check for ranges.

/*example*/
switch(a)
{
case 2:
case 3:
case 4:
/* some statements */
break;
case 5:
case 6:
case 7:
/* some statements */
break;
}
(1)

Meer said:   1 decade ago
Break statement is not neccesary in every case of the switch statement. In some programs we can implement switch cases without using break;.

Meer said:   1 decade ago
In some particular situations in switch statement we can control the execution by using break; and then it terminates the execution of the program in number of cases of the switch.

Himanshu said:   1 decade ago
We can check if a particular number falls in a range using switch. That's why according to me option 2 should be correct.

For example if x=5 & we hav to check if x falls in 2 to 7

switch(x)
{ case 2:
case 3:
case 4:
case 5:
case 6:
case 7:printf("in range");
break;
default:printf("not in range");
}

Surender said:   1 decade ago
@jump Table

A jump table is an abstract structure used to transfer control to another location.

#include<stdio.h>

int main(int argc, char **argv)
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:
printf("\nIts %d",i);
break;
case 2:
printf("\nIts %d",i);
break;
case 3:
printf("\nIts %d",i);
break;
case 4:
printf("\nIts %d",i);
break;
case 5:
printf("\nIts %d",i);
break;
default: printf("\nIts not in range of 1-5");

}
}

In this program if 3 is true, then it will directly jump to body of case 3, & it will keep executing all statements until it want gets a break statement.

Saurabh Pandey said:   1 decade ago
Why option 2 is not correct? explain.

Shoeb said:   1 decade ago
Hello
If v don't knw the ans...
by reading 4th option v say its 100% rit.
then check out of A B C D wch hav 4, so v got only B & C hav 4
so discard A&D now B hav 1 3 & C hav 2 Extra
Then read only 2nd option
if 2 is right then surely ans is C else
ans is 100% B.
Such typ Of technique is used for Finding the exactly correct ans in very short time.
thnx hav a nic day

Dilli babu.m said:   1 decade ago
What do you meant by jump table in your explanation?

Aswini said:   1 decade ago
Yes, we can use switch for checking whether the given value falls under a range or not. So how can it be incorrect?


Post your comments here:

Your comments will be displayed after verification.