General Questions

Question 1 :

In a file contains the line "I am a boy\r\n" then on reading this line into the array str using fgets(). What will str contain?


A). "I am a boy\r\n\0"
B). "I am a boy\r\0"
C). "I am a boy\n\0"
D). "I am a boy"
Answer : Option C

Explanation :

char *fgets(char *s, int n, FILE *stream);
fgets reads characters from stream into the string s. It stops when it reads either n - 1 characters or a newline character, whichever comes first.
Therefore, the string str contain "I am a boy\n\0"


Question 2 :

What is the purpose of "rb" in fopen() function used below in the code?

FILE *fp;
fp = fopen("source.txt", "rb");


A). open "source.txt" in binary mode for reading
B). open "source.txt" in binary mode for reading and writing
C). Create a new file "source.txt" for reading and writing
D). None of above
Answer : Option A

Explanation :

The file source.txt will be opened in the binary mode.


Question 3 :

What does fp point to in the program ?

#include < stdio.h >

int main()
{
    FILE *fp;
    fp=fopen("trial", "r");
    return 0;
}


A). The first character in the file
B). A structure which contains a char pointer which points to the first character of a file.
C). The name of the file.
D). The last character in the file.
Answer : Option B

Explanation :

The fp is a structure which contains a char pointer which points to the first character of a file.


Question 4 :

Which of the following operations can be performed on the file "NOTES.TXT" using the below code?

FILE *fp;
fp = fopen("NOTES.TXT", "r+");


A). Reading
B). Writing
C). Appending
D). Read and Write
Answer : Option D

Explanation :

r+ Open an existing file for update (reading and writing).


Question 5 :

To print out a and b given below, which of the following printf() statement will you use?

#include < stdio.h >

float a=3.14;
double b=3.14;


A). printf("%f %lf", a, b);
B). printf("%Lf %f", a, b);
C). printf("%Lf %Lf", a, b);
D). printf("%f %Lf", a, b);
Answer : Option A

Explanation :

To print a float value, %f is used as format specifier.
To print a double value, %lf is used as format specifier.
Therefore, the answer is printf("%f %lf", a, b);