高级语言程序设计课程第二次个人作业
作业所属课程:https://edu.cnblogs.com/campus/fzu/gjyycx
作业要求:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13570
学号:102500430
姓名:黄华烨
3.11编程练习
1、通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况
目标:测试系统对溢出的处理
思路:明确int及float的范围以得到溢出值
问题及解决:编写过程中突然想到是否有相关程序可以直接输出最大值,经查阅学习后发现可以使用INT_MAX,FLT_MAX,FLT_MIN来获得int最大值,float最大值与最小值

2、编写一个程序,要求提示输入一个ASCII码值(如,66),然后打印输入的字符。
目标:输入ASCII值,打印出对应字符
思路:使用%c进行转换

3、编写一个程序,发出一声警报,然后打印下面的文本:
Startled by the sudden sound, Sally shouted,
"By the Great Pumpkin, what was that!"
目标:使程序发出警报后打印文本
思路:用\a以发出警报,然后正常打印文本
问题及解决:printf(""文本"")会导致程序无法运行,使用"即可

4.编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p记数法(即十六进制记数法)。按以下格式输出(实际显示的指数位数因系统而异):
Enter a floating-point value:64.25
fixed-point notation:64.250000
exponential notation: 6.425000e+01
p notation: 0x1.01p+6
目标:将输入的浮点数转化并打印为多种形式
思路:使用%f,%e,%a进行转化
问题及解决:打印p记数法时使用%x,发现结果与题目不符,查阅后改用%a解决问题

5.一年大约有3.156X107秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数
目标:将年龄转化为秒数
思路:使用“”进行转化

6.1个水分子的质量约为3.0×10-2克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的数量。
目标:将水的夸脱数转化为水分子数量
思路:使用“”“/”运算
问题及解决:定义变量时未考虑到数据过大而使用int,导致输出结果错误,改用double后解决

7、1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(/英寸),然后以厘米为单位显示身高。
目标:将身高由英寸单位转化为厘米单位
思路:使用“”运算

8、在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适?
目标:将以杯为单位的数值转化为以品脱、盎司、汤勺、茶勺为单位
思路:使用“”运算,由于体积可能出现小数,故使用精度更高的浮点类型而不是整数类型

课本示例程序结果输出
例题3.1

例题3.2

例题3.3

例题3.4

例题3.5

例题3.8

例题3.9

作业示例程序结果输出
(1)

(2)

(3)

(4)

(5)

设计一个程序完成以下内容的不同形式输出
(1)按小数形式输出实数:%f 由系统指定宽度(6位小数), %m.nf 指定宽度m,小数位数n,右靠齐, %-m.nf 指定宽度m,小数位数n,左靠齐 (注意:宽度包括符号和小数点)。
目标:实现小数的不同形式输出
思路:使用%f,%m.nf,%-m.nf

(2)用于输出字符串:%s 不指定宽度, %-ms 指定宽度,左靠齐, %ms 指定宽度,右靠齐, %m.ns 指定宽度m,只取左端n个字符, 右靠齐, %-m.ns 指定宽度m,只取左端n个字符, 左靠齐。
目标:实现字符串的不同形式输出
思路:使用%s,%-ms.%ms,%m.ns,%-m.ns

总结和思考
在本次作业中掌握了乘除运算以及各种转换符号,细节错误出现次数减少,进一步了解了C语言
浙公网安备 33010602011771号