Sail E0 Webinar

MCQs

Total Questions : 27 | Page 2 of 3 pages
Question 11.

What will function gcvt() do?


  1.    CONVERT vector to integer value
  2.    Convert floating-point number to a string
  3.    Convert 2D array in to 1D array.
  4.    Covert multi Dimensional array to 1D array
 Discuss Question
Answer: Option B. -> Convert floating-point number to a string


The gcvt() function CONVERT a floating-point number to a string. It converts given value to
a null-terminated string.


#include <stdlib.h>
#include<stdio.h>
int main(void)
{
char str[25];
double num;
int sig = 5; /* significant digits */
/* a regular number */
num = 9.876;
gcvt(num, sig, str);
printf("string = %s\n", str);
/* a negative number */
num = -123.4567;
gcvt(num, sig, str);
printf("string = %s\n", str);
/* scientific notation */
num = 0.678e5;
gcvt(num, sig, str);
printf("string = %s\n", str);
return(0);
}


Output:
string = 9.876
string = -123.46
string = 67800



Question 12.


What will be the output of the program?


#include<stdio.h>
#include<string.h>
int main()
{
char dest[] = {97, 97, 0};
char src[] = "aaa";
int i;
if((i = memcmp(dest, src, 2))==0)
printf("Got it");
else
printf("Missed");
return 0;
}
  1.    Missed
  2.    Got it
  3.    Error in memcmp statement
  4.    None of above
 Discuss Question
Answer: Option B. -> Got it

memcmp compares the first 2 bytes of the blocks dest and src as unsigned chars. So, 

the ASCII value of 97 is 'a'.

if((i = memcmp(dest, src, 2))==0) When comparing the array dest and src as unsigned 

chars, the first 2 bytes are same in both variables.so memcmp returns '0'.
Then, the if(0=0) condition is satisfied. Hence the output is "Got it".


Question 13.


What will be the output of the program?


#include<stdio.h>
#include<stdlib.h>
int main()
{
char *i = "55.555";
int result1 = 10;
float result2 = 11.111;
result1 = result1+atoi(i);
result2 = result2+atof(i);
printf("%d, %f", result1, result2);
return 0;
}
  1.    55, 55.555
  2.    66, 66.666600
  3.    65, 66.666000
  4.    55, 55
 Discuss Question
Answer: Option C. -> 65, 66.666000

Function atoi() CONVERTS  the string to integer. 

Function atof() converts the string to float.

result1 = result1+atoi(i); 
Here result1 = 10 + atoi(55.555); 
result1 = 10 + 55; 
result1 = 65;

result2 = result2+atof(i); 
Here result2 = 11.111 + atof(55.555); 
result2 = 11.111 + 55.555000; 
result2 = 66.666000; 
So the output is "65, 66.666000" .


Question 14.


What will be the output of the program?


#include<stdio.h>
int main()
{
int i;
char c;
for(i=1; i
  1.    bbbb
  2.    bbbbb
  3.    b
  4.    Error in ungetc statement.
 Discuss Question
Answer: Option C. -> b

The ungetc() function pushes the character c back onto the named input stream, which must

 be open for reading.

This character will be returned on the next call to getc or fread for that stream.

One character can be pushed back in all situations.

A second call to ungetc without a call to getc will force the previous character to be forgotten.


Question 15.


What will be the output of the program?


#include<stdio.h>
int main()
{
int i;
i = scanf("%d %d", &i, &i);
printf("%d\n", i);
return 0;
}
  1.    1
  2.    2
  3.    Garbage value
  4.    Error: cannot assign scanf to variable
 Discuss Question
Answer: Option B. -> 2

scanf() returns the number of variables to which you are provding the input.

i = scanf("%d %d", &i, &i); Here Scanf() returns 2. So i = 2.

printf("%d`setminus`n", i); Here it prints 2.


Question 16.


What will be the output of the program?


#include<stdio.h>
#include<math.h>
int main()
{
float i = 2.5;
printf("%f, %d", floor(i), ceil(i));
return 0;
}
  1.    2, 3
  2.    2.000000, 3
  3.    2.000000, 0
  4.    2, 0
 Discuss Question
Answer: Option C. -> 2.000000, 0

Both ceil() and floor() return the integer found as a double.

floor(2.5) returns the largest integral value(round down) that is not greater than 2.5. So output is 2.000000.

ceil(2.5) returns 3, while converting the double to int it returns '0'. 
So, the output is '2.000000, 0'.


Question 17.


What will be the output of the program?


#include<stdio.h>
int main()
{
int i;
i = printf("How r u\n");
i = printf("%d\n", i);
printf("%d\n", i);
return 0;
}
A.
How r u
7
2
B.
How r u
8
2
C.
How r u
1
1
D.
Error: cannot assign printf to variable
  1.    2, 3
  2.    2.000000, 3
  3.    2.000000, 0
  4.    2, 0
 Discuss Question
Answer: Option C. -> 2.000000, 0

Answer: Option B

Explanation:

In the program, printf() returns the number of charecters printed on the console

i = printf("How r u`setminus`n"); This line prints "How r u" with a new line character and returns the length of string printed then assign it to variable i. 
So i = 8 (length of 'n' is 1).

i = printf("%d`setminus`n", i); In the previous step the value of i is 8. So it prints "8" with a new line character and returns the length of string printed then assign it to variable i. So i = 2 (length of '`setminus`n' is 1).

printf("%d`setminus`n", i); In the previous step the value of i is 2. So it prints "2".


Question 18.

What will the function randomize() do in Turbo C under DOS?


  1.    returns a random number.
  2.    returns a random number generator in the specified range.
  3.    returns a random number generator with a random value based on time.
  4.    return a random number with a given seed value.
 Discuss Question
Answer: Option C. -> returns a random number generator with a random value based on time.


The randomize() function initializes the random number generator with a random value based on time. You can try the sample program given below in Turbo-C, it may not work as expected in other compilers.


#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
randomize();
printf("Random number in the 0-99 range: %d\n", random (100));
return 0;
}


Question 19.

Can you use the fprintf() to display the output on the screen?


  1.    Yes
  2.    No
 Discuss Question
Answer: Option A. -> Yes

Do like this fprintf(stdout, "%s %d %f", str, i, a);


Question 20.

What is the purpose of fflush() function.


  1.    flushes all streams and specified streams.
  2.    flushes only specified stream.
  3.    flushes input/output buffer.
  4.    flushes file buffer.
 Discuss Question
Answer: Option A. -> flushes all streams and specified streams.

"fflush()" flush any buffered output associated with filename, which is either a file opened 

for writing or a shell command for redirecting output to a pipe or coprocess.

Example: 
fflush(FilePointer);
fflush(NULL); flushes all streams.


Latest Videos

Latest Test Papers