c语言实验报告一

2024-05-06

c语言实验报告一(精选6篇)

篇1:c语言实验报告一

华北水利水电大学C语言程序设计实验报告 2013--2014学年第二学期级专业班级:学号 :

一、实验题目:顺序结构

二、实验目的:(略)

三、实验内容

1.程序验证(略)

2.程序设计

1)编写程序,已知圆半径radius=1.25,求圆周长和面积。

源代码:运行结果:

2)编写程序完成单个字母的大小写转换。

源代码:运行结果:

3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。

源代码:运行结果:

篇2:c语言实验报告一

实验二 循环结构程序设计

班级 2012196 学号 201219628 姓名 李明月

一、实验目的

(1)掌握用while语句,do-while语句和for语句实现循环的方法;(2)掌握循环结构的嵌套;

(3)掌握break语句和continue语句的使用方法。

二、实验内容及步骤

1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。国王能兑现他的许诺吗?

程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:sum=1+2+22+23+„+263 程序代码:

#include int main()//定义一个主函数 { int i;double t=1,sum=1,v;//定义变量

for(i=1;i<=63;i++)//用for循环语句实现循环运算 { t=t*2;sum+=t;//循环表达式 } printf(“总麦粒数为:%fn”,sum);v=sum/1.42e8;printf(“折合体积为: %f立方米n”,v);//对结果进行输出

return 0;} 运行结果:

2.求完数。

程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);

程序代码:

#include int main(){ int i,j,sum,n=0;printf(“ 1000以内的完数有:n”);for(i=1;i<=1000;i++){

sum=0;for(j=1;j

if(i%j==0)

{

sum=sum+j;

} } if(sum==i)

{ printf(“ %d”,i);

n=n+1;

if(n%2==0)

printf(“n”);

} } printf(“n”);return 0;} 运行结果:

3.打印九九乘法表

程序3:编程输出如下上三角形式的九九乘法表。2 3 4 5 6 7 8 9-------n“);for(i=1;i<10;i++)//i { for(j=1;j<=i;j++)// printf(” “);for(j=i;j<10;j++)//j printf(”%-2d “,i*j);// printf(”n“);}

代表行 输出空格达到来使得向右对齐代表列

输出行与列的乘积 3 1 2 3 4 5 6 7 8 9

运行结果:

三、问题讨论

break语句和continue语句在循环结构中使用时有何区别?举例说明。

break语句是跳出整个循环过程,不再判断执行循环的田间是否成立,并且break语句不能用于循环语句和switch语句之外的任何其他语句中。而continue语句则只是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

例子:

#include int main(){ int i;for(i=100;i<=200;i++){ if(i%3==0)continue;

printf(”%d“,i);} printf(”n");return 0;} 输出:

但是换成break之后:

四、实验心得

篇3:浅论C语言实验教学改革

C语言因其丰富的功能、具有良好使用的灵活性,可移植性好,特别在嵌入式系统开发方面,C语言体现了自身的优势。本人认为将“C语言”作为计算机专业学生学习程序设计的人门课程,旨在让学生掌握基本的程序设计方法,培养学生逻辑思维能力,最终达到他们能够利用C语言来解决一些问题。传统教学过程中却存在很多问题,比如概念不能充分理解;知识结构不完善;动手能力差,写出的程序多数是从课本例题模仿而来,代码中无法体现个性化的思想,更别说涉及到软件开发;以上问题是笔者从事几年的C语言教学总结而来,特别是结合自己在实验教学方面的实践经验,提出了一些解决的方法和建议。

2 C语言实验教学中存在的几个问题

1)对实验教学认识有误区。很多学校把实验课视为理论课的附属,没有将实验教学单独开课,没有单独配备相应的硬件资源(实验室)和软件资源(实验教师),甚至实验课的课时只有理论课课时的一半。C语言是一门应用性非常强的课程,归根到底要培养学生的综合编程能力!试想,作为入门语言,编程语言对于学生来说是陌生的,2课时的理论课,可以给学生讲授3-4个比较重要的知识点,而实验教学如果只配备1个学时,单单是4个重要的知识点的验证恐怕时间都不够,更别说让学生去设计实验,来进一步理解所学的知识,能够真正地将课本上的知识转化为自己掌握的一种技能。

