Point Out Correct Statements

Question 1 :

Which of the following statements are correct about the below program?

#include
int main()
{
    int i = 10, j = 20;
    if(i = 5) && if(j = 10)
        printf("Have a nice day");
    return 0;
}


A). Output: Have a nice day
B). No output
C). Error: Expression syntax
D). Error: Undeclared identifier if
Answer : Option C

Explanation :

"Expression syntax" error occur in this line if(i = 5) && if(j = 10). It should be like if((i == 5) && (j == 10)).


Question 2 :

Which of the following statements are correct about the below program?

#include
int main()
{
    int i = 10, j = 15;
    if(i % 2 = j % 3)
        printf("IndiaParinam\n");
    return 0;
}


A). Error: Expression syntax
B). Error: Lvalue required
C). Error: Rvalue required
D). The Code runs successfully
Answer : Option B

Explanation :

if(i % 2 = j % 3) This statement generates "LValue required error". There is no variable on the left side of the expression to assign (j % 3).


Question 3 :

Which of the following statements are correct about the program?

#include
int main()
{
    int x = 30, y = 40;
    if(x == y)
        printf("x is equal to y\n");

    else if(x > y)
        printf("x is greater than y\n");

    else if(x < y)
        printf("x is less than y\n")
    return 0;
}


A). Error: Statement missing
B). Error: Expression syntax
C). Error: Lvalue required
D). Error: Rvalue required
Answer : Option A

Explanation :

This program will result in error "Statement missing ;" printf("x is less than y\n") here ; should be added to the end of this statement.


Question 4 :

Which of the following statements are correct about an if-else statements in a C-program? 1: Every if-else statement can be replaced by an equivalent statements using ?: operators 2: Nested if-else statements are allowed. 3: Multiple statements in an if block are allowed. 4: Multiple statements in an else block are allowed.


A). 1 and 2
B). 2 and 3
C). 1, 2 and 4
D). 2, 3, 4
Answer : Option D

Question 5 :

Which of the following statements are correct about the below program?

#include
int main()
{
    int i = 0;
    i++;
    if(i <= 5)
    {
        printf("IndiaParinam\n");
        exit(0);
        main();
    }
    return 0;
}


A). The program prints 'IndiaParinam' 5 times
B). The program prints 'IndiaParinam' one time
C). The call to main() after exit() doesn't materialize.
D). The compiler reports an error since main() cannot call itself.
Answer : Option B

Explanation :

Step 1: int i = 0; here variable i is declared as an integer type and initialized to '0'(zero). Step 2: i++; here variable i is increemented by 1(one). Hence, i = 1 Step 3: if(i <= 5) becomes if(1 <= 5) here we are checking '1' is less than or equal to '5'. Hence the if condition is satisfied. Step 4: printf("IndiaParinam\n"); It prints "IndiaParinam" Step 5: exit(); terminates the program execution. Hence the output is "IndiaParinam".