- 125
- 0
- 约4.34千字
- 约 5页
- 2016-08-15 发布于贵州
- 举报
实验一 参考答案
1、数据类型、运算符和表达式的应用
(1)整型数据的溢出(建立程序文件名为sy1-1.c)
# include stdio.h
void main()
{
short int a,b;
a=32767;
b=a+1;
printf(a=%d,b=%d\n,a,b);
}
程序运行结果:a=32767,b=-32768
原因:32767是short int型数据的最大值,其二进制为(0111111111111111),在其上加1后产生溢出,变成-32768的补码,其二进制为(1000000000000000)。整数在内存中以二进制补码形式存放,运算时符号位也要参与运算。结论:使用整型数据应注意其表示范围,避免产生溢出。
(2)浮点型数据的舍入误差(建立程序文件名为sy1-2.c)
# include stdio.h
void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf(a=%f\tb=%f\n,a,b);
}
程序运行结果:a=12345678848.000000 b=12345678868.000000
原因:理论分析a变量的值为12345678900,b的值经计算应为12345678920,结果输出的a和b的值都不对,原因是
原创力文档

文档评论(0)