2)实验教学的课堂内容设置不合理,无法达到实验教学的真正目的。由于某些教师精力有限,没有专门针对理论教学的进度以及内容,对实验课的内容进行认真的设计和反复的修改。导致学生在实验课上试验内容与理论课内容错位,使得学生茫然不知所措,不能消化理论课的内容,对实验课乃至整门课程失去信心和兴趣。如果失去信心和兴趣,就会对课程产生逆反心理,产生逆反心理后又直接影响到学习的兴趣,造成恶性循环。

3)综合性实验(课程设计)没有开展,或者说效果不好。综合性实验(课程设计)是检验课程开设效果的最有力的手段,也是提高学生自身编程技能的一个非常好的契机。但是,如果实验课普通实验效果都不好,这样的综合性实验对于学生来说,简直是遥远的、不可触及的。对于以后续专业课的进一步学习,埋下了隐患。

3 实验教学方教学方法的改革和探讨

针对以上提出的实验课程教学中存在的问题,我对C语言课程教学做了一些尝试,应该说还是受到了比较明显的效果。

1)将实验教学做好定位,明确实验教学的任务,将实验教学学时应该是理论教学学时的1倍或者1.5倍。我们先看看实验教学的目的:一是让学生掌握基本的程序设计算法,能够编程实现我们课后练习的一些题目,当然这是对学生的最基本要求,也是最低要求;二是,让学生真正掌握C语言这样的一个软件开发的工具,为学生以后走向工作岗位,奠定良好的基础。因为对于计算机专业的学生,通过课程设计或者综合性实验能够用C语言开发一个小的软件(哪怕只有2个或者3个功能),对于他们来讲,会有一种成就感,能够给他们学习的信心和兴趣,或许一名优秀的软件设计人员会因此而产生。

通过上面我们不难看出,实验教学,不仅要引导同学更好理解理论课中的一些算法、语法、设计思想,更重要的是,通过实验课,我们将那些枯燥的理论转化为自己的思想,成为自己编程的利器。由此可见,增加实验教学的学时数,是提高C语言教学效果的一个前提保障,没有充足的学时数,其他的改革措施无从谈起。

2)在具体教学过程中始终贯彻任务驱动的教学机制(如图1所示)。把整个学期的实验教学活动看成完成综合性实验的一个过程,学期期末有综合性实验这样的最终的任务;对于每次课程,都有具体、明确的习题配套练习,可以看成最终任务的分割。也就是,这门课程的目的就是让学生在完成一个一个的任务中潜移默化地提高编程能力和技巧。做到这样要求,教学任务明确了,学生的学习目标自然也就明确了。任务驱动的教学机制给实验教师提出了相对比较高的要求,因而教学任务的设置变成一项非常重要的工作。表现在:

(1)实验教师要具有完整的C语言的知识结构体系,把教学大纲中的重要知识点串起来,再具体分配到每个具体的学时里,让学生掌握。最后达到让学生掌握和建立C语言的知识体系结构。

(2)实验教师要加强与理论教师之间的联系。因为学生的学习进度、基本概念、基本算法的思想都是在理论课上学习的,而实验课要巩固他们的知识,要实现算法的代码设计,要提高变成技巧,可以说任务很繁重。如果实验教学在此环节上和理论教学联系不能很紧密,会造成两个本该相辅相成的教学环节脱节,学生既没有达到实验教学的目标,理论教学的内容又得不到实践,最后我们的教学效果就难以保障了。

3)思维能力和编程能力培养并重,相辅相成。

