高级语言程序设计课程第二次个人作业
这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx
这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13570
学号:102500405
姓名:刘诺涵
一.编写并运行书本第3章3.11 编程练习题目中的第1题~第8题。
1.通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢,浮点数上溢和浮点数下溢的情况。
a.目标:整数上溢
设计思路:计算一个很大整数的加法

b.目标:浮点数上溢和下溢
设计思路:分别计算一个很大浮点数的乘法和一个很小浮点数的除法

2.编写一个程序,要求提示输入一个ASCII码值(如,66),然后打印输入的字符。
目标:输入一个ASCII码值,输出字符
设计思路:先打印提示“请输入一个ASCII码值:”,再用scanf读取键盘输入,然后声明字符ascii,最后输出“对应的字符为:”

3.编写一个程序,发出一声警报,然后打印文本
目标:使程序发出一声警报后输出文本
设计思路:使用转义字符\a来发出警报,再接着输入要打印的文本,同时使用转义字符\n来进行换行

4.编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。
然后,如果系统支持,再打印成p记数法(即十六进制记数法)。按格式输出
目标:将读取的一个浮点数分别用三种形式输出
设计思路:先声明一个浮点数,再按要求打印相应文本,然后使用scanf读取键盘输入,
接着打印对应文本,并分别用%.6f,%e,%.2a表示小数点,指数,p记数法形式

5.一年大约有3.156*10^7秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数。
目标:将年龄转换为秒数
设计思路:首先定义m为3.156e7,再打印文本“请输入年龄:”,再使用scanf读取键盘输入,
接着用表达式计算seconds,最后打印文本“您的年龄对应的秒数为:”

6.一个水分子的质量约为3.0*10^-23克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的质量。
目标:提示输入水的夸脱数,并显示水分子的质量
设计思路:使用定义便捷操作,先分别用k和m对应转换值,再打印对应文本“请输入水的夸脱数”。
然后使用scanf读取键盘输入,接着打印对应文本,并用指数形式表示计算出的数值。

7.1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(/英寸),然后以厘米为单位显示身高。
目标:输入以英寸为单位的身高数据,输出为以厘米为单位
设计思路:使用定义便捷操作,先用y对应转换值,并声明double h,再打印对应文本“请以英寸为单位输入您的身高”。然后使用scanf读取键盘输入,接着打印对应文本,并用乘法计算结果,保留两位小数。

8.a.在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。
编写一个程序,提示用户输入杯数,并以品脱,盎司,汤勺,茶勺为单位显示等价容量。
目标:单位转换
设计思路:使用double双精度值表示,通过对应单位转换进行打印

b.思考对于该程序,为何使用浮点类型比整数类型更合适
1,用户输入的杯数可能不是整数
2,品脱,盎司,汤勺,茶勺的转换可能会涉及到小数
eg:若用户输入1.5的杯数,那么品脱数将是0.75,但如果使用整数类型,那么品脱数将被截断为0,不够精准。
二.将书本中给的程序清单3.13.5,3.83.9的示例程序结果输出(无需代码,截图程序输出结果)。
1.程序清单3.1 platinum.c

2.程序清单3.2 print.c

3.程序清单3.3 bases.c

4.程序清单3.4 print2.c

5.程序清单3.5 charcode.c

6.程序清单3.8 typesize.c

7.程序清单3.9 badcount.c

三.运行以下程序给出程序结果(无需代码,截图程序输出结果,如有错误可自行修改)。
1.正确,但会出现溢出现象

2.最后一个会出现浮点数过长,显示有误
修改long double为double
修改前:

修改后:

3.最后一行没有加return 0;

4.正确

5.正确

四.设计一个程序完成以下内容的不同形式输出。
(1)按小数形式输出实数:%f 由系统指定宽度(6位小数), %m.nf 指定宽度m,小数位数n,右靠齐, %-m.nf 指定宽度m,小数位数n,左靠齐 (注意:宽度包括符号和小数点)。
(2)用于输出字符串:%s 不指定宽度, %-ms 指定宽度,左靠齐, %ms 指定宽度,右靠齐, %m.ns 指定宽度m,只取左端n个字符, 右靠齐, %-m.ns 指定宽度m,只取左端n个字符, 左靠齐。

总结:通过多个程序,我可以较为熟练地使用各种语句,小错误也少了很多;
但是仍存在遗忘分号等小问题,浮点数上溢仍需看课本解决。
希望在后续学习中,我能够逐渐领悟C语言里的底层逻辑。
浙公网安备 33010602011771号