Q1. Which of the following statements should be used to obtain a remainder after dividing 3.14 by 2.1 ?
A. rem = 3.14 % 2.1;
B. rem = modf(3.14, 2.1);
C. rem = fmod(3.14, 2.1);
D. Remainder cannot be obtain in floating point division.
Answer: Option C
Explanation:
fmod(x,y) – Calculates x modulo y, the remainder of x/y.
This function is the same as the modulus operator. But fmod() performs floating point divisions.
Example:
#include <stdio.h>
#include <math.h>
int main ()
{
printf ("fmod of 3.14/2.1 is %lf\n", fmod (3.14,2.1) );
return 0;
}
Output:
fmod of 3.14/2.1 is 1.040000
Q.3Which of the following special symbol allowed in a variable name? | ||||||||
Answer: Option D Explanation: Variable names in C are made up of letters (upper and lower case) and digits. The underscore character (“_”) is also permitted. Names must not begin with a digit. Examples of valid (but not very descriptive) C variable names: |
Q.4 Is there any difference between following declarations?
|
||||||||
Answer: Option B Explanation: extern int fun(); declaration in C is to indicate the existence of a global function and it is defined externally to the current module or in another file. int fun(); declaration in C is to indicate the existence of a function inside the current module or in the same file. |
Q.5 How would you round off a value from 1.66 to 2.0? | ||||||||
Answer: Option A Explanation:
|
Q.6 By default a real number is treated as a.?
By default a real number is treated as a | ||||||||
Answer: Option B Explanation: In computing, ‘real number’ often refers to non-complex floating-point numbers. It include both rational numbers, such as 42 and 3/4, and irrational numbers such as pi = 3.14159265… When the accuracy of the floating point number is insufficient, we can use the double to define the number. The double is same as float but with longer precision and takes double space (8 bytes) than float. To extend the precision further we can use long double which occupies 10 bytes of memory space. |
Q.7 Which of the following is not user defined data type?
Which of the following is not user defined data type?
|
||||||||
Answer: Option B Explanation: C data types classification are
So, clearly long int l = 2.35; is not User-defined data type. |
Q.8 Is the following statement a declaration or definition?
Is the following statement a declaration or definition? extern int i; |
||||||||
Answer: Option A Explanation: Declaring is the way a programmer tells the compiler to expect a particular type, be it a variable, class/struct/union type, a function type (prototype) or a particular object instance. (ie. extern int i) Declaration never reserves any space for the variable or instance in the program’s memory; it simply a “hint” to the compiler that a use of the variable or instance is expected in the program. This hinting is technically called “forward reference”. |
Q.9 Identify which of the following are declarations.
Identify which of the following are declarations
|
||||||||
Answer: Option C Explanation: extern int x; – is an external variable declaration. double pow(double, double); – is a function prototype declaration. Therefore, 1 and 3 are declarations. 2 is definition. |
Q.10 In the following program where is the variable a getting defined and where it is getting declared?
In the following program where is the variable a getting defined and where it is getting declared?
|
||||||||
Answer: Option A Explanation: – During declaration we tell the datatype of the Variable. – During definition the value is initialized. |
Q.11 When we mention the prototype of a function?
When we mention the prototype of a function? | ||||||||
Answer: Option B Explanation: A function prototype in C or C++ is a declaration of a function that omits the function body but does specify the function’s name, argument types and return type. While a function definition specifies what a function does, a function prototype can be thought of as specifying its interface. |
Q.12 What is the output of the program given below ?
What is the output of the program given below ?
|
||||||||
Answer: Option C Explanation: enum takes the format like {0,1,2..) so pass=0, fail=1, atkt=2 stud1 = pass (value is 0) stud2 = atkt (value is 2) stud3 = fail (value is 1) Hence it prints 0, 2, 1 |
Q.13 What will be the output of the program in 16 bit platform (Turbo C under DOS)?
What will be the output of the program in 16 bit platform (Turbo C under DOS)?
|
||||||||
Answer: Option D Explanation: Linker Error : Undefined symbol ‘i’ |
Q.15 What is the output of the program?
What is the output of the program?
|
||||||||
Answer: Option A Explanation: extern int a; indicates that the variable a is defined elsewhere, usually in a separate source code module. printf(“%d\n”, a); it prints the value of local variable int a = 20. Because, whenever there is a conflict between local variable and global variable, local variable gets the highest priority. So it prints 20. |
Q.16 What is the output of the program in Turbo C (in DOS 16-bit OS)?
What is the output of the program in Turbo C (in DOS 16-bit OS)?
|
||||||||
Answer: Option C Explanation: Any pointer size is 2 bytes. (only 16-bit offset) Since C is a compiler dependent language, it may give different output in other platforms. The above program works fine in Windows (TurboC), but error in Linux (GCC Compiler). |
Q.17 What is the output of the program
What is the output of the program
|
||||||||
Answer: Option A Explanation: When an automatic structure is partially initialized remaining elements are initialized to 0(zero). |
Q.18 What will be the output of the program?
What will be the output of the program?
|
||||||||
Answer: Option A Explanation: Whenever there is conflict between a local variable and global variable, the local variable gets priority. |
Q.19 What is the output of the program
What is the output of the program
|
||||||||
Answer: Option B Explanation: Since x < y turns to be TRUE it is replaced by 1. Then 1 < z is compared and to be TRUE. The 1 is assigned to i. |
Q.20 What is the output of the program
What is the output of the program
|
||||||||||
Answer: Option E Explanation: 2 Errors |
Q.21 What is the output of the program
What is the output of the program
|
||||||||
Answer: Option D Explanation: When an automatic array is partially initialized, the remaining elements are initialized to 0. |
Q.22 What is the output of the program?
What is the output of the program?
|
||||||||
Answer: Option A Explanation: printf(“%d, %d, %d\n”, u.ch[0], u.ch[1], u.i); It prints the value of u.ch[0] = 3, u.ch[1] = 2 and it prints the value of u.i means the value of entire union size. So the output is 3, 2, 515. |
Q.23 In the following program how long will the for loop get executed?
In the following program how long will the for loop get executed?
|
||||||||
Answer: Option D Explanation: During the for loop execution scanf() ask input and then printf() prints that given input. This process will be continued repeatedly because, scanf() returns the number of input given, the condition is always true(user gives a input means it reurns ‘1’). Hence this for loop would get executed infinite times. |
Q.24 What will be the output of the program?
What will be the output of the program?
|
||||||||
Answer: Option B Explanation: In case of a conflict between a local variable and global variable, the local variable gets priority. |
Q.25 Point out the error in the following program (if it is compiled with Turbo C compiler).
Point out the error in the following program (if it is compiled with Turbo C compiler).
|
||||||||
Answer: Option C Explanation: In this program the compiler will not know that the function display() exists. So, the compiler will generate “Type mismatch in redeclaration of function display()“. To over come this error, we have to add function prototype of function display().
Output: swamiOS.in Note: This problem will not occur in modern compilers (this problem occurs in TurboC but not in GCC). |
Q.26 Point out the error in the following program.
Point out the error in the following program.
|
||||||||
Answer: Option A |
Q.27 Point out the error in the following program.
Point out the error in the following program.
|
||||||||
Answer: Option B Explanation: There is an error in the line emp int xx; To overcome this error, remove the int and add the struct at the begining of emp int xx;
|
Q.28 Which of the following is correct about err used in the declaration given below?
Which of the following is correct about err used in the declaration given below?
|
||||||||
Answer: Option A Explanation: A typedef gives a new name to an existing data type. |
Q.29 Point out the error in the following program.
Point out the error in the following program.
|
||||||||
Answer: Option B Explanation: The compiler will not know that the function int fun() exists. So we have to define the function prototype of int fun();
|
Q.30 Which of the declaration is correct?
Which of the declaration is correct? | ||||||||
Answer: Option A Explanation: int length; denotes that variable length is int(integer) data type. char int; here int is a keyword cannot be used a variable name. int long; here long is a keyword cannot be used a variable name. float double; here double is a keyword cannot be used a variable name. So, the answer is int length;(Option A). |
Q.31 Which of the following operations are INCORRECT?
Which of the following operations are INCORRECT? | ||||||||
Answer: Option D Explanation: float a = 3.14; a = a%3; gives “Illegal use of floating point” error. The modulus (%) operator can only be used on integer types. We have to use fmod() function in math.h for float values. |
Q.32 Which of the following correctly represents a long double constant?
Which of the following correctly represents a long double constant? | ||||||||
Answer: Option B Explanation: 6.68 is double. |
Q.33 Which of the structure is incorrecet?
Which of the structure is incorrect?
|
||||||||
Answer: Option B Explanation: Option B gives “Undefined structure in ‘aa'” error. |
Q.34 Which of the structure is correct
Which of the structure is correct?
|
||||||||
Answer: Option A Explanation: In 2 and 3 semicolon are missing in structure element. |
Q.35 A long double can be used if range of a double is not enough to accommodate a real number.
A long double can be used if range of a double is not enough to accommodate a real number. | ||||
Answer: Option A Explanation: True, we can use long double; if double range is not enough. double = 8 bytes. |
Q.36 A float is 4 bytes wide, whereas a double is 8 bytes wide.
A float is 4 bytes wide, whereas a double is 8 bytes wide. | ||||
Answer: Option A Explanation: True, |
Q.37 If the definition of the external variable occurs in the source file before its use in a particular function, then there is no need for an extern declaration in the function
If the definition of the external variable occurs in the source file before its use in a particular function, then there is no need for an extern declaration in the function. | ||||
Answer: Option A Explanation: True, When a function is declared inside the source file, that function(local function) get a priority than the extern function. So there is no need to declare a function as extern inside the same source file. |
Q.38 Size of short integer and long integer can be verified using the sizeof() operator.
Size of short integer and long integer can be verified using the sizeof() operator. | ||||
Answer: Option A Explanation: True, we can find the size of short integer and long integer using the sizeof() operator.
Output: |
Q.39 Size of short integer and long integer would vary from one platform to another.
Size of short integer and long integer would vary from one platform to another. | ||||
Answer: Option A Explanation: True, Depending on the operating system/compiler/system architecture you are working on, the range of data types can vary. |
Q.40 Is there any difference in the following declarations?
Is there any difference in the following declarations? int myfun(int arr[]); int myfun(arr[20]); |
||||
Answer: Option A Explanation: Yes, we have to specify the data type of the parameter when declaring a function. |
Q.41 Suppose a program is divided into three files f1, f2 and f3, and a variable is defined in the file f1 but used in files f2 and f3. In such a case would we need the extern declaration for the variables in the files f2 and f3?
Answer: Option A |
Q.42 Is it true that a global variable may have several declarations, but only one definition?
Is it true that a global variable may have several declarations, but only one definition? | ||||
Answer: Option A Explanation: Yes, In all the global variable declarations, you need to use the keyword extern. |
Q.43 Is it true that a function may have several declarations, but only one definition?
Is it true that a function may have several declarations, but only one definition? | ||||
Answer: Option A Explanation: Yes, but the function declarations must be identical. Example:
|
You can do best practice here
swamios.com ® | swamios media ♫ |
 Home |
You must be logged in to post a comment.