C# Programming Questions and Answers
Which statement is correct among the mentioned statements?
1. The for loop works faster than a while loop
2. for( ; ; )implements an infinite loop
Answer: Option (B)
Which of the following is not infinite loop?
Answer: Option (B)
Select the output for the following set of code :
staticvoid Main(string[] args)
{
int i =-10;
for(;Convert.ToBoolean(Convert.ToInt32(i));
Console.WriteLine(i++));
Console.ReadLine();
}
for first value of i = -10.Condition is executed until i!=0.
Output: -10 -9 -8 -7 -6 -5 -4 -3 -2 -1.
Select the output for the following set of code :
staticvoid Main(string[] args)
{
int i, j;
for(i =1, j = i; i <=3&& j >=0; i++, j--)
{
if(i == j)
continue;
else
Console.WriteLine(j);
}
Console.ReadLine();
}
Since for i = 1, j = 1 and 1 <= 3 also 1 >= 0 we had i == j.But after i++ and j–. The initial value of ‘j’ which is ‘0’ as j– preferred other than value of ‘j’ in i = j.
Output: j = 0.
Select the output for the following set of code :
{
int i;
Console.WriteLine("Hi");
for(i =1; i <=10; i++)
Program.Main(args);
Console.ReadLine();
}
Ocurrence of ‘main()’ condition after for loop.
Output: Hi
Hi
.
.
stack overflow exception.
Select the output for the following set of code:
staticvoid Main(string[] args)
{
int i, s =0;
for(i =1; i <=10; s = s + i, i++);
{
Console.WriteLine(s);
}
Console.ReadLine();
}
Since occurrence of termination symbol(;) at end of for loop.
Output: 55.
Select the output for the following set of code :
staticvoid Main(string[] args)
{
float f;
for(f = 0.1f; f <=0.5; f +=1)
Console.WriteLine(++f );
Console.ReadLine();
}
f =0.1 and ++f = 0.1+1 = 1.1.So,1.1>0.5,Condition fails and hence loop terminates.
Output : 1.1
Correct syntax for while statement is:
Answer: Option (C)
Select the output for the following set of Code:
staticvoid Main(string[] args)
{
float i = 1.0f, j = 0.05f;
while(i < 2.0f && j <= 2.0f)
{
Console.WriteLine(i++-++j);
}
Console.ReadLine();
}
for while(i = 1.0f and j = 0.05f). We, had ‘&&’ condition which gives ‘1’. So, control enters while loop. Since, i = 1 and i++ = first execute then increment. So, first with ‘i’ value as 1.0f and ++j = first increment and then executes we had j = 1.05f and Since operation (i++ – ++j) gives us a negative sign number. So, we can stick our choice to option ‘c’ clearly. Now, as i = 2.0f so loop breaks.
Output:-0.04999995f.
Select the output for the following set of code:
staticvoid Main(string[] args)
{
int i =1, j =1;
while(++i <=10)
{
j++;
}
Console.WriteLine(i+" "+j);
Console.ReadLine();
}
As ++i, first increments then execute so, for ++i i is 11 and j++ is first execute then increments. So, j = 10.
Output:11 10.