Declarations and Initializations



General Questions

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

2. What are the types of linkages?

A.            Internal and External      B.            External, Internal and None
C.            External and None          D.            Internal

Answer: Option B

Explanation:
External Linkage-> means global, non-static variables and functions.
Internal Linkage-> means static variables and functions with file scope.
None Linkage-> means Local variables.





3. Which of the following special symbol allowed in a variable?

A.            * (asterisk)         B.            | (pipeline)
C.            - (hyphen)          D.            _ (underscore)

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:
=> foo 
=> Bar 
=> BAZ 
=> foo_bar 
=> _foo42 
=> _ 
=> QuUx 

4. Is there any difference between following declarations?
1 :        extern int fun();

2 :        int fun();
A.         Both are identical
B.         No difference, except extern int fun(); is probably in another file
C.         int fun(); is overrided with extern int fun();
D.         None of these

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.

5. How would you round off a value from 1.66 to 2.0?

A.         ceil(1.66)         B.         floor(1.66)
C.         roundup(1.66) D.         roundto(1.66)

Answer: Option A

Explanation:
/* Example for ceil() and floor() functions: */
 
#include<stdio.h>
#include<math.h>
 
int main()
{
    printf("\n Result : %f" , ceil(1.66) );
 
    printf("\n Result : %f" , floor(1.66) );
 
    return 0;
}
 
// Output: Result : 2.000000
// Output: Result : 1.000000



Comments