Tutorials, Free Online Tutorials,It Challengers provides tutorials and interview questions of all technology like java tutorial, android, java frameworks, javascript, core java, sql, php, c language etc. for beginners and professionals.

Breaking

C Aptitude Questions And Answers - FLOATING POINT ISSUES

---------------------------------- Test Your "C" Skill --------------------------------------

FLOATING POINT ISSUES

1.
void main()
{
  float a=0.7;
if(a<0.7)
  printf(“C”);
else
  printf(“C++”);  
}
a.      C
b.     C++
c.      Error
d.     None of above.

Output:- A.

2.
void main()
{
 float a=0.7;
 if(a<0.7f)
   printf(“C”);
else
  printf(“C++”);
} 
a. C
b. C++
c. Error
e.   None of above

Output:- B.

3.
void main()
{
  printf(“%f”,sqrt(36.0));
}
a. 6.0
b. 6
c. 6.000000
d. Some absurd result

Output:- D

4. Would this program give proper results <yes/no>?
void main()
{
   printf(“%f”,log(36.0));
}

Output:- No. since math.h is not included.

5.Would the following printf()s print the same values for any value of a <yes/no>?
void main()
{
  float a;
  scanf(“%f”,&a);
  printf(“%f”,a+a+a);
  printf(“%f”,3*a);
}

Output:- No.


6. We want to round off x, a float, to an int value. The correct way to do so would be
a.   y=(int)(x+0.5);
b.     y=int(x+0.5);
c.       y=(int) x+0.5;
d.      y=(int)((int)x+0.5);

Output:- A.

7. Which error are you likely to get when you run the following program.
void main()
{
  struct emp
   {
      char name[20];
      float sal;
   };
 struct emp e[10];
 int x;
 for(x=0;x<9;x++)
  scanf(“%s %f”, e[x].name,e[x].sal);
}

a.      Suspicious pointer conversion.
b.     Floating point formats not linked
c.      Can not use scanf() for structure
d.     Strings can not be nested inside structure

Output:- B

8. Which are the three different types of real data types available in C and what are the  format specifiers used for them?

Output:-
       Float                4 bytes      %f
       Double            8 bytes      %lf
       Long double   10 bytes    %Lf

9. By default any real number is treated as
  a    float
  b    double
  c    long double
  b    depends on the memory model that you are using

Output:- B.

10. What should you do to treat the constant 3.14 as a float?
 Output:- Use 3.14f

11. What should you do to treat the constant 3.14 as long double?
 Output:- Use 3.14l

12.
void main()
{
  printf(“%d %d %d”,sizeof(3.14f),sizeof(3.14),sizeof(3.14l));
}
a.      4 4 4
b.     4 garbage value garbage value
c.      4 8 10
d.     error

Output:- C

13.The binary equivalent of 5.375 is
a     101.101110111
b     101.011
c      101011
d      none of above

Output:- B.

14. A float occupies 4 bytes. If the hexadecimal equivalent of each of these bytes is A, B, C, and D, then when this float is stored in memory these bytes get stored in the order.

a.         ABCD
b.         DCBA
c.         0xABCD
d.         0xDCBA

Output:- B.

15. If the binary equivalent of 5.375 in normalized form is 0100 0000 1010 1100 0000 0000 0000 0000, what would be the output of the following program?
void main()
{
  float a=5.375;
  char *p;
  int x;
  p=(char*)&a;
  for(x=0;x<=3;x++)
  printf(“%02x”,(unsigned char)p[x]);
}
a    40 AC 00 00
b    04 CA 00 00
c    00 00 AC 40
d    00 00CA 04

Output: C.

No comments:

Post a Comment