38563325.doc (匡珍春制作)
实验四 选择结构程序设计(4学时)
实验前必须做的操作——新建文件夹: .................
1、先在对应的K:盘上建立一个父文件夹(用来存放本人整个学期的作业),格式为:“专业+班级+学号+姓名”,如:工业1091班、学号为05的匡珍春同学,其父文件夹名称为:工业109105匡珍春,然后在此父文件夹下建立子文件夹,名称为:实验4(用来存放实验4需要上交的文件)。
2、在E:盘上建立一个以本人姓名为名称的文件夹(本次实验的工作文件夹),例如:E:\\匡珍春
【实验目的】
1、 理解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 2、 进一步巩固printf()和scanf()函数的使用方法。
3、 学会正确使用关系运算符和关系表达式、逻辑运算符和逻辑表达式。 4、 掌握if语句三种形式的用法。 5、 掌握switch、break语句的用法。 6、 熟悉选择结构程序段中语句的执行过程。
7、 学会设计分支结构的程序,结合程序掌握一些基本的算法。
8、 巩固利用VC++对C程序的查错方法,进一步提高修改程序错误的能力。 9、 学习跟踪调试程序,掌握简单的单步调试方法。
【实验内容】
[实验任务一]:程序的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法) 程序跟踪调试实例4-1:程序跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):
输入x,计算并输出下列分段函数 f(x) 的值(保留1位小数)。(需要存盘)
?1?f(x)??x?0?x?0x?0
源程序(有错误的程序)
第 1 页 共 14 页
38563325.doc (匡珍春制作)
运行结果(改正后程序的运行结果) 10.0 f(10.00) = 0.1
【操作步骤】:
(1)输入源程序,并以error4_1.c文件名最终保存在实验4文件夹里,然后执行“编译/Build”—>“编译/Compile”,出现第一个编译错误是:
双击该出错信息,箭头指向else所在行,出错信息指出在else前缺少分号。在y = 1 / x后面补上分号后,重新编译,新出现的第一个出错信息(警告信息):
双击该错误信息,箭头指向scanf(\x);所在行,出错原因是x的前面少了&。在x前面补上&后,重新编译并连接,均正确。
(2)执行“工具”—>“定制”,选择“调试”(如图4.1所示),出现调试工具栏(如图4.2所示),然后关闭“定制”对话框。
图4.1 选择工具栏 终止调试按钮 图4.2 调试工具栏
单步执行按钮
(3)调试开始,单击调试工具栏中的单步执行(Step Over(F10)),每次执行一行(如图4.3所示),
第 2 页 共 14 页
38563325.doc (匡珍春制作)
编辑窗口中的箭头指向行表示程序将要运行该行。图4.3中列出了变量窗口(Variables Window) 和观察窗口(Watch Window),在Watch窗口中还可以改变变量的值。
显示或隐藏观察窗口 显示或隐藏变量窗口 变量窗口 观察窗口
图4.3 程序调试开始
(4)鼠标单击
三次,程序执行到输入这一行(如图4.4所示),同时运行窗口(如图4.5所示)显
,就可以在
示提示符“input x:”(注意:此时将要执行但还没有执行scanf(“%f”, &x);语句),继续单击
运行窗口输入x的值10(如图4.6所示),按回车键Enter后,箭头指向了“if(x!=0)”这一行(如图4.7所示),在变量窗口可以看到变量x的值是10.0000,变量x的地址(&x)是0x0012ff7c。
图4.4 程序单步调试
第 3 页 共 14 页
38563325.doc (匡珍春制作)
图4.5 运行窗口
图4.6 在运行窗口输入变量x的值10
图4.7 程序单步调试,显示变量x的值和变量x的地址
(5)继续单击值是0.100000。
二次,箭头指向了“else”这一行(如图4.8所示),在变量窗口可以看到变量y的
第 4 页 共 14 页
38563325.doc (匡珍春制作)
图4.8 程序单步调试,显示变量y的值
(6)继续单击
二次(如图4.9所示),运行窗口显示运行结果(如图4.10所示),符合题目的要求。
图4.9 程序单步调试到最后一行
图4.10 在运行窗口显示调试后的最后结果
(7)单击终止调试按钮
(Stop Debugging(Shaft+F5)),程序调试结束。
第 5 页 共 14 页