第3章 数据和C(P68-P69)
1 通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 2147483647;
float b = 3.4E38 * 100.0f;
float c = (3.4E-38) / (100.0E100);
printf("%d %d %d\n", a, a+1, a+2); //整数上溢
printf("%e\n", b); //浮点数上溢
printf("%e", c); //浮点数下溢
return 0;
}
对于整数,小于最小值为下溢,大于最大值为上溢(指代数值)。
对于浮点数,绝对值小于浮点数所能表示的最小值,为下溢,当作 0;绝对值大于浮点数所能表示的最大范围,为上溢,当作 INF(指绝对值)。
2 编写一个程序,要求提示输入一个ASCII码值(如66),然后打印输入的字符。