(1)为了培养学生的良好的思维方式,我们在授课过程中应该始终贯穿结构化程序设计思想和自顶向下、逐步求精的思维方式。在分析典型问题时,要从构造算法出发,着重探讨分析问题和设计算法的思维过程,加强学生思维方式的培养。以解决闰年问题为例,这个问题本身非常经典,是一般C语言课程学习完控制结构后一般都要联习的题目,我在具体的教学过程中是这样执行的:

首先画出流程图,流程图是最能体现学生解决问题思路的方式之一。

如果学生能够画出图2这样的流程图,基本上说明他已经解决了闰年问题。剩下的部分就是将流程图的思路转化为具体的Turbo C的可执行代码。可以让学生将流程图先转化成一条条的汉语语句。

S1:测试数据Y是否能被4整除;

S2:如果S1不成立,输出“不是闰年”;

S3:如果S1成立,继续判断是否被100整除;

S4:如果S3不成立,则是闰年;

S5:如果S3成立,继续判断是否被400整除;

S6:S5成立,则输出“不是闰年”;

S7:S5不成立,则输出“是闰年”;

有了清晰的思路,学生建立了解题的方法,剩下的内容就是根据C语言的语法规则将上述语句转化为C的代码即可。

(2)C语言教材中的课后习题非常丰富,许多题目的针对性也很强,教师应该对其进行归纳、整理和分类。针对同一类问题时不要逐题练习,应该在重点练习典型题目的基础上,拓展学生思路,引导学生归纳和总结求解一类间题的基本算法,达到举一反三的效果。

4 结束语

针对“C语言”教学相关的若干问题,我们提出了正确认识实验教学,摆正实验教学的位置。并将“任务驱动”的教学法引人到实验教学的各个环节中。实践证明这些教学方面的探索,在实验教学中取得了较好的教与学的双向效果。帮助学生建立了完整的课程知识体系,激发了学生的学习积极性和主动性,培养了他们的算法思维能力,提高了综合编程能力,最终完全达到了预先的教学设想和效果。

参考文献

[1]谭浩强.C程序设计[M].2版.北京:清华大学出版社,1999.

[2]栾咏红.C语言课程案例教学模式的探究与思索[J].内江科技,2007(11):153.

篇4:C语言实验教学方法探讨

关键词:C语言;实验;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2007)12-21728-02

Discussion of the Experiment Teaching Method in C-programming

LIU Han-ying

(Department of Electronic and Computer, Guilin University of Technology, Guilin 541004, China)

Abstract:C-programming experiment is important part of C-programming teaching. As the result of each kind of reason, there are some disadvantages in the experiment teaching of C-programming: the experiment passing rate of national examination is low; the teacher can't instruct because of so many students; the students written down the programs without preparation. The students don't know how to do with the errors. With some teaching examples of the C-programming experiment, this paper propose some teaching methods, The experiences show that the proposals stimulated the students' enthusiasms of studying, and improved the quality of experiment teaching.

Key words:C language; experiment; teaching method

《C语言程序设计》(以下称C语言)是计算机及相关专业的一门专业基础课,是学习其他专业课程如《C++与面向对象程序设计》、《JAVA》、《数据结构》、《数据压缩》、《计算机图形学》的基础,C语言实验是C语言教学中的一个重要环节,常常占总学时的2/5以上。C语言实验教学有利于增加学生对理论知识的理解,调动学生的学习主动性,提高学生思维能力和动手能力。然而,由于各方面的原因,C语言实验教学中存在一些问题:全国等级考试实验通过率不是很高;C语言实验往往是大班上课,学生人数较多,老师指导不过来;学生课前没有预习,上机时直接输入参考程序,实验成了打字练习;英语水平不高,对错误提示无从下手;部分学生以为编译通过就是调试成功,不会使用调试工具。笔者近年来多次承担C语言实验教学任务,总结了一些教学方法和经验,下面是笔

者对C语言实验教学方法的探讨。

1 思想上重視实验环节,提高学习兴趣

