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?
"I am a boy\r\n\0"
"I am a boy\r\0"
"I am a boy\n\0"
"I am a boy"
Answer: Option
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");
open "source.txt" in binary mode for reading
open "source.txt" in binary mode for reading and writing
Create a new file "source.txt" for reading and writing
None of above
Answer: Option
Explanation:

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


3.
What does fp point to in the program ?
#include<stdio.h>

int main()
{
    FILE *fp;
    fp=fopen("trial", "r");
    return 0;
}
The first character in the file
A structure which contains a char pointer which points to the first character of a file.
The name of the file.
The last character in the file.
Answer: Option
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+");
Reading
Writing
Appending
Read and Write
Answer: Option
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<stdio.h>

float a=3.14;
double b=3.14;
printf("%f %lf", a, b);
printf("%Lf %f", a, b);
printf("%Lf %Lf", a, b);
printf("%f %Lf", a, b);
Answer: Option
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);