Classical

C Programming MCQ - I/O Operations

11:  

The following program fragment
int k = -7;
printf(“%d", 0 < lk);

A.

prints 0

B.

prints a non-zero value

C.

is illegal

D.

prints an unpredictable value

 
 

Option: A

Explanation :

k = -7. So, if 'k' is used as a Boolean variable, it will be treated as a true condition. So. ! k will be false i.e., 0. So, 0 < ? !k is actually 0 < 0. which is false. So. 0 will be printed.


12:  

The following program fragment

int a = 4, b = 6;
printf (" %d ", a == b);

A.

outputs an error message

B.

prints 0

C.

prints 1

D.

none of the above

 
 

Option: B

Explanation :


13:  

The following program fragment

int a = 4, b = 6;
printf (" %d ", a != b) ;

A.

outputs an error message

B.

prints 0

C.

prints 1

D.

none of these

 
 

Option: C

Explanation :


14:  

The following program fragment

int a = 4, b = 6;
printf ("%d", a = b) ;

A.

outputs an error message

B.

prints 0

C.

prints 1

D.

6

 
 

Option: D

Explanation :

Here in this program, the output will be '6' .

The program assigns b's value to a. So, a becomes 6. While, the "%d" will display value of the second variable in the printf statement which is "b=6"


15:  

The following program fragment

int i = 107, x = 5;
printf  (( x  > 7) ? " %d " : "%c", i ) ;


results in

A.

an execution error

B.

a syntax error

C.

printing of k

D.

none of the above

 
 

Option: C

Explanation :

Since x > 7 is false, the ternary operator?: returns "%c". So, print f ( "%c " ,  i) will be executed. So, the ASCII character corresponding to 107, i.e., ' k ' will be printed.




Suggest an improvement