由于C语言教学往往是大班教学,在考核方式上常常采用的是理论考试,部分学生不重视实验课,课前不预习,上机时就直接输入指导书上的参考程序,实验效果很差。因此,为了提高实验教学的效果,应将上机考核作为C语言考核的重要组成部分,让学生从思想上重视实验环节,做好课前预习。同时,笔者把一些用C语言程序实现的小游戏或画的图形图像演示给学生看,激发学生的学习兴趣,取得了较好的效果。

2 编写适宜的实验指导书

目前,有许多与C语言课程配套的实验指导书,这些指导书常常配有答案[1]。学生拿到指导书后,看有答案,常常不自己思考就将书上的程序录入进去,编译出错时不是根据错误提示查找错误原因,而是从头到尾地与书上程序比对,改正录入错误,遇到书上有错,就无从下手。整个上机练习成了打字练习。笔者认为,一本适宜的实验指导书应具备以下几点:

(1)实验指导书要与理论知识配套

C语言实验教学的目的是通过实验,让学生增强对理论知识的理解,学会自己编写、调试程序。因此,实验指导书的内容要与理论教学配套,有针对性地设置实验内容,且实验时间安排要合理(略晚于理论教学),参考程序与实验指导书分离。

(2)实验内容难度适宜

由于种种原因,学生能力上有很大差异,为此,在编写实验指导书时要兼顾各个能力层次的学生,设置基础题、中等难度题和较难题多个层次。笔者从历年的考试题中抽取一些具有代表性的改错题作为基础题练习;在此基础上,设置一些程序设计题让学生编写、调试;对学有余力的学生,可设置一些难度较大的题目,组成小组讨论。

3 养成良好的编程习惯

3.1 注意编程思想

算法是程序设计的精髓,语言只是表示形式,没有正确的计算机算法,就无法用计算机正确地解决问题。对于每一道题目,首先找出解决问题的算法,画出盒图,最后才是编写程序,这样可以减少出错的可能性。

3.2 使用有意义的标识符

C语言教材常常使用i,j,k,a,b,c几个字符作为标识符,很多学生在学习C++时觉得很难,其中一点就是C++中教材中的标识符较长。笔者建议学生,在编写程序时尽量使用一些有意义的字符串作为标识符,尽量不要用l作为标识符,提高程序的可读性,如输入一系列学生成绩时使用的是score1,score2……,而不是a1,a2……。

3.3 养成良好的程序录入习惯

有的学生在录入程序时不注意书写格式,在遇到错误时常常不易查找。笔者要求学生使用锯齿形的书写格式,在录入大括号、小括号、引号等时都要做到成对录入,有较地提高了程序录入的准确率。

4 改革实验辅导方法

4.1 网络教学软件的使用

传统的实验课是老师先布置实验习题,学生练习,遇到问题举手,老师解答。然而,C语言实验往往是大班教学,学生人数较多,许多问题十分相似,老师常常为同一问题解释多次,指导不过来。针对这一问题,笔者使用了红蜘蛛软件[3],这个软件可以在局域网上实现多媒体信息的教学广播,是一款实现在电子教室、多媒体网络教室或者电脑教室中进行多媒体网络教学的非常好的软件产品,集电脑教室的同步教学、控制、管理、音视频广播、网络考试等功能于一体,并同时实现屏幕监视和远程控制等网络管理的目的。该软件是专门针对电脑教学和培训网络开发,可以非常方便地完成电脑教学任务,包括教师演示、学生示范、屏幕监视、遥控辅导、屏幕录制、屏幕回放、网络考试、网上语音广播、两人对讲和多方讨论、联机讨论、同步文件传输、提交作业、远程命令、获取远端信息、电子教鞭、电子黑板与白板、网上消息、电子举手、锁定学生机的键盘和鼠标、网络唤醒、远程关机和重启、学生机同步升级服务、远程安装、倒计时、班级和学生管理等。笔者通过文件传输功能,将实验题目(如基础改错题)发放给学生,让学生练习,然后通过提交作业功能抽一名学生的作业来讲解。

4.2 总结错误

