C Primer Plus 第六版第三章编程练习
- 1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
- 2.编写一个程序,要求提示输入一个ASCII码值(如66),然后打印输入的字符。
- 3.编写一个程序,发出一声警报,然后打印下列文本:
- 4.编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后如果系统支持,再打印成p记数法。
- 5.一年大约有3.156×10^7^秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数。
- 6.1个水分子的质量约为3.0×10^-23^克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的数量。
- 7.1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(/英寸),然后以厘米为单位显示身高。
- 8.在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适。
1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。
#include <stdio.h>
int main(void)
{
int i = 2147483647;
float f_of, f_uf;
f_of = 3.4E38f;//
f_uf = 0.123456f;//
printf("i_overflow = %d, in_overflow + 1 = %d\n", i, i + 1);
printf("f_of = %f\nf_of * 100 = %f\n", f_of, f_of * 100.0f);
printf("f_uf = %f\nf_uf / 10 = %f\n", f_uf, f_uf / 10.0f);
getchar();
return 0;
}
运行结果:
i_overflow = 2147483647, in_overflow + 1 = -2147483648
f_of = 339999995214436424907732413799364296704.000000
f_of * 100 = inf
f_uf = 0.123456
f_uf / 10 = 0.012346
2.编写一个程序,要求提示输入一个ASCII码值(如66),然后打印输入的字符。
#include <stdio.h>
int main(void)
{
char Letter_input