c语言程序设计庄景明,C程序设计实验指导new.doc

该实验指导针对《C语言程序设计》课程,强调实践和调试能力的培养。学生需掌握C语言环境,独立编写、调试和运行程序。实验内容包括理解语法、调试技巧和错误类型识别,如语法错误、逻辑错误和运行错误。实验报告应包含预习、数据、过程和总结。此外,介绍了程序调试的三种错误类型:语法错误、逻辑错误和运行错误。
摘要由CSDN通过智能技术生成

C程序设计实验指导new.doc

《C语言程序设计》实验指导

韶关学院计算机科学学院

庄景明

课程类别:专业基础课

学时学分:总学时72、总学分4、实验学时18、实验学分1

适用专业: 计算机科学与技术,信息管理与信息系统

专业层次:本科

第一部分 上机实验的指导思想和要求

1.上机实验的目的

学习C语言程序设计课程不能满足于“懂了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。程序设计是一门实践性很强的课程,必须十分重视实践环节,必须保证有足够的上机实践时间。学习本课程应该至少有18小时的上机时间,最好能做到上机时间与授课时间之比为1﹕1。除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。

上机实验的目的是:

(1)加深对讲授内容的理解,尤其是一些语法规定。

(2)熟悉C语言程序开发的环境。

(3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误。要学会根据“出错提示”,分析并找出错误。调试程序的能力是每个程序设计人员应当掌握的一项基本功。因此,在做实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在已通过的程序基础上作一些改动(例如修改一些参数、增加程序的一些功能、改变输入数据的方法等),再进行编译、连接和运行;甚至于“自设障碍”,即把正确的程序改为有错的(例如,用scanf函数输入变量时,漏写“&”符号;使数组下标出界;使整数溢出等),以观察和分析所出现的情况。

2.上机实验前的准备工作

(1)了解所用的计算机系统(包括C编译系统)的性能和使用方法。

(2)复习和掌握与本实验有关的教学内容。

(3)准备好上机所需的程序。

(4)对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便在上机时给予注意。

(5)准备好调试和运行时所需的数据。

3.上机实验的步骤

(1)调出C编译系统,进人C工作环境(例如Turbo c,VC6.0)。

(2)输人自己编好的程序

(3)检查一遍已输人的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,则及对改正。

(4)进行编译。如果在编译和连接过程中发现错误,输出窗口会出现“出错信息”,根据提示找到出错位置和原因,加以改正,再进行编译……如此反复,直到顺利通过编译和连接为止。

(5)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所得到的结果是否正确(例如解方程ax2+bx+c=0时,不同的a、b、c组合应得到相应的不同结果)。此时应运行几次,分别检查在不同情况下程序是否正确。

(6)输出程序清单和运行结果。

4.写实验报告,实验报告应包括以下内容:

(1)预习报告(题目,实验目的,实验设备,程序清单,疑难问题等)

(2)实验数据

(3)实验过程报告

(4)实验小结。

5.实验内容的安排

结合所学内容布置上机练习题。应要求学生在实验前将教师指定的题目编好程序,然后上机输人和调试。

第二部分 关于程序的调试和测试

l.程序错误的类型

主要有以下几种:

(1)语法错误:不符合C语言的语法规定。例如将printf错写为pintf,括弧不匹配,语句最后漏了分号等,这些都会在编译时被发现并指出。这些都属于“致命错误”,不改正是不能通过编译的。对一些在语法上有轻微毛病但不影响程序运行的问题(如定义了变量但始终未使用),编译时会发出“警告”。虽然程序能通过编译,但不应当使程序“带病工作”,应该将程序中所有“导致错误(error)”和“警告(warning)”的因素都排除.再使程序投人运行。

(2)逻辑错误:

程序无语法错误,也能正常运行,但是结果不对。例如求s=1+2+3+…+100,有人写出以下语句:

for(s=0,i=1;i<100;i++)

s=s+i;

语法没有错,但求出的结果是1+2+3+…+99之和,而不是1+2+3+……100之和,原

因是少执行了一次循环。这类错误可能是设计算法时的错误,也可能是算法正确而在编

写程序时出现疏忽所致。这种错误计算机是无法检查出来的。如果是算法有错,则应先

修改算法,再改程序。如果是算法正确而程序写得不对,则直接修改程序。

(3)运行错误:有时程序既无语法错误,又无逻辑错误,但程序不能正常运行或结果

不对。多数情况是数据不对,包括数据本身不合适以及数据类型不匹配。如有以下程序:

main()

{int a,b,c;

scanf(“%d,%d”,&a,&b);

c=a/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值