针对一些学生英语水平不高,对错误提示无从下手的现状,笔者总结了上机时经常遇到的错误,如语法错误、逻辑错误等,罗列给学生,并从一些试题中挑选一些适宜的改错题传给学生练习,学生不用从头到尾地录入程序,提高了实验效率。

4.3 调试方法的使用

調试的目标是寻找软件错误的原因并改正错误[2],一般有以下几种调试途径:

4.3.1 蛮干法

上机时指导学生查找错误,学习使用程序调试工具,跟踪程序的执行过程,发现较隐蔽的错误,提高学生动手解决问题的能力。如学生编写如下程序计算 (用公式 )时,发现结果不对,笔者指导学生使用调试工具观察变量pi和t的值,很快找到了错误原因,同时学生也练习了调试工具的使用方法。

#include

#include

void main()

{float s,n,t,pi;

t=1;pi=0;n=1;s=1;

while(fabs(t)<1e-6)

{pi=pi+t;

n=n+2;

s=-s;

t=s/n;}

pi=pi*4;

printf("pi=%fn",pi);}

4.3.2 回溯法

从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止。如上例中,用go to cursor执行到pi=pi*4,发现pi的值不对,则往回分析代码,很快可以查出是循环条件不对。

4.3.3 对分查找法

对分查找法的基本思路是,如果已经知道每个变量在程序中若干个关键点的正确值,可以用赋值语句或输入语句在程序中关键点附近“注入”这些变量的正确值,然后运行程序,并检查所得到的输出。如果输出结果是正确的,则错误原因在程序的前半部分;反之,错误原因在程序的后半部分。

4.4 让学生自己调试程序

由于学生多,问题多,为了快速地解决问题,有时老师会帮学生调试程序来提高效率。笔者认为,老师应指导学生调试程序,而不是帮学生调试程序,学生只有自己动手,动脑,才能真正学会调试方法。同时笔者鼓励学生之间互相帮助和交流,培养团结协作的精神,学生在帮助同学的同时自己也得到学习。

5 结束语

以上是笔者对《C语言程序设计》实验教学方法进行的探讨,通过实践发现,这些方法有助于激发学生学习自觉性和主动性,提高学生分析问题和解决问题的能力,达到提高教学质量的目的。

参考文献:

[1]谭浩强.C语言程序设计题解与上机指导[M].北京:清华大学出版社,2005.

[2]张海藩.软件工程导论[M].北京:清华大学出版社,2003.168.

[3]http://www.forclass.com/.

篇5:c语言实验报告

实验一 上机操作初步和简单的C程序设计

一、实验目的1、熟悉C语言运行环境Turbo C++3.02、会简单的程序调试

3、熟悉C语言各种类型数据的输入输出函数的使用方法

4、掌握顺序结构程序设计

二、实验内容

1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。(习题1.7)

2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。(习题1.6)

3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。注意:在Trubo C++ 3.0中不能输入汉字,只能输入英文或拼音。(习题4.8)

4、运行如下程序,写出运行结果。第一┆范文网整理该文章,版权归原作者、原出处所有...#include

void main()

{

int a=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%dn”,a,b);

}

三、实验步骤与过程

篇6:C语言实验报告

实验名称 ____ C程序的运行环境和运行C程序的方法_学期日期

同组人李江涛指导老师_杨雪松___________成绩___________-------------------------

【实验目的】:

1.了解所用的计算机系统的基本操作方法,学会独立使用该系统

2.了解在该系统上如何编辑、编译、连接和运行一个C程序

3.通过运行简单的C程序,初步了解C源程序的特点

【实验原理及相关知识】:(此处请简短概述一下就可以)

【实验设备】:(正确填写每次实验所用的设备型号)

【实验内容】:(此外按实指导书的要求写自己设计的东西)

【实验过程】:

【实验总结】:(此处写实验完成情况及对相关结果的分析总结)

【实验心得及其他】:

请各位同学认真添写实验报告,不要抄袭,尽量用自己的语言,自己的想法完成实验及

上一篇:精细化管理工作经验下一篇:谈谈大学生的礼仪修养