C# Programming Questions and Answers Part-8

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
Explanation: We can put ‘default’ case in any order and hence write cases in any order.
Output: Race.

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
Explanation: 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
Explanation: i – k = -1. So, case -1 will be executed only.
Output: 3
4
4

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
Explanation: 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
Explanation: Solving expression (i + j – k) gives 1 and hence,solving for case 1:case 3:case 5:.
Output : 1
3
1

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
Explanation: 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
Explanation: 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
Explanation: 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
Explanation: Case statement declared last will only be executed as no particular case number is declared is to be called.
Output: case D|case d

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
Explanation: ASCII value of ‘p’ is 112. Hence, coco 112 main.
Output: coco 112 main.