C# multiple choice questions on switch statements in C# Programming Language.
1. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int movie = 1;
-
switch (movie << 2 + movie)
-
{
-
default:
-
Console.WriteLine("3 Idiots");
-
break;
-
case 4:
-
Console.WriteLine("Ghazini");
-
break;
-
case 5:
-
Console.WriteLine("Krishh");
-
break;
-
case 8:
-
Console.WriteLine("Race");
-
break;
-
}
-
Console.ReadLine();
-
}
a) 3 Idiots
b) Ghazini
c) Race
d) Krishh
Answer: c
Clarification: We can put ‘default’ case in any order and hence write cases in any order.
Output:
2. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int i = 2, j = 4;
-
switch (i + j * 2)
-
{
-
case 1 :
-
case 2 :
-
Console.WriteLine("1 and 2");
-
break;
-
case 3 to 10:
-
Console.WriteLine("3 to 10");
-
break;
-
}
-
Console.ReadLine();
-
}
a) 3 to 10 will be printed
b) 1 and 2 will be printed
c) The code reports an error as missing ; before :
d) The code gives output as 3 to 10
Answer: c
Clarification: Syntax error- switch case does not work with syntax as 3 to 10:
Output :
Here i = 2, j = 4. So, (i + j * 2) gives output as 10 and case 10 is missing. So, prints nothing for given code.
3. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int i = 2, k = 3;
-
switch (i - k)
-
{
-
case -1:
-
++i;
-
++k;
-
break;
-
case 2:
-
--i;
-
++k;
-
break;
-
default:
-
i += 3;
-
k += i;
-
break;
-
}
-
Console.WriteLine(i + "n" + k);
-
Console.ReadLine();
-
}
a) 2 3 3
b) 3 2 3
c) 3 4 4
d) 5 10 10
Answer: c
Output:
Clarification: i – k = -1. So, case -1 will be executed only.
4. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int const p = 0;
-
switch (3 * 5 / 6)
-
{
-
case p:
-
Console.WriteLine("A");
-
break;
-
case p * 1:
-
Console.WriteLine("B");
-
break;
-
case p - 2:
-
Console.WriteLine("C");
-
break;
-
default:
-
Console.WriteLine("D");
-
}
-
}
a) A
b) B
c) C
d) Compile time error
Answer: d
Clarification: In case expression we don’t have constant variable.
5. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int i = 2, j = 3, k = 4;
-
switch (i + j - k)
-
{
-
case 0: case 2: case 4:
-
++i;
-
k += j;
-
break;
-
case 1: case 3: case 5 :
-
--i;
-
k -= j;
-
break;
-
default:
-
i += j;
-
break;
-
}
-
Console.WriteLine(i + "n" + j + "n" + k);
-
Console.ReadLine();
-
}
a) 1 3 1
b) 2 3 4
c) 5 3 4
d) Compile time error
Answer: a
Clarification: Solving expression (i + j – k) gives 1 and hence,solving for case 1:case 3:case 5:.
Output :
6. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int i = 9 , j = 7;
-
switch (i - j + 3)
-
{
-
case 9: 7:
-
j += 6;
-
break;
-
case 5:
-
i -= 4;
-
break;
-
}
-
Console.WriteLine(i + "n" + j);
-
Console.ReadLine();
-
}
a) 5 7
b) 9 13
c) Compile time error
d) 9 7
Answer: c
Clarification: Invalid expression’7:’ in case 9:7:.
7. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
switch (5)
-
{
-
case 5.0f:
-
Console.WriteLine("harsh");
-
break;
-
case 5:
-
Console.WriteLine("amish");
-
break;
-
case 5.0L:
-
Console.WriteLine("ANKIT");
-
break;
-
default:
-
Console.WriteLine("ashish");
-
}
-
Console.ReadLine();
-
}
a) amish
b) ANKIT
c) harsh
d) Compile time error
Answer: d
Clarification: Only integral values are allowed for case expression.
5.0f = (int)5.0f.
5.0L = (int)5.0L.
8. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
int i;
-
int j = 1;
-
int []ar = {21, 22, 13, 4};
-
switch (ar[j])
-
{
-
case 1:
-
i++;
-
break;
-
case 2:
-
i += 2;
-
j = 3;
-
continue;
-
case 3:
-
i %= 2;
-
j = 4;
-
continue;
-
default:
-
--i;
-
}
-
Console.WriteLine(i);
-
Console.ReadLine();
-
}
a) 23
b) 15
c) Compile time error
d) 12
Answer: c
Clarification: Continue cannot be used as a part of switch statement.
9. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
char ch = Convert.ToChar('a' | 'b' | 'c');
-
switch (ch)
-
{
-
case 'A':
-
case 'a':
-
Console.WriteLine("case A|case a");
-
break;
-
case 'B':
-
case 'b':
-
Console.WriteLine("case B|case b");
-
break;
-
case 'C':
-
case 'c':
-
case 'D':
-
case 'd':
-
Console.WriteLine("case D|case d");
-
break;
-
}
-
Console.ReadLine();
-
}
a) Compile time error
b) case A|case a
c) case B|case b
d) case D|case d
Answer: d
Clarification: Case statement declared last will only be executed as no particular case number is declared is to be called.
Output:
10. What will be the output of the following C# code?
-
static void Main(string[] args)
-
{
-
char ch = 'p';
-
switch (ch)
-
{
-
case 'p':
-
Console.WriteLine("coco" + "t" + Convert.ToInt32(ch));
-
break;
-
default:
-
Console.WriteLine("default");
-
break;
-
}
-
Console.WriteLine("main");
-
}
a) coco main
b) coco 112
c) coco 112 main
d) compile time error
Answer: c
Clarification: ASCII value of ‘p’ is 112. Hence, coco 112 main.
Output: