c程序设计实验

2022-11-18 版权声明 我要投稿

第1篇:c程序设计实验十三

非计算机专业C语言程序设计实验教学模式

摘要:本文就C语言程序设计的实验教学,针对非计算机专业学生的特点,通过多个实验教学实践,提出激发学生学习兴趣、与理论授课老师保持良好沟通、合理安排实验教学内容的教学思路,并就具体实现方法进行探讨。

关键词:C语言 程序设计 实验教学 教学改革

基金项目:中南林业科技大学新进高层次人才项目(104-0091);湖南省高等学校科学研究项目 (10C1312)。

C语言程序设计是程序设计类课程的基础,既具有高级程序设计语言的功能,又具有低级语言的许多特点,是计算机专业和其他相关专业的核心课程,有广泛的应用领域。随着信息产业的飞速发展,时代赋予大学生素质教育更多的含义和要求,其中计算机水平和能力的考核不再局限于计算机专业人才,更多的非计算机专业学生也同样需要具备一定的计算机知识和编程能力。因此,C语言程序设计不仅仅是计算机专业的基础课程,同时也成为许多非计算机专业的基础课程。近年来,我校在理工类专业普遍开设该课程,对于提高学生的综合素质起到重要作用。

实践证明,保证计算机课程教学质量的关键在于课堂教学和实验教学两手都要抓,两手都要牢[1]。实验课程是培养学生钻研与创新精神的课堂教学,为实验教学提供必须的理论基础,实验教学是理论知识转换为实际应用的重要途径。在学习C语言程序设计课程中,非计算机专业的学生表现出与计算机专业学生不同的方面,其主要表现在学习C语言的积极性和兴趣不高。因此,我们针对“非计算机专业学生”这个群体的特点,从提高学生的学习的积极性和兴趣方面出发,以培养学生的C语言程序设计能力为目标,对C语言程序设计实验教学方法进行研究和探索。

1 非计算机专业的C语言程序设计实验教学现状

在C语言实验教学中,我校配有C语言实验课程教材,且实验教学晚于理论教学一周时间启动。同时,实验教材基本与理论教材内容配套,由多个基于不同关键知识点构成的实验,每一个实验都是针对某个或某些相关知识点设计的,由多种类型不同的程序设计题构成,循序渐进,由浅入深,这非常有利于学生掌握C语言编程技巧。但是,在实际的教学过程中,问题仍然存在。

1.1 重视度不够

C语言程序设计作为非计算机专业学生的一门课程,受重视度远不及计算机专业的学生。主要原因在于非计算机专业学生认为C语言课程与他们专业的相关性不大,因此,非计算机专业的学生学习C语言的积极性不高。

1.2 实验教学与理论教学脱节

理论和实际教学安排,都说明实验教学应该紧接理论教学。但是,由于每个老师的教学进度有区别,因此,实验教学老师分配实验任务的时候,学生反映该实验内容的理论知识点还没有讲授,或者实验教学老师分配的实验任务中需掌握的知识点,理论教学老师早在几周前已经讲授完毕。这两种情况都不利于学生掌握C语言程序设计。前者的情况会使学生在实验课程中完全不理解实验内容,不明白程序语句的含义,对于独立的编程题更不知道如何动手;后者则由于知识点讲授的时间与实验课程的时间间隔比较长,学生对需要掌握的知识点印象模糊,甚至完全忘记。

1.3 过多依赖实验教材

C语言实验教材中包含很多个独立的实验章节,每一节实验内容都包含一个主题,由若干个不同类型的程序题构成,大部分程序题都有较为详细的程序代码。大部分实验教学老师在每次实验课时,对所有同学一视同仁,分配相同的实验内容,并从中选择一些程序题或者让学生按题号依次编写程序,学生只需要根据实验教材提供的编码依次输入C语言代码即可运行相应的程序。虽然实验教材在一定程度上帮助实验教学老师分配教学任务和辅助学生学习C语言,但是,它也抹杀了学生的思维创造力,不利于学生探索精神的培养。

2 教学模式的改进

针对非计算机专业C语言程序设计实验教学存在的问题,我们进行改革尝试,具体内容有以下几个方面。

2.1 激发学习C语言程序设计的积极性

教学过程中,老师起重要的“督导”作用。一方面,教师要让非计算机专业的学生明白,在一个信息爆炸的时代,掌握一门编程语言对于理工科专业的学生而言是非常有必要的。编程语言是人类智慧的结晶,通过对编程语言的学习和应用,可以建立良好的逻辑思维和培养好的计算能力。C语言是一门基础性的编程语言,是非计算机专业学生掌握编程语言的奠基石。另一方面,我们要帮助学生树立编程的信心。学习C语言就是将现实社会的事情通过计算机来运行处理,只要学生掌握了C语言的语法规则就一定可以编写出程序,通过编程解决本专业领域的问题,结合自己的专业特点,编写具有自己专业背景的软件[2]。例如,最初安排实验课时,实验老师结合多媒体教学设备,采用口头描述和实际操作相结合的方式,让学生熟悉C语言开发环境,并结合简单的C语言程序,说明程序语句的输入、保存、调试、运行等步骤。让学生对于C语言开发环境形成初步的认识并掌握基本的操作方法;布置一个精简的C语言编程任务(输入程序代码),逐个检查学生们的实际操作结果,以此督促学生熟悉C语言开发环境,检验学习效果,为后续实验课程打下基础。在历年的实验教学过程中,我们发现很多非专业的学生对C语言学习兴趣不大的主要原因在于,他们在最初的学习过程中对编程工具不够熟悉,理论知识没有通过实验课及时地消化理解运用。通过实验老师的讲授与检查,我们应确保每一位同学掌握C语言的开发、编译、运行流程,奠定非专业学生学习C语言的基础。

2.2 实验老师与理论老师建立良好的沟通

我校C语言程序设计课程由理论教学和实验教学构成,同一个班级的理论教学老师和实验教学老师并不相同。在C语言实验教学过程中,为了恰当分配实验任务,实验老师和理论老师保持良好的沟通是非常有必要的。就同一个班级而言,实验指导老师可以经常和理论授课老师交流,将实验教学过程中发现的问题反馈给理论授课老师,同时,也可以询问理论授课老师的教学进度、关键知识点的掌握情况,等等。通过良好的沟通,实验指导老师可以及时了解学生当前的理论教学进度和学习情况,当理论教学进度与实验教学进度不一致时,实验教师可以对实验教学任务做出适当的调整,为学生提供与最近学习的理论知识点相对应的实验内容,让学生及时消化和吸收新的知识点和关键内容;如果学生对某些关键知识点普遍掌握不好,实验指导老师可以精选实验内容,加强该知识点的实践练习。例如,实验课程中老师发现同学们对于循环结构理解不够深入,运用也不够理想,出现“死循环”或者循环变量设置不正确。针对该情形,实验老师可以重点分析“while”、“for”和“do-whilel”循环结构,给出具体的程序实例,分析这三种循环结构的区别,循环次数和变量的变化,加强实践练习。另一方面,教师总结学生实验课程中出现的问题,形成实验文档和记录,反馈给理论授课老师,相互交流后,理论授课老师根据具体问题对授课内容进行调整。对此,学生反映很好,学习效果得到改善。

2.3 精选实验内容,合理分配实验任务

C语言程序设计实验教学老师应熟悉C语言程序设计实验教学内容和教学大纲,并根据每一次实验课时需要掌握的知识点,有侧重、有计划,由浅入深地准备实验内容。非计算机专业学生每个人学习C语言的能力和实际应用C语言能力不同。例如:有的学生接触计算机的时间较早,或者已经有一定编程基础;有的学生则是刚刚接触编程语言;有的轻理论重实践;有的重理论轻实践。实验教学老师应全面细致地观察学生,善于发现不同学生的特点,从而分配适宜的实验任务。具体的实施方法是:对实际应用能力较弱的学生,可以分配较容易,稍低于实验大纲要求的实验任务;对于理论知识掌握扎实,且实际编程能力较强的学生,则可以在实验教学要求的基础上,增强实验内容的难度和广度。这样做的优点在于,在有限的实验课时内,学生可以有效地完成实验任务,同时,促进和鼓舞学生学习C语言的兴趣;这样做既培养和提高了全体学生的C语言编程能力,又可以挖掘出小部分编程能力较强的学生。我们要多鼓励和辅助学生完成有一定难度的编程题,特别是对于一些算法名词,实验教学老师应当做出详尽的解释,并用配有图释的方法帮助学生透彻地理解算法名词的含义,让学生能够应用已学习的C语言知识独立完成编程题;对于同一个编程题,教师应鼓励学生给出多种不同的算法;当学生遇到难点的时候,实验老师应当尽量的给予提示,而不是直接给予结果。总而言之,实验老师在教学的过程中,要让学生在应用C语言的过程中体会编程的乐趣。

3 结语

为非计算机专业的学生开设C语言实验课程的目的就是要培养适应社会需求的,且具有实践能力和创新精神的新时代大学生。在现有的实验教学资源条件下,如何有效地实施教学方案、完成教学目标、培养具有实践能力的合格人才是C语言实验教学课程的首要任务。对于C语言实验教学课程,我们提出的改进方法在实际的教学实施过程中取得了良好的教学效果;同时,它对学生和老师也提出了更高的要求,我们要在教学实际中勤于探索、时时总结、不断改进,以明确的培养目标来选择教学内容,以具体的实际应用为教学导向[3],这样就能在教学实践中取得好的教学效果,提高学生的实践水平。

参考文献:

[1] 包贵鑫,向红波. C语言教学研究和实践[J]. 大众科技,2006(6):117.

[2] 孙晋非,管红杰. 在程序设计中培养学生钻研创新精神的探索[J]. 计算机教育,2010(4):1-3.

[3] 向琳,左德承,罗丹彦,等.“计算机设计与实践”课程创新实践教学探索[J]. 计算机教育,2007(3):16-18.

Improvement of the Experimental Teaching Pattern

for C Language Programming in Non-compute Specialties

PAN Lili, ZHONG Shaohong, JIANG Yu

(Computer and Information Engineering College, Central South University of Forestry and Technology, Changsha 410004, China)

Key words: C Language; programming; experimental teaching; education reform

(编辑:郭小明)

作者:潘丽丽 钟少宏 姜瑜

第2篇:基于趣味案例驱动的C语言实验教学设计

摘要:本文针对C语言程序课程教学难点多,语法规则多,学生编程兴趣不高等问题,提出基于趣味案例驱动的C语言课程实验教学设计,将枯燥的上机编程变成趣味游戏,同时打破以往的单人考核模式,以小组为单位进行实验考核。在充分发挥学生主观能动性的同时,激发了他们学习C语言的兴趣,教学效果良好。

关键词:趣味案例;上机编程;C语言

目前,国内的许多理工科高校非计算机专业的本科生在大学一年级都开设了高级程序语言设计的课程,其中C语言程序课程是众多高校首选的高级程序语言课程。由于C语言涉及的教学难点及规则很多,而且在实际编程的时候又相对非常灵活,很多大学新生在刚刚接触这门课的时候都会觉得课程有难度,需要记忆的知识点太多,普遍有畏惧心理[1-3]。即使课堂上理解了语法规则,但在遇到实际问题时候又无从下手。再加上配套的教材上机操作更偏向于语法规则的使用,程序过于抽象,趣味性不强,很多同学在课程进行到后半程的时候就对C语言失去了信心。如何在有限的教学时间里,提高教学质量,培养学生们对C语言的编程兴趣,这些成为我们在教学中亟待需要解决的问题。笔者于2010年下半年在所在的学院(电子科技大学自动化工程学院)开始讲授C语言程序设计。授课对象是大学一年级新生。课程以谭浩强的《C语言程序设计》第三版作为教材,理论课时为20学时,上机学时为12学时。由于教学时间非常有限,如何最大限度的提高教学水平,培养学生们学习C语言的兴趣,成为我首先要解决的问题。通过课堂内外的调研和学生们的沟通,发现学生们本身还是对这门课抱有很大的兴趣,关键是方法不得当,再加上上机时间非常有限,很多知识点来不及消化吸收。为了在12个学时的上机时间里让同学们更好的理解知识点,同时增加课堂编程的趣味性,我针对教学难点和重点内容设计了五大趣味案例,通过由浅及深,逐步递进的方式培养了同学们对C语言编程的兴趣,提高同学们的实际编程水平。使课程学习由被动的接受知识变成主动地探索。

一、趣味案例教学实验设计

笔者设计的五大趣味案例分别对应C语言中的顺序结构编程、选择结构编程、循环结构编程、函数编程、数组编程这五大知识点[4]。其中函数编程及数组编程又分别设计了不同难易级别的实验内容。

案例1:计算定期存款本利之和。实验目的:掌握顺序结构编程,scanf语句和printf语句的使用。

实验内容:给定银行定期存款的年利率rate值,以一年期为例rate=3.25%。再给定要存款的年限n年。由键盘输入本金capital值,通过编程计算得到存n年以后本利之和deposit。计算本利之后的公式如下:deposit=capital*(1+3%)n。实验难度:低。

案例2:身高预测。实验目的:掌握选择结构编程if else语句的使用。实验内容:已知faHight为父亲身高,moHight为母亲身高,根据身高预测公式计算得到成人后的身高:男性成人时身高=(faHight+moHight)*0.54cm;女性成人时身高=(faHight*0.923+moHight)/2cm。如果喜欢体育锻炼,那么可增加身高2%;如果有良好的卫生饮食系统,那么可增加身高1.5%。编程从键盘输入用户的性别(用一个字符变量存储性别,键盘输入F代表女性,输入M代表男性);是否喜欢体育锻炼(输入Y代表喜欢,输入N代表不喜欢);是否有良好的饮食习惯(输入Y代表好习惯,输入N代表坏习惯)。利用给定的公式进行男女身高预测。实验难度:中。

案例3:猜数游戏。实验目的:掌握循环结构编程,包括while循环,for循环。实验内容:本实验主要利用计算机产生随机数,然后由操作者进行猜测。实验难度由浅及深,通过提示语句帮助操作者进行猜数。要求每次运行程序电脑给出的数据都不能一样。

实验一。由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示,否则给出错误的提示,并提示所猜的数是猜大了还是猜小了,然后结束游戏。实验难度:低。

实验二。由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示和猜测的总次数,然后退出游戏。否则给出错误的提示,并提示所猜的数是猜大了还是猜小了,直到猜对数据才结束游戏。实验难度:中。

实验三。由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示和猜测的总次数,然后退出游戏。否则给出错误的提示,并提示所猜的数和正确值之间的大小关系(即猜大了还是猜小了)。游戏最多可以猜测10次,如果10次之内仍未猜中的话就退出。实验难度:高。

案例4:小学数学运算自动出题机。实验目的:掌握函数编程。实验内容:编写程序实现由计算机随机给出几道小学数学运算题,并判断对错,给出最后的成绩。实验分两部分,先实现简单的加法出题,在这个程序的基础上实现小学数学四则运算出题。

实验一。由计算机随机出10道100以内的加法计算题,其中每道题里的加数由电脑随机产生。如果输入的答案正确,则给出正确提示,否则给出错误提示。10道题做完以后,按每做对一道题给10分计算最后的得分。实验难度:中。

实验二。由计算机随机出10道100以内的四则计算题,其中每道题里的两个操作数由电脑随机产生。如果输入的答案正确,则给出正确提示,否则给出错误提示。10道题做完以后,按每做对一道题给10分给出最后的得分。实验难度:高。

案例5:教学评估调查打分。实验目的:掌握数组编程。实验内容:在高校教学中,经常需要学生们为自己的老师进行教学质量打分,从而了解这个老师的教学水平。本实验中假设有10个同学给老师的教学质量进行打分,其中教学质量有5个指标,要求每个同学要分别给这5个指标打分(百分制)。最后计算每项指标的平均成绩,以及最终的教学评价分(即5项指标的平均分)。提示利用一个二维数组来实现这个程序。其中数组的每一行代表一个学生的打分,数组的每一列代表10个学生对某一项指标的打分。难度:中。

上面5个案例基本覆盖了教学大纲的主要内容,同学们普遍反映难度适中,尤其是一些游戏案例的设计大大激发了同学们编程的兴趣。许多同学不满足已有的编程难度,在完成课堂要求的基础上自己又增加了一些难度,极大提高了他们编程的信心。例如案例5中原本是让同学们利用数组进行编程,有些同学在完成了数组编程以后,利用指针编程又实现了一遍程序。通过这些有趣的实际编程案例训练,同学们在游戏中掌握了编程的技巧和方法,很多人对C语言程度设计不再感到畏惧。

二、实验教学的具体实施

在实验教学环节,不再以个人为单位,而是采用以小组为单位完成整个实验。每个小组人数控制在2~3人,每个人有固定的分工。最终提交的实验报告由四部分组成,第一部分为程序分析。每次上机课前,先将上机的题目告知同学们,同学们再根据实验的内容,进行程序分析,然后画出程序流程图。第二部分为代码编写。根据程序流程图,编写具体的代码。这两部分应该在上机之前完成。第三部分,程序测试。根据第二部分的代码进行上机验证及结果测试,并给出最后的测试结果。第四部分,实验总结。将整个上机编程及调试过程中出现的问题进行总结分析,从而更好的进行下一次实验。以小组为单位提交报告避免了以前个别同学抄袭别人报告的现象。每个人作为小组的成员,都有分工,同时通过小组同学之间的讨论和协作,提高了他们学习C语言的主动性,同时也锻炼了同学们团队协作的能力。

笔者在C语言程序语言教学实践中根据学生的实际情况,结合教学大纲设计了5个专题的实验案例,并以小组为单位进行实验的考核。经过教学检验,学生们普遍反映教学效果良好,通过实验教学环节加深了他们对C语言的语法规则的理解,并锻炼了他们的编程能力。笔者希望,这5个专题案例能给从事高级编程语言教学的老师提供启发,设计出更多、更好的趣味性教学案例,从而提高教学质量。

参考文献:

[1]孙克泉.计算机语言类课程的教学探讨[J].计算机教育,2008,(16):103-104.

[2]何钦铭,颜晖.“C程序设计基础及实验”国家精品课程的建设经验[J].计算机教育,2008,(19):28-31.

[3]刘鑫,杨春燕.浅谈《C语言程序设计》教学方法[J].长春理工大学学报(高教版),2009,4(11):100-101.

[4]苏小红,孙志刚.C程序大学实用教程学习指导[M].北京:电子工业出版社,2007.

作者:于力

第3篇:PBL教学法在C程序设计实验课教学改革中的应用

摘要: 传统的C程序设计实验教学以验证为主,很难激发学生的学习兴趣,也不利于培养学生的学习主动性。针对这一问题,将PBL教学法应用于我院的C程序设计实验教学中,强调以“问题”为中心,以学生自学为主。近一年的实践证明,此次教学改革是科学有效的。

关键词:C程序设计;PBL教学法;教学改革

C程序设计是我院影像工程专业的一门专业基础课,在我国高校中已经开设多年,教学体系和教学内容已经相当完备,是一门非常成熟的课程。C程序设计课在设置上分为两部分,即理论教学和实验教学。在多数高校的计算机专业中,教师基本上采用理论课上精讲语法及例题,实验课上做验证操作及熟练语句,多年的教学实践证明效果还不错。但是同样的方法应用于我院的C程序设计教学中效果却不是很好。其主要原因有以下3个方面。

1)我院的C程序设计课时相对较少,只有其他院校的三分之二左右。2)医学生计算机相关基础知识储备不足,对计算机课程兴趣不足,甚至存在恐惧心理。3)医学生课程压力过重,学生主观上更倾向于医学专业课程的学习。

对上述原因进行认真仔细的分析后,笔者进行了大量的教学改革实验,最终发现,从实验课入手进行改革是最切实有效的。实验教学是计算机教学的一个关键环节,它可以培养学生发现、分析和解决问题的能力以及动手能力,对于学生综合素质的提高、创新能力的培养,起到了不可替代的作用[1]。

传统的计算机实验教学模式,特别重视验证环节,这不利于调动学生学习的主动性和积极性,有的学生甚至把上机实验作为“打字课”,实验操作达不到预期的教学效果。为了充分调动学生的学习主动性,我们采用了“PBL教学法”,摒弃“填鸭式”教学,不再以“教师为中心”,而是主动让位于学生。让“问题”来驱动学生,激发学生的学习兴趣,让学生变被动学习为主动学习。此时的教师不再是滔滔不

绝的灌输者,而是启发者、解惑者。近一年的实践证明,在我院的C程序设计实验课中“PBL”教学法明显优于传统的教学方法,此次教学改革是成功的。

1PBL教学法简介

PBL的全称是“Problem - Based Learning”,直译为“以问题为基础的学习”。1969年美国的神经病学教授Barrows在加拿大的麦克马斯特大学创立了PBL教学模式,实施学生自学与导师指导相结合的小组教学法[2]。此种教学方法与传统的以“授课”为基础的教学方法,在设计理念、实施方法、评价方法、最终效果上有很大的不同。PBL教学法经过40多年的发展和完善,现已在国外的医学院校中大规模应用[3]。国内一些重点院校也在大多数的医学课程中采用此教学法,但是在非医学课程中该教学法的应用相对较少,所以,笔者对此进行了大胆的尝试和探索。

2PBL教学法在C程序设计实验课中的应用过程

2.1准备阶段

任何教学方法都要依赖于学生的配合,因为学生才是学习的主体。在实验课开课前教师先向学生介绍PBL教学法,让学生了解教学流程以及教学改革的目的,打消学生的抵触心理。实验分组是PBL实施的必经之路,笔者查阅的资料中大多教师采用随机或按学号分组的方法,但此种分法不够细致。因为现在学生的个性非常强,同学之间确实存在“合不来”的情况,如果非要把这样的同学分到一组势必影响学习效果。另外,教师还要考虑小组成员的学习成绩及自学能力,要做到合理分布,不要一组实力很强,一组实力很弱,这会使正常的讨论难以进行。根据以上原则,我们采用学生自愿报名和老师调配相结合的分组方法。考虑到实验室的实际条件,我们最终将学生分为6人一组,每组自选出一个组长和记录员。组长负责整个小组的组织协调工作,以及与教师之间的联系。记录员负责记录每次讨论的时间、内容、组织发言情况等。

除了针对学生要做相应准备以外,实验教师也要做足功课[4]。PBL教学法和传统教学法区别很大,学生随时可能提出各种各样的问题,这就需要教师对实验相关内容非常熟练。在指导学生的同时,教师也会受到学生的启发,不断提高自己的业务水平,更新提高理论知识,最终让教师自身实现终身学习。

2.2实验题目的设计

任何教学活动都应首先明确教学目的及目标。根据我院影工专业学生的实际情况及教学大纲的要求,我们的教学目标就是让学生能够熟练编写一些简单程序,能够用C语言编程解决一些简单的实际问题。在教学大纲的指导下我们将实验内容分为3个层次:“基础验证-模仿应用-综合应用”。这3个层次的内容并不是简单地按照课时顺序排列,而是每次实验都由这3个层次内容构成,这种设计思路使我们的实验教学真正做到了由浅入深、循序渐进。

既然PBL是“以问题为基础的学习”,那么“问题”设计的好坏就成为影响教学效果的关键。在实验题目的选择上我们没有照搬照抄书上或网上的经典例程,因为笔者通过对往届学生的调查得知,由于知识储备不足、思维方式不同等原因,学生对我们常用的经典例程并不感兴趣(比如:百钱买百鸡、猴子吃桃等)。有的同学甚至很难理解解题的数学原理,更别说用程序去解决问题了。“兴趣是最好的老师”,为了让学生能够对例程产生兴趣,进而对编程产生兴趣并建立编程思维,我们将一些经典例程做了改动。例如:针对选择结构程序设计的传统例程,求分段函数的值,要求输入不同的X值得出相应的Y值。这样的例程,医学生做起来会感觉和自己以后的工作没有任何联系,所以不感兴趣。因此,我们将它改成输入一个血糖值,输出相应的诊断结果。按照这种思路,我们将所有的题目进行了和医学知识相关的改动。不要小瞧这样小小的改动,实践证明它大大提高了学生学习的积极性和主动性,进一步明确了学习目标。

不采用经典例程其实还有一点好处,就是能够有效防止学生抄袭网上或书上的答案。自编例程要耗费教师大量的时间和精力,但这也是教师提高个人专业素质的绝佳机会。经过近一年的教学实践,我们建立了自己的实验项目库并不断改进、完善。

2.3PBL教学法的执行及考核方法

针对医学生课程压力过重的情况,我们没有占用课外时间开题,而是将学时进行了合理的分配。我院的C程序设计实验课共16学时,我们将这16学时分成3部分:前两学时为引导课,3-14学时为PBL教学法应用课,最后两学时为现场编程考核课。

引导课采用传统教学法,由教师讲解Turbo C2.0集成环境的使用方法及上机操作应该注意的问题。这一部分不适合用PBL教学法,也没有让学生自学的必要,而是要用最短时间让学生学会编程工具。

3-14学时的PBL教学法应用课,是我们这次教改的核心部分。我们将一节课分成4部分:上机验证、学生讲解、教师点评、布置作业。

1) 布置作业。在上节课结束时,布置下一节课的实验题目,3~4学时的题目在引导课的最后给出。教师结合理论课进度,设计出贴近知识点、难度和规模适中的题目6~8个,学生小组自主选择,选择题目后学生自己利用课余时间,上网或者到图书馆查阅资料自主学习。为了防止学生应付,我们规定每周三为学生的定期讨论时间,小组每个成员必须参加,由小组的记录员负责记录整个讨论过程及发言情况,期末统一交回,并作为实验成绩考核的一部分。为了实时了解学生的学习情况,我们把周四定为教师指导日。学生如果遇到自查资料都难以解决的问题,可以向教师求助,由教师进行指导。

2) 上机验证。每节课的前20分钟为学生的上机验证时间,学生以小组为单位对自己的实验题目进行上机调试验证,如果遇到问题可以进行再讨论或向教师求助。

3) 学生讲解。在验证程序的正确性后,教师开始安排各小组讲解自己的题目。每个小组选一名组员(为了让所有组员都得到锻练,规定每次课必须换人)讲解编程思路、相关知识要点、编程时遇到的问题以及如何解决等。讲解完成后,如果其他小组成员有疑问,可以提问,对有共性的问题开展组间讨论。

4) 教师点评。通过学生讲解,同学们已经对相应题目有了一定的认识,这时由教师对各个小组的讲解进行点评,当然,这种点评不是简单的将题目重新讲一遍,而是针对教学重点、难点以及同学们没有阐述清楚的问题,做相应理论知识的提升,起到“画龙点睛”的作用。

应用PBL教学法的课程考核与传统教学法不一样,以往我们采用“一考定成绩”的方法。这次课改我们采用“平时+一考”的方法。所谓“平时”就是教师根据各小组的讨论记录本,以及学生课上的发言情况给出的成绩。“一考”就是在课程的最后两学时,教师现场出题让学生编程,测试学生的实际编程能力。这两部分在最终的实验课成绩中所占比例分别为80%和20%。

3PBL教学效果与评价

我院2007级影工专业共4个班,我们随机抽取其中的两个班作为PBL教学法实验班。经过一学期的实验,我们得出的结论是:实验班的同学在自学能力、编程思维、团队协作等方面均优于普通班学生。特别是实验课最后的现场编程环节,最能体现出学生的编程综合素质。实验班的同学有87%能够完成题目,而普通班只有65%能够完成另外,理论课考试成绩也有差异,统计情况如表1所示。

当然,评价一种新教学法的好坏不能只看成绩,还要了解学生学习的感受,所以我们对实验班的62位同学进行了不记名问卷调查。问卷调查的项目及统计结果如表2所示。

4结语

“实践是检验真理的唯一标准”,任何教学改革活动都需要用教学实践来改进和完善。经过近一年的教学改革实践活动,我们得出的结论是:PBL教学法适合我院的C程序设计实验课。此教学法明显优于传统教学方法,其主要优点是能够提高学生的学习兴趣、培养学生的自学能力及表达能力,让学生学会与人沟通协作、增强团队意识、促进教师的知识更新。任何改革都不可能一蹴而就,我们也遇到了很多问题,比如实验室开放条件不足、实验教师经验不足、教师角色转换不适应以及部分学生不配合。这些问题都需要我们在以后的教学工作中去解决和完善。

参考文献:

[1] 蒋志平,李俊霞. 应用型本科院校计算机实验教学改革探索[J]. 计算机教育,2009(20):131-133.

[2] 李泽生,冼利青. 麦克玛斯特大学问题学习法[J]. 复旦教育论坛,2003,1(3):85-88.

[3] 侯振江,王娇,祁秀玲. PBL教学模式在我国医学教育应用中的现状分析[J]. 医学信息,2010:23-26.

[4] 崔炳权,李春梅,何震宇,等. PBL教学法在生物化学实验课教学中应用的探索[J]. 中国高等医学教育,2007(1):7-8.

[5] 邓松,何火娇,彭莹琼. C语言教学改革探讨[J]. 计算机教育,2008(16):55-56.

Application of PBL in the Reformation of C Programming Experiment

XU Yi-qiu, WANG Li-wei, WANG Hai-bo

(Mudanjiang Medical UniversityEducational Technology and Information Center Computer StaffRoom, Mudanjiang 157009, China)

Key words: C Programming; PBL; teaching reforms

(编辑:郭小明)

作者:徐一秋,王立伟,王海波

第4篇:C程序设计实验报告

浙江理工大学信息学院

C程序设计实验报告

实验名称: 学时安排:

实验类别:

实验要求:1人1组

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

一、实验目的

二、实验设备介绍

软件需求: Visual C++ 6.0或CFree3.5以上版本

硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容

四、程序清单

五、运行结果

六、实验心得

第5篇:C程序设计实验报告

实验名称:指针与数组学时安排:2课时 实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

一、实验目的

1. 理解指针、地址和数组间的关系;

2. 掌握通过指针操作数组元素的方法;

3. 掌握数组名作为参数的编程方式。

二、实验设备介绍

软件需求: Visual C++ 6.0或CFree3.5以上版本

硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容

1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。示例如下: After sorted the array is: -9 -6 1 2 4 5

2. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。参数n代表数组list中元素的数量。

3. 改正程序error08_1.cpp中的错误。该程序实现功能,有n个整数,使前面各数顺序循环移动m个位置(m

要求先读该源程序,并理解其中的算法。然后把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。

注释示例如下:

int i;/*循环控制变量不能定义为double类型*/

提示:这是一个双重循环问题,内循环进行循环移位,外循环确定后移的位置。

4. 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。要求用指针来操作数组。输入输出示例如下: 第 1 页 共 5 页

Last No. is: 4

提示:可以把编号存在一个数组中,报到3的人赋值为0表示退出。可以另外定义两个变量,一个用来记录退出的人数,到n-1即结束,另外一个用来报数。

四、程序清单

第一题

#include

void swap(int *,int*);

void sort(int a[],int n);

void main()

{

int i,n,a[8];

printf("Input n:");

scanf("%d",&n);

printf("Input array of %d integers: ",n);

for(i=0;i

scanf("%d",&a[i]);

sort(a,n);

printf("After sorted the array is:");

for(i=0;i

printf("%3d",a[i]);

printf(" ");

}

void sort(int a[],int n)

{

int i,j,index;

for(i=0;i

{

index=i;

for(j=i+1;j

if(a[j]

index=j;

swap(&a[i],&a[index]);

}

}

void swap(int *px,int *py)

{

int t;

t=*px;

*px=*py;

*py=t;

}

第二题

#include

int search(int list[],int n,int x);

void main()

{

int i,x,result,a[10];

printf("Enter a[0]-a[9]:");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

printf("Enter x:");

scanf("%d",&x);

result=search(a,10,x);

if(result==-1)

printf("Not found! ");

else

printf("The position is %d ",result);

return 0;

}

int search(int list[],int n,int x)

{

int i,result=-1;

for(i=0;i

if(list[i]==x)

{

result=i;

break;

}

return result;

}

第三题

#include

void mov(int *, int, int);

int main()

{

int m, n, i, a[80], *p;

printf("Input n, m:");

scanf("%d%d",&n,&m);

printf("Input array of 5 int55egers:");

for(p=a,i=0;i

scanf("%d",p++);// p本身可取地址

mov(a,n,m);

printf("After moved the array is:");

for(i=0;i

printf("%5d",a[i]);

printf(" ");

return 0;

}

void mov(int *x, int n, int m)

{

int i,j,t;

for(i=0;i

{

t=x[n-1];/*保存最后位置的元素值*/

for(j=n-1;j>0;j--)/*从倒数第二个元素开始,每个元素向后一个位置 */

x[j]=x[j-1];/* 调试时设置断点 */

x[0]=t;/*将保存的最后元素值放在最前面*/

}

}

第四题

#include

int main()

{

int i,j,n,t,count,a[10000];

printf("Input n:");

scanf("%d",&n);

for(i=0;i<=n;i++)

a[i]=i;

count=0;

i=1;

j=0;

while(count

{

if(i>n)

i=1;

if(a[i]!=0)

j++;

if(j==3)

{

t=i;

a[i]=0;

j=0;

count++;

}

i++;

}

printf("Last No. is:%d ",t);

return 0;

}

五、运行结果

六、实验心得

1、 C中数组名即是数组中首元素(下标为0的元素)的地址。注意:这不包括形参数组名,因为形参数组名并不占据实际的内存单元。它只是指向其它数组首地址的指针。

2、 数组名(比如a)代表数组首元素的地址,它是一个指针常量,在程序中不能改变它的值。例如:a++是非法的。。

3、 实参数实参数组名代表一个固定的地址,或者说是指针常量。但形参数组并不是一个固定的地址,而是作为指针变量,它的值是可以改变的。在函数调用开始时,它的值等于实参数组首元素的地址,在函数执行期间,它可以再被赋值。

4、指向数组的指针变量也可以带下标,如:p[i]与*(p+i)等价。*(p+i)与*(a+i)等价。

5、 当实参是数组名时,传递的是该数组首元素的地址,即是一个指针。

第6篇:C语言程序设计实验

(二)

[实验1]

1.实验题目

下列各题的算法用传统流程图及N-S流程图两种方式表示:

(1)输出图形(顺序结构)

★★★★★★★★

★★★★★★★★

★★★★★★★★

★★★★★★★★

(2)判断用户输入的字符是数字字符、字母字符还是其它字符。(选择结构)

(3)运用循环结构打印如下图形(for循环结构)。

◆◆◆

◆◆◆◆◆

◆◆◆◆◆◆◆

◆◆◆◆◆◆◆◆◆

(4)输入任意数N,求P的值 (P=N!)(当型循环结构)

(5)输出1~N间20个不能被3整除的数列(直到型循环结构)

(6)计算并打印九九表。(直到型循环结构)

2.实验目标

(1)熟练掌握流程图表示算法的方法。

(2)熟练掌握结构化程序设计的三种基本结构。

[实验2] 变量的变化情况。

1.实验题目

有以下程序

#include

#definea 3*2+1

#defineA a*a+a

#defineb (3*2+1)

#defineB (b)*(b)+(b)

main()

{

int x1,x2;

int y1,y2;

x1=a*a;

y1=A*A;

x2=b*b;

y2=B*B;//换为y2=(A)*(A)结果是否相同

printf("x=%d y=%d ",x1,y1);

printf("x=%d y=%d ",x2,y2);

}用逐行断点测试方法,体会程序运行时各变量值的变化情况。

2.实验要求

(1)在上机实验之前先将每执行一条语句后变量x

1、x2和y

1、y2的预期结果写在相应语句旁。

(2)设置4个监视项x

1、x2和y

1、y2,断点逐行测试执行程序。

(3)每执行一条语句后,对比Watch窗口中变量x

1、x2和y

1、y2的值与预期的值是否一致,若不一致,请解释原因。

(4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?

(5)运行结束后查看输出结果,确认该结果是否与预期的值一致。

3.实验目标

(1)宏定义的正确定义。

(2)宏定义的正确使用。

第7篇:C语言程序设计实验九

C语言程序设计实验九——字符数组

【实验题目1】

写几个函数:(1)输入10个职工的姓名和职工号;

(2)按职工号由小到大排序,姓名顺序也随之调整;

(3)要求输入一个职工号,找出该职工的姓名。

从主函数输入要查找的职工号,输出该职工姓名。

【实验题目2】有一行电文,已经按下面规律译成密码:

A → Za → z

B → Yb → y

C → Xc → x

即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。

第8篇:C语言程序设计实验安排

C语言实验指导

实验一 顺序结构程序设计(2学时)

一、实验目的

熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。掌握顺序结构程序设计的基本思想和基本方法。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容:

⑴ 程序功能描述。

⑵ 程序版本号、创作日期。

⑶ 作者信息描述:班级、学号、姓名。

⑷ 问题分析描述。

⑸ 算法设计描述。

⑹ 关键语句注释说明。

⑺ 调试运行过程中出现的错误及改正方法。

⑻ 输入数据样例。

⑼ 输出数据样例。

三、实验内容

以下两题,任选其一解答。

你知道淄博到北京的地面距离是多少千米吗,淄博到纽约的地面距离又是多少千米呢?说不上来了吧。还是让我们编一个程序来计算一下吧。

1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。

输入数据样例:例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:30 10 50

参考测试数据:

输入:0 0 180 输出:20015.08

输入:30 0 90 输出:8397.7

2输入:60 0 45 输出:2453.20

2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。

提示:球面上两点之间的最短距离,等于过这两点以球心为圆心的圆上,这两点之间劣弧的长度。(即这两点与球心之间的连线构成的夹角所对球面劣弧的长度)。

建议你自己一步步推导出公式,而不要照搬网上的现成公式。

四、常见问题

疑问1:这分明是两道数学题啊,能否将数学公式提供给我们呢,我们的主要任务不是编写程序吗?

答:建立数学模型也是编程序的一部分。学会分析解决现实中遇到的问题,是我们学习的重要目标。

疑问2:这个问题好像属于球面几何的范畴,用平面几何可以求解吗?

答:这个问题的确涉及到球面几何,但是也的确可以利用投影以及平面几何方法来求解。

实验二 选择结构程序设计(2学时)

一、 实验目的

掌握选择结构程序设计的一般方法及选择结构程序的调试方法。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容:

⑴程序功能描述。

⑵程序版本号、创作日期。

⑶作者信息描述:班级、学号、姓名。

⑷问题分析描述。

⑸算法设计描述。

⑹关键语句注释说明。

⑺调试运行过程中出现的错误及改正方法。

⑻输入数据样例。

⑼输出数据样例。

三、实验内容

你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。那么,不查万年历你能计算出来吗?

以下两题,任选其一解答。

1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星期几。

2.编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。

四、常见问题

疑问1:闰年的规律是不是四年一闰?

答:四年一闰是儒略历(儒略也就是凯撒大帝)的置闰规则。我们现在使用的是格里高利历,置闰规则是每400年97闰。

疑问2:公元1年1月1日是星期几呢?

答:星期一。

疑问3:据说从儒略历改为格里高利历时,将1582年10月4日的下一天定为格里高利历的10月15日,中间销去了10天,这会不会影响星期几的计算?

答:这个调整是对儒略历误差的纠正,并不会影响总天数和星期几的计算。

疑问4:这里计算总天数,好像要用到循环程序吧?

答:其实根据闰年的置闰规则,不使用循环也可以计算出来总天数。当然,你想使用循环编写该程序也是可以的。

实验三 循环结构程序设计(2学时)

一、实验目的

掌握循环结构程序设计的一般方法及循环结构程序的调试方法。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容:

⑴程序功能描述。

⑵程序版本号、创作日期。

⑶作者信息描述:班级、学号、姓名。

⑷问题分析描述。

⑸算法设计描述。

⑹关键语句注释说明。

⑺调试运行过程中出现的错误及改正方法。

⑻输入数据样例。

⑼输出数据样例。

三、实验内容

以下两题,任选其一解答。

1. 海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款60万元购买了一套三居室 。若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。

2. 若还款方式采用等额本息还款法(即贷款期限内每期以相等的额度偿还贷款本息,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。

四、常见问题

疑问1:等额本息还款法每个月的还款额怎么计算,应该有个公式吧,要不然怎么计算出来每个月应还的利息与本金?

答:的确有一个计算公式。当然你可以自己推导出来(这样你会很有成就感!),要不然就从网上搜索出来。

实验四 循环程序综合应用(4学时)

一、实验目的:

掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容:

⑴程序功能描述。

⑵程序版本号、创作日期。

⑶作者信息描述:班级、学号、姓名。

⑷问题分析描述。

⑸算法设计描述。

⑹关键语句注释说明。

⑺调试运行过程中出现的错误及改正方法。

⑻输入数据样例。

⑼输出数据样例。

三、实验内容

以下两题,任选其一解答。

1.编程序实现如下功能:输入任意一个年份和月份,按以下格式输出该月份的公历日历。

要求由程序计算出来该月份的1日是星期几,并用循环控制打印。 打印样例如下:

2012年日历

==========

9月

--------- 日 一 二 三 四 五 六

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -------------------------

2.编程序实现如下功能:输入任意一个年份,按以下格式输出该年份全年的公历日历。 要求由程序计算出来每个月份的1日是星期几,并用循环控制打印。

四、常见问题

疑问1:如何控制某个月1日的打印位置?

答:先由程序计算出来该月份的1日是星期几,然后控制在打印“1”之前打印相应个数的空格。

疑问2:如何控制每周和每月的打印换行?

答:可以根据当前这一天的打印位置控制每周的打印换行,并根据该月份的天数控制每月的打印换行。

实验五 字符串处理综合应用(4学时)

一、实验目的

掌握字符串处理的一般方法及字符串处理应用程序的调试方法,能够综合运用选择、循环结构和数组、指针解决一般难度的实际应用问题。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容: ⑴程序功能描述。

⑵程序版本号、创作日期。

⑶作者信息描述:班级、学号、姓名。

⑷问题分析描述。

⑸算法设计描述。

⑹关键语句注释说明。

⑺调试运行过程中出现的错误及改正方法。

⑻输入数据样例。

⑼输出数据样例。

三、实验内容

以下两题,任选其一解答。

1.编程实现,输入一个整数的小写金额值(即不考虑角和分),转化为大写金额值并输出。先实现基本功能,如输入1002300,可以输出“壹佰零拾零万贰仟叁佰零拾零元整”。

2.编程实现,输入一个小写金额值,转化为大写金额值输出。要求实现相对完善的功能,如输入1002300.90,应该输出“壹佰万贰仟叁佰元零玖角整”。

四、常见问题

疑问1:如何才能分离出整数中的每一位数字?

答:可以利用整数的求余数和除法运算实现数字的分离,同时将分离出的数字存入到一个事先定义好的数组中,每个数组元素只存储一位数字。

疑问2:若不能确定整数的实际位数,如何控制分离过程?

答:可以通过循环控制数字的分离过程,每循环一次分离出来当前的最末一位,然后去掉最末一位,直至分离出所有的位。

疑问3:如何控制给某位数字添加合适的数量单位,如万、仟、佰、拾、元?

答:可以根据该数字在原小写数值中的位置进行控制,如第0位单位为“元”,第1位单位为“拾”,依此类推。

实验六 文件应用程序设计(2学时)

一、实验目的

掌握文件应用程序设计的一般方法及其调试方法。

二、实验要求

1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。 2. 在VC运行环境下,编辑录入源程序。

3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。 4. 掌握如何根据出错信息查找语法错误。

5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。

6. 源程序注释信息可以包括以下几方面内容:

⑴程序功能描述。

⑵程序版本号、创作日期。

⑶作者信息描述:班级、学号、姓名。

⑷问题分析描述。

⑸算法设计描述。

⑹关键语句注释说明。

⑺调试运行过程中出现的错误及改正方法。

⑻输入数据样例。

⑼输出数据样例。

三、实验内容

以下两题,任选其一解答。

1. 海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款60万元购买了一套三居室 。若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。要求将输出结果写入到数据文件中。

2. 若还款方式采用等额本息还款法(即贷款期限内每期以相等的额度偿还贷款本息,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。要求将输出结果写入到数据文件中。

第9篇:C语言程序设计上机实验报告

黔南民族师范学院 C语言程序设计上机实验报告

系部:计算机科学系 年级:2013 级 班级:

姓名:

学号:

实验时间:

实验成绩:

2013年月日

实验三顺序结构程序的设计

一 实验名称:顺序结构程序的设计

二.实验环境:windows XP系统,VC++6.0软件

三.实验目的:

四.实验内容:

五.算法描述流程图

六.源程序

七.测试数据及运行结果

八.实验心得

实验成绩评分要求

1、原创性发现抄袭或雷同成绩为0分

2、正确性程序正确60分

3、可读性格式清楚,有注释,变量命名规范20分

4、健壮性对特殊测试数据有考虑有测试10分

5、效率程序运行效率高10分

上一篇:宜商资讯深圳宜春商会下一篇:新疆传统民俗文化