C Programming :: Input / Output

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:

Declaration: 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”

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.

3. What does fp point to in the program ?
#include

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.

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).

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

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);