Floating Point Issues - Find Output of Program Multiple Questions and Answers.
Exercise Questions ::
Floating Point Issues
1. What will be the output of the program?
#include<stdio.h>
int main()
{
float a=0.7 ;
if (a < 0.7 )
printf("C\n" );
else
printf("C++\n" );
return 0 ;
}
A. C++ B. C C. Compiler error D. None of above
View Answer
Discuss forum
Workplace
Report
Answer: Option B
Explanation:
if(a < 0.7) here a is a float variable and 0.7 is a double constant. The float variable a is less than double constant 0.7 . Hence the if condition is satisfied and it prints 'C'
See More Information
Tutorial Link:
Published by:Michael Daani
2. What will be the output of the program?
#include<stdio.h>
int main()
{
float *p;
printf("%d\n" , sizeof (p));
return 0 ;
}
A. 2 in 16bit compiler, 4 in 32bit compiler B. 4 in 16bit compiler, 2 in 32bit compiler C. 4 in 16bit compiler, 4 in 32bit compiler D. 2 in 16bit compiler, 2 in 32bit compiler
View Answer
Discuss forum
Workplace
Report
Answer: Option A
Explanation:
sizeof(x) returns the size of x in bytes.float *p is a pointer to a float .
In 16 bit compiler, the pointer size is always 2 bytes. In 32 bit compiler, the pointer size is always 4 bytes.
See More Information
Tutorial Link:
Published by:Michael Daani
Answer: Option D
Explanation:
printf("%d\n", (int)fval); It prints '7'. because, we typecast the (int)fval in to integer. It converts the float value to the nearest integer value.
See More Information
Tutorial Link:
Published by:Michael Daani
4. What will be the output of the program?
#include<stdio.h>
#include<math.h>
int main()
{
printf("%f\n" , sqrt(36.0 ));
return 0 ;
}
A. 6.0 B. 6 C. 6.000000 D. Error: Prototype sqrt() not found.
View Answer
Discuss forum
Workplace
Report
Answer: Option C
Explanation:
printf("%f\n", sqrt(36.0)); It prints the square root of 36 in the float format(i.e 6.000000).
Declaration Syntax : double sqrt(double x) calculates and return the positive square root of the given number.
See More Information
Tutorial Link:
Published by:Michael Daani
5. What will be the output of the program?
#include<stdio.h>
#include<math.h>
int main()
{
printf("%d, %d, %d\n" , sizeof (3.14 f), sizeof (3.14 ), sizeof (3.14 l));
return 0 ;
}
A. 4, 4, 4 B. 4, 8, 8 C. 4, 8, 10 D. 4, 8, 12
View Answer
Discuss forum
Workplace
Report
Answer: Option C
Explanation:
sizeof(3.14f) here '3.14f' specifies the float data type. Hence size of float is 4 bytes.
sizeof(3.14) here '3.14' specifies the double data type. Hence size of float is 8 bytes.
sizeof(3.14l) here '3.14l' specifies the long double data type. Hence size of float is 10 bytes.
Note: If you run the above program in Linux platform (GCC Compiler) it will give 4, 8, 12 as output. If you run in Windows platform (TurboC Compiler) it will give 4, 8, 10 as output. Because, C is a machine dependent language.
See More Information
Tutorial Link:
Published by:Michael Daani
»