c语言上机心得体会

2024-06-07

c语言上机心得体会(精选8篇)

c语言上机心得体会 第1篇

C语言上机实验心得

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。

我主要存在以下的这些缺点:

1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。

英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。

通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过„„但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对C语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的要加以注意的地方与认真审查的部分,为我奠定坚固的基石。伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对C语言,我以后会更加努力学习的。

c语言上机心得体会 第2篇

一、上机目的(1)、通过练习掌握指针的概念及应用;

(2)、通过练习了解指针作为函数参数的使用方法;

(3)、复习一位数组、二维数组和字符串的概念及应用;

二、上机内容及要求

首先在D盘根目录下新建一个文件夹,并用自己的10位学号姓名命名,将自己上机过程编写的C程序全部保存到该文件夹中。

本次上机任务

(1)在不改变元素排列顺序的基础上,从10个数中找出其中的最大值和最小值。(形参和实参均使用指针变量,参考【例8-17】)文件名保存为T1

(2)编写函数my_strcat(s1,s2),将s2所指字符串的内容连接到s1所指字符串的后面,并自动覆盖s1串末尾的’’,要求函数返回s1的地址值。(参考【例8-20】)文件名保存为T2

c语言上机心得体会 第3篇

全国计算机等级考试二级C 语言考试分为笔试和上机两部分。笔试考察的是应试者对基础知识和基本理论的掌握情况,而上机考试主要测试的是应试者的逻辑思维能力和运用C 语言的能力。历年来上机考试的通过率比笔试偏低,所以考生要充分认识上机考试的重要性,要有针对性地进行上机考试的练习。上机考试一般包括3 种题型:程序填空题、程序改错题、程序设计题。第一大题(30分)填空题、第二大题(30分)修改题,这两个大题均为基础题,考生应尽量在这部分不丢分;第三大题为程序设计题,相对第一、第二大题难度系数较大,应尽量在这部分能得分。一般情况下,上机考试时间较充足,第一大题一般能在15分钟左右做完,第二大题一般也能在15分钟左右做完,剩下的时间约1小时左右做第三大题程序设计题。

1 程序填空题

此大题是测试考生对C语言基本知识点的掌握,以一个题为例来说明。请补充fun函数,该函数的功能是:把字符下标能被2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入fun函数。

例如:输入"abcdefghijk",输出"bfh"。

注意:部分源程序如blank.c给出。

请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

分析:题目要求在fun函数中把字符下标能被2或3整除的字符从字符串s中删除,把剩余的字符重新保存在字符串s中。字符串s从键盘输入,其长度作为参数传入fun函数。为了实现以上要求,题目中的程序采取了以下思路:使用for循环将s字符串每一个字符拷贝到s字符串前面部分,k变量记录存放的下标,即s[k++]=s[i],然后再判断当前拷贝的s[i]的字符下标i能否被2或3整除。如果可以被2或3整除,那么执行k--,放弃已经占用的位置,等下一次for循环的时候使用k—空出的位置。反复执行以上过程,就能做到把字符下标能被2或3整除的字符从字符串s中删除,把剩余的字符重新保存在字符串s中。所以这试题里考得第一个知识点是取余运算符,第二个知识点for循环,第三个知识点就是数组。

2 程序修改题

2.1 上机改错题的特点和注意事项

(1)上机改错的试题中通常包含两个(或三个)错误需要修改。

(2)试题中用"******found******/"来提示在下一行(或下面第二行)有错。

(3)错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。

(4)特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。

2.2 上机改错测试时,建议按以下步骤进行

(1)首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出示例,以便检验改错后程序运行的结果是否正确。

(2)当在TC或VC环境下调出源程序后,审视"/******found******/"所在函数,根据题义理解程序所采用的基本算法,做到心里有数。

(3)先执行编译对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。

(4)当不再出现语法错时,执行运行, 按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。

(5)当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。再如做循环的时候 数组上限下限错误了 ,基数是从0开始而不是1开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。

例如有以下改错题:

给定程序MODI1.C中函数 fun 的功能是:计算正整数num的各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! */

分析:这类基础题主要是考察应试者对给变量赋初值的掌握。针对这个题第一个错误是变量k没有初值,根据变量k是存放积的,积的初值一般是1,第二个错误就是是语法错误了,这类错在编译时就能发现,它的除号反了。

3 程序设计题

3.1 上机编程题的特点和说明

在二级C程序设计上机考试中,要求完成一个独立的函数的编程。目前教育部考试中心已出版了上机考试习题集,这些有助于学习编程,但考生应当在学习过程中理解基本的算法,通过实际上机操作积累经验,才能掌握基本的编程能力。

3.2 进行编程测试时,建议按以下步骤进行

(1)首先仔细审题,了解试题的要求,记下试题给出的输入和输出示例,以便检验在完成指定的函数后程序运行的结果是否正确。

(2)当在TC或VC环境下调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。

(3)理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。

(4)选择适当的算法进行编程,输入程序语句。

(5)编译程序,直到没有语法错误。

(6)调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用例示的输出数据检验输出结果,直到结果相同。

例如有以下编程题:

编写函数fun,它的功能是:将两个两位正整数a,b 中个位数和十位数合并成一个新的整数放在c 中。合并的方式是:将a 中的十位和个位依次放在变量c 的百位和个位上,b 中的十位和个位依次放在变量c 的十位和千位上。

例如:当a=45,b=12。调用函数后c=2415。

注意:部分源程序存在文件PROG1.C 中,数据文件IN.DAT 中的数据不得修改。请勿改动主函数main( )和其他函数中的任何内容,仅在函数fun 的花括号中填写编写的若干语句。

程序如下:

分析:这类基础题主要是考察应试者对基本运算的掌握。针对这个题关键是把这两个数的个位和十位求出来,然后再重新组合成一个新数。表示两位数a 的个位数的方法是:a 对10 取余,即a%10;表示两位数a 的十位数的方法是:a 先除10 后在对10 取余,即a/10%10。

本题的答案为:c=b%10*1000+a/10*100+b/10*10+a%10;

4 结束语

C语言上机考试是涉及面最广、考生最多, 但每年的通过率都不高, 主要的原因是考生的重视程度不够, 上机操作的次数太少, 很多应该掌握的却没有掌握, 缺乏考试经验等。希望每一位参加该项考试的考生能认真对待, 积极备考。希望以上提供的有关C 语言上机考试的特点和注意事项对考生有帮助。

摘要:主要介绍了全国计算机等级考试C语言上机考试,详细阐述了改错题和编程题的主要特点和注意事项。

关键词:计算机,C语言,上机分析

参考文献

[1]谭浩强.C程序设计[M].3版.清华大学出版社,2007.

[2]全国计算机等级考试(二级C语言程序设计)大纲[S].

[3]高福成,潘旭华.C语言程序设计(二级)重点与难点、例题解析、上机指导、模拟题[M].北京:电子工业出版社,2002.

关于C语言教学中的心得和体会 第4篇

一、C语言与其他语言的教学比较

所有计算机高级语言课的教学,均包含两个主要目标:一是语言环境和语言手段;二是与一定数据结构相结合的典型算法。C语言也不例外。从算法设计的角度看,各种语言在解决同一问题时,其思路不会有太大的差别,因此,这一块内容在教学上差别不大,学过一种语言以后再去学别的语言,其难度会大大降低;但是,从算法实现的角度来看,不同的语言有着不同的设计背景和设计目的,其应用环境和应用手段有差别,有时差别还很大。

在学习C语言时更强调它的背景,即设计者的初衷是用它来编写UNIX操作系统,并部分取代汇编语言。由于操作系统是管理、调度计算机软硬件资源的一个大型软件,作为实现它的语言工具的C语言没法不接近硬件。要学好C语言也没法完全躲开包括硬件在内的一些深层知识,这就要求C语言的教学与其他语言相比要有一定的深度。

二、兴趣是最好的老师

心理学认为,学习兴趣是对学习活动产生的心理上的爱好和追求的倾向,这种倾向是和一定的情感联系的。它具有相对的稳定性和较强的延续性,对某个事情的“好奇”心理,不能称为兴趣。学生有兴趣表现在他们有主动了解、积极探索的愿望上,不惜时间,不怕困难,可以集中较长的注意力。因此,在教学的过程中,教师应注意培养学生的兴趣,把握学生的兴奋点,有效地调动学生的求知欲望。

三、C语言教学采取多种教学手段与方法

在讲授基本知识,如数据类型、运算符与表达式时,因信息量大,知识点比较零碎,采用多媒体的教学方法,可以达到很好的效果;而在讲顺序、选择、循环、函数的程序设计时,采用板书式教学方法可以建立好的沟通,教学效果良好。根据内容特点合理选择教学手段,会使教学效果明显不同。

在教学方法上,著名教育家赞可夫说过:“教学法,一旦触及学生的情绪和意志领域,触及学生的精神需求,这种教学法就能发挥高度有效的作用。”教师如何改进教学方法,兼顾不同水平学生的不同需求,解决课程知识点琐碎、枯燥的现象,让绝大多数学生在有限的时间内迅速掌握课程的基本概念、基本技能和应用,是需要解决的关键问题。先进、合理的教学方法,能使学生在短时间内迅速掌握课程内容,激发学生对本课程的兴趣和热爱。

1.比喻法

比喻法教学就是通过形象生动的比喻(生活贴切的例子),让学生更好理解和掌握新知识的一种教学方法,有易接受不易忘的特点。例如,讲解变量时,对于初学的学生,笔者经常把变量比喻成一个盒子,盒子里放进什么东西,这个盒子就是什么类型的变量。C语言中很多教学内容较抽象,不易被学生接受和理解,老师应有能力化繁为简,将深奥的理论讲得通俗易懂。这就需要老师多钻研教材教法。

2.采用“任务驱动,引导教学”的课堂教学方法

在课堂讲授新的知识时,大多采用实际的案例来演示说明,并在演示说明过程中逐步引出各个相关知识点和概念。生动形象的案例中,融合了多个概念和知识点,既易激发学生的学习兴趣,又有利于学生迅速掌握抽象的概念,并使学生形成和保持对计算机技能的强烈求知欲。探索和遵循各相关知识点之间的内在联系,使教与学在循序渐进,环环相扣,优化压缩,合理安排中进行。

3.激励式教学法是动力,适当引入考核机制

考核应从两个方面入手,即创新能力和应用能力。考核时,可采用“模块化”、“任务式”的办法。“模块化”就是每学完一个模块,进行一次考核。选择结构、循环结构、数组、指针都可以做为一个模块,但模块设置不宜过大。“任务式”就是根据学生所学相应的模块知识,让学生独立完成一项“任务”,如解决一个实际应用题、完成一个小动画等。

四、C语言教学要有一定的纵向性与深度

在C语言教学过程中,任何新知识的引入,都坚持做到由浅到深、循序渐进、自然流畅,使之顺理成章。这样,一步一步引导学生思路向纵深方向发展,避免由于概念知识点不清,而影响后续知识的学习与理解。以指针教学为例:

1.引入指针概念

在引入指针概念时,注意引入计算机内部存储单元的实际存储空间模式。在一般的C语言教材中都能找到这种图。这种图示能使学生建立起连续存储空间的概念,为后续指针变量与指针运算知识的学习打下基础。汽车,建立指针与计算机内存单元一一对应的关系。C语言中的指针是指计算机内部某存储单元其固定位置的顺序编号,称之为该存储单元的地址。所以,计算机每一个存储单元都对应一个唯一的内存地址。计算机内部对内存单元的编号采用二进制数字表示,而为了表达方便,书面多用十六进制数表示。其所使用二进制位数的多少,是由内存的大小决定的。

2.引入变量指针的概念

变量指针指的是:变量数据在内存单元中的首地址。在有了第一步内容的铺垫之后,在教学中,引入变量指针的概念时,就很自然地使用了连续存储空间的模式。

在此最适合深入揭示变量的实质以及变量的两个属性,即变量名和变量值之间本质上的区别与联系。变量名,即变量所对应的内存单元的首地址。变量值,即变量所对应的内存单元的地址中所存储的数据。

这样,深化学生对有关概念的理解,使学生对变量、变量名、变量名所对应的内存单元首地址以及对应内存单元中所存储数据等内容之间的相互关系,有更深刻的认识,从而能在它们之间建立起有机联系。

五、语言课教学的其他体会

计算机语言课,不管是哪个语种,其实践性都很强。对C语言来说,因学习难度大,更要强调学生从上机实践中学习,从程序调试和各种挫折失败中学习。在教学中,讲到实例时,笔者经常现场写代码,现场调程序。这样,一方面能使学生对问题的求解过程有深刻的体会,另一方面能使学生在程序调试和编程风格上有一个学习的榜样。

算法是语言课的主要教学目标和永恒主题,有些第一语言课因学时少或其他一些原因,教师在操作时压缩算法,将重心偏离到语法规则和语言手段上。这样,不利于实现语言课的两个主要目标,不利于学生掌握实际的语言应用能力。当然,在学生方面,也有不重视算法、缺少算法锻炼的情况。这种情况多数是因为考生的算法能力太差,一定程度上也反映出语言课中算法训练环节有待进一步加强。笔者认为,语言课应该保证用于算法的基本学时,教师操作上应保证和突出最起码的算法介绍,在讲解一个新算法时,教师不应上来就讲程序,而应先讲清思路,然后分配变量角色,最后才是具体的程序设计。

语言课总免不了要举例,在举例方面,对说明语法规则和语法现象的例子追求尽量简单,对说明算法的例子追求尽量典型。除了综合演练外,所有例子都不要太过复杂,不但要举正面的例子,也要注意举反例。

C 语言上机总结报告 第5篇

上机实验报告

经过了九周的上机练习,我们算是完成了阶段性的胜利,从书本上枯燥的知识,通过上机练习把他们学以致用,融会贯通;不得不说,上机对于大一不允许带电脑,算得上是对c语言巩固和提高的重要途径了,很多我们不懂得问题,通过敲一下代码就知道可不可以这样了。还有很多格式,看不懂的代码,也都能解决。另外,重要的是通过上机我也拾得了编程的乐趣,链接好的程序就像是我的Baby,一节课生好几个。这是一种莫大的成就感。原来我还可以这样。如果仅是书本上的知识,我很难保证能坚持看下去,因为要把抽象的东西阐述出来,很多时候都是很枯燥的。所以上机便是这样一个辅助的途径。下面是我这九周所积累的一些问题和经验。

1.首先就是书写的问题。到现在我还时不时忘了加分号。这么一个细微的问题有时候会报很多错。其中易犯的便是scanf中&的使用,以及&&逻辑运算符和位运算符不分,==错写=,自定义函数,声明时不加分号,do,while语句while后忘加分号,以及数组不从a[0]开始写,for循环中控制条件用<还是<=,于是就会溢出。

2.printf里格式的问题,想要在数前补0整数可以靠.num而浮点数需要前加0,对于输出无符号16进制数%x,八进制数%o和十进制%u,总是记不住,还有一个比较特别的是可以用*占位,然后在后面的参数中说明精度和宽度,用#让浮点数始终有小数,字符串的5.4s只显示4位。另一个我发现无关紧要的是printf中lf和f没什么区别,scanf却不一样。

3.scanf的另一个问题是当出现空格是,读取的字符串就不完整了,在百度后,我找到了更好的gets函数,便可以读取空格,还有scanf的一一对应特性,不过空格不算。

4.++i和i++的使用问题。很多时候并不在意这些,便会导致数据的溢出,和结果总是偏差1,所以在使用时先得想好用哪个,如int k;

while(k--)

;printf(“%d”,k)结果是-1,因为在while判断过程中还要减1。

5.Define 一个表达式时不爱每一层都加括号。导致运算时优先级使运算和目的不符。我记不下那么多的运算符的优先级,所以我解决的方法便是每个运算都加上括号。

6.总是按照自己的思维做事,像是想把一个数组复制给另一个数组就直接用=赋值了,事实证明并不可行,而是需要用for循环一个一个赋值,而字符串则用strcpy,但结构体却可以直接赋值。

7.条件语句if,while,for等加括号和在哪加括号的的问题,常常因为内容少所以不加括号经常导致错误,尤其在嵌套语句和连续多个条件语句时,总是会出错,所以以后我学会了每句话都加上大括号。并且尽量使格式工整。

8.忘记添加头文件。或者忘了头文件的名字,像是stdlib,malloc…… 这样函数就变得没有了意义。这个得靠记忆和多练。

9.函数要求的实参的格式忘记了,这时候总是会报格式不符,比如malloc.calloc.recalloc,对参数的要求的区别,qsort函数里,compare函数指针参数,compare的实际参数需要强制转换。

10.Switch用法,switch只能用于char和int,且不用break就会一直执行下去,我就会忘掉这个,还有给a加引号

11.数组的声明问题,数组是c语言里比较让人头大的问题了。其中,让我不能理解的便是为什么二维数组不能a[][]={},a[][N]={}而必须至少a[N][]={},这就让我栽过跟头,还有字符数组为什么加’’就变成字符串了,当然这都是要求,在声明时需要谨慎再谨慎。

12.指针的运用中,在参数调用和返回也时常出现格式不符,值传递改变不了实参,址传递有时候也改变不了比如返回局部变量的地址,这时就需要static静态变量延长存储时间,而extern在函数中仅是对之前的变量的声明,并不能在其中定义一个外部变量,static也只能定义一次,这类问题时常困扰着我,以为经常不知道错在哪里。另外还有一种方法也能改变指针的地址而改变实参指针的指向,那便是通过双重指针,**p 13.对于指针运用中另外很让人困惑的是二级指针的指向问题,而他们常常又和二维数组结合,例如a,&a[0],a[0],&a[0][0],a[0][0],他们乍一看都分别不出来,需要仔细的考虑,实际上a=&a[0],&*(a[0]+0)=a[0]=&a[0][0],实际上他们都是逐级递增的,例如对*(a[0]+i)就是对确定一行的列的选择,*(a+i)则是对行数的选择,常常用指针指向这一行,然后进行操作,然而经常&a,&a[0]和&a[0][0]却是相同的地址,但他们的跨度却不一样,这样常常在实验的过程中就是对数组格式的写错导致根本不知道哪出的错,也无从修改。所以还是得多理解透彻他们的含义,否则只会在写代码时犯懵。

14.指针运用的另一个问题就是,指针并不具有空间,需要进行空间的开辟,这类问题也常常出现在想要声明一个未知大小的数组,这时候就需要用malloc来开辟了,而malloc还不能放置在main函数体外,经常在scanf后放置。

15.在上机过程中我曾不理解为什么char*p=”ashjkhasljk”可以成功,而已定义的数组a,就不能a=“adfadsad”;char*p,p=”dasaf”可以,但是用scanf输入”dasaf”就不对,查阅资料我才得知,“”表达式的值就是一个地址,p=””,开辟了空间。而scanf直接把址给指针,并没有申请空间。其次程序把字符串放到了常量区,所以不容修改其值,这里的p[0]也不得修改,p开辟了一段常量空间把字符串放进去,其值也不得修改,但可以改变P的指向,所以相当于const char*p 16.关于函数,要记住函数不能嵌套定义,但可以调用。这也是我犯过的错误。

17.结构体的声明和联合还有枚举的声明经常搞混,查书才知道有两种方法来声明结构类型名,一种结构标记,一种typedef,第一种直接可以在其后写变量,另一种需要再换行再声明。还有其后}要加分号会忘,主要是还是对结构名和变量搞不清楚,比如struct student new在实验中出现引用其中的元素不知道是是应该student.new.还是new.除此,不明白Union为什么经常没有标记,直接就是变量。最后便是结构数组的初始化总是掌握的不好,可能因为用的少。

由于没有保留上机报告的原稿,所以以上是我暂时能回忆起来我所遇到的问题和我的想法。

经历了9次的实验我的收获当然不仅仅是这些问题,重要的是编程的思维,不是一上来就立马开始打代码,而是构建一个清晰的流程图就如《上机实验报告》所写,然后逐步实现,有时候有多个函数时需要先写一个大的框架,然后再完善。

另外,还有程序的调试,如果都写在函数里,则,注释部分函数然后进行调试。或者单步调试部分代码,观察值的变化。

C语言上机实习报告 第6篇

1.能够描述VC++6.0开发平台的使用过程,学会运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

2.能够使用算术表达式和赋值表达式书写正确的语句。3.能够使用输入/输出函数编写简单的程序。

二、实验环境

(调试程序所使用的软硬件环境)软件环境:VC++6.0 硬件环境:宏基

Intel 奔4 主频 2.8GHz,内存256MB

三、实验内容、结果及分析

1、题目1)求华氏温度150°F对应的摄氏温度。计算公式如下: 55cf32

其中:c表示摄氏温度,f表示华氏温度。源程序清单:(调试好的源程序代码)// work1.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

} 主要标识符说明:(源程序中主要标识符含义说明)Double为双精度类型变量名表

实验结果:(程序运行结果)double f,c;cout<<“输入华氏温度,按Enter执行”<>f;c=5*(f-32)/9.0;cout<<“华氏温度为”<

实验中遇到的问题及解决的方法 源代码的粘贴出现乱码

解决:从Cpp文件中粘消除格式。

2、题目

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。

源程序清单:(调试好的源程序代码)// work2.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

double a,b,c,average;cout<<“请按顺序输入数学、英语、计算机三科成绩。”<>a>>b>>c;average=(a+b+c)/3.0;cout<<”数学“<

实验中遇到的问题及解决的方法

3、题目

当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

源程序清单:(调试好的源程序代码)// work3.cpp : Defines the entry point for the console application.//

#include “stdafx.h” #include using namespace std;int main(int argc, char* argv[]){

int n,digit1,digit2,digit3;cout<<“请输入一个三位数n(100﹏999)”<>n;digit1=n%10;

//求个位数字 digit2=n/10%10;

//求十位数字 digit3=n/100%10;

//求百位数字

cout<<“个位数字(digit1)”<

实验中遇到的问题及解决的方法

四、实验体会(心得、收获)

C语言对我们来说是一个崭新的学科。我想学习C语言就像学习其他学科一样,需要我们用心的去学习。它也是我们交流的一种新的方式。只不过是人机之间的。随着科学的进步,与社会的发展,计算机显得尤为重要。C语言又是学习计算机的基础,所以我们更应该该好好的学习C语言。通过这节实验课,我们学到了如何运用6.0来编辑代码,运行我自己编写的程序。虽然过程中会有错误,但在这犯错的过程中我学到了我所不知道的。在这纠错的过程中,我来了解到我还有很多的地方不足。如忘记写分号等。其实就错就是个学习的过程。

C语言二级上机考试要点总结 第7篇

2007年9月,教育部考试中心对现有的全国计算机等级考试大纲进行了改革,二级C语言上机考试时间由60分钟增加到了90分钟,编程环境由以前的TC2.0改为VC++6.0。[2]本文根据对近几年来二级C语言上机考试中的程序设计题进行归类总结,提出相应的策略,并对考生应对2007新大纲以后的C语言上机环境给出一些建议。2 对以往考试的分析

历年的全国计算机等级考试中二级C语言上机考试程序设计题目全部出自于由南开大学出版社编写南开100题,每次考试教育部考试中心会对题库做相应的改动,增加一些新的题型或题目,考试中,考生随机抽取一套进行测试。笔者对2005年4月至2007年9月2004版新大纲以后的6次考试中的程序设计题目进行了总结,将这些题目一共分成了6大类,对每种类型的题目进行了分析。2.1 对一维数组和字符串的操作

该类型的题目在以往的机试中所占比例最大,为40%,考生应对该知识点做全面的复习和掌握。一维数组可以分为数值型和字符型,其中数值型数组的数据类型为整型和实型,字符型数组的数据类型为字符型,我们通常会把字符型数组叫做字符串,但是应该注意字符型数组与字符串之间是存在区别的,也就是’’结束标志问题。在复习该部分的时候,考生应该掌握以下两个问题:(1)对一维数组的操作

对一维数组进行操作的时候,不可避免的要访问相关的数组元素,在C语言中访问数组元素一般采取单层循环的方法进行遍历,假设数组长度为n,数组下标是在0到(n-1)之间的,考生应该牢固掌握在一维数组中求最大值、最小值,移动元素,查找特定值,存储数组元素的方法。

(2)对字符串的操作

该类问题是每次考试的重点和难点,特别是将字符串同指针结合起来以后,难度就更大了。考生在解决此类问题是应特别注意字符串的结束标志’’,它不仅仅用来作为字符串的结束标志,而且在对字符串进行操作的时候,它也是循环的结束标志。考生在复习该部分的时候,应该注意这样的几个基本问题:大小字母转换、奇偶数判别、删除或添加指定的字符和字符的移动。此外,考生应该牢固掌握指针的特性及字符串操作函数的使用和实现方法,特别是字符串连接函数与求子串函数,在以往的考试中多次要求考生自己编写,考生应对该知识点做重点掌握。2.2 数值计算

该类型的题目在历年的机试中占22%,考查的机率也非常高。该类题目一般给定一个数列计算公式,然后要求考生编写一个函数类实现求数列的前n项的值、累加和或者积。在解决该类的问题,首先要找到给定数列的变化规律,然后根据其变化规律来编写一个单层或者双层的循环来求其相应的值。在编写程序的过程中,往往还会用到一些数学函数,如:sqrt()、fabs()、pow()等,考生应该牢固掌握math.h中的一些常用数学函数的功能和使用方法。另外,还应该注意数据类型之间的区别,特别是float和int类型,不同的数据类型产生的运算结果也是不一样的。2.3 对结构体的操作

该部分对非计算机专业的学生来说是一个难点,因为结构体在《数据结构》这门课程中应用最为广泛,但考生忽视对该知识点的复习,但在以往的机试中,有17%的题目是属于该类型。考生在复习这部分的时候,首先应注意结构体成员的两种不同的引用方法:结构体变量和指向结构体的指针,也就是结构体成员运算符’.’和指向运算符’->’,在编程的过程中,往往会涉及到结构体数组,其实这类数组除了数据类型是结构体以外,其它的特性和普通数组是一样的,结构体除了定义、赋值和初始化以外,它的其它操作和普通变量也是一样的,包括在结构体数组(记录)中进行查找、删除、求最大最小值等操作,我们应该用对待普通变量的方法来解决结构体的问题,这样的话,难度就可以大幅度的降低。2.4 对二维数组的操作

该类问题在历年的机试中占16%,考生应对二维数组的数组元素的遍历方法、存储方式、矩阵转换等问题做重点掌握。在C语言中,访问二维数组的数组元素一般采用双层循环的方法实现,因为二维数组具有两个下标:行下标与列下标;二维数组可以按行或者按列转化成一维数组进行存储;对二维数组进行行列转换的时候,要将行下标和列下标进行互换。考生还应该掌握上三角矩阵、下三角矩阵的特性,在考试中,该知识点也有所涉及。2.5 数制转换

该部分在以往的机试中占11%,包括两类问题:一是整数合并,二是类型转换。在复习该部分时,考生应该注意C语言中int型、long型、float型和double型数据所占的存储空间的大小和精度,注意’%’(模)运算和’/’(除法)运算的特点,特别应该灵活的使用模运算与除法运算求数据相应位数上的数值。掌握强制类型转换的方法以及按规定的位数保留小数的方法。2.6 素数

该部分在历年的机试中占6%,考生应该牢固掌握素数的基本概念和判断素数的方法。特别需要考生注意的是整数1不是素数,所以在判断素数的时候,应该从2开始,到(n-1)结束,能够除尽的不是素数,不能除尽的是素数。判断素数问题是C语言中的一个基本算法,不仅会在程序设计中会考到,而且往往在程序填空和程序改错中也会有所涉及,因此,考生应对该知识点认真复习。3 程序设计中应注意的问题 3.1 熟悉编程环境

根据2007年9月教育部考试中心颁布的新大纲,二级C语言的编程环境由TC2.0改为VC++6.0,考生应该熟练掌握VC++6.0的使用方法,虽然VC支持鼠标操作,但是考生还是应该掌握几个常用快捷方式来提高编程效率。特别要注意在对程序进行改动以后要保存,要进行编译连接生成可执行(.exe)文件。3.2 养成良好的程序设计风格

二级C语言机试中的程序设计题,一般来说程序都比较简短,源代码一般不超过5行,在题目指定的函数内编写程序。考生在答题的时候尽量采用易于理解而且比较简单的代码来解决问题,注意不要改动函数的参数,语句的界符“{}”也应该具有层次性的缩进,必要时,使用一定的注释来帮助自己理解程序。3.3 谨慎使用指针

指针是C语言的精华,也是机试考查的重点内容,指针的使用非常灵活,在使用的指针的时候一定要注意对其进行初始化,所谓初始化也就是给指针一个初值,没有初值的指针是很危险的,除了一定得不到正确答案外,如果指针越界,容易引起死机。如果死循环带来的死机是“假死”,大部分可以用“Ctrl+Break”来恢复,但指针越界引起的死机却是真死,请考生一定要牢记。[3] 3.4 熟练掌握循环结构

循环结构的程序是程序设计中涉及最多的知识点,根据以上的分析,我们可以看出几乎每一类题目都会涉及到使用循环来解决问题,因此考生应该掌握循环结构的特征和使用方法,以达到能够熟练使用的目标。应该引起注意的是,在编制循环结构程序的时候考生应该尽量使用“for”循环和“while”循环,避免使用“do……while”循环和“goto”语句,因为“for”循环和“while”编写出来的循环程序易于理解,不容易出错。3.5 沉着应战,认真细心

二级C语言上机考试时间有限,虽然从以前的60分钟改为了90分钟,但是相对于其它语种的上机考试来说,二级C语言的上机时间还是非常紧迫的。考生在答题的过程中应该保持一个良好的心态和平静的心情,遇到问题的时候不能慌乱,最好能够在机试时带一张草稿纸和一支笔,在编程之前先画出程序的流程图来明确解题思路。在遇到程序错误时一定要根据错误代码检查相应位置,检查的过程中应该认真仔细,确保能够解决问题。4 结束语

c语言上机心得体会 第8篇

C语言作为一种程序设计语言,功能丰富,表达力强,目标程序执行效率高,既具有低级语言部分功能,又具备高级语言的结构化特征,但是由于其涉及的基本概念较复杂,语法规则繁多,运用灵活,不少本科生初学者容易犯一些错误。这就要求教师在课堂灵活讲授基本概念、语法和算法思想的同时,要注重学生的上机实践环节,保证上机课的效率,这样才有利于学生迅速掌握程序设计思想,养成良好的编程习惯。然而上机课通常要面对学生人数众多、学生基础不均衡、监督管理机制不完善等一系列问题,降低了教师以及助教辅导的效率,不利于学生对所学知识的巩固和能力的提高。本文尝试将凌波多媒体教学系统引入到C语言上机课中,收到了良好的效果。

1、凌波多媒体教学系统

凌波多媒体教学系统是一套基于纯软件设计的网络教学软件,利用机房的局域网环境,实现了基于文本、图像、声音、视频、动画等多种媒体的同步教学,为教师提供了全新的教学模式,从根本上改变并促进了师生之间的信息交互、资源共享和教学合作,实现了真正意义上的教与学的交互。

2、教学系统的配置与应用

2.1 系统配置

凌波多媒体教学系统采用了类似传统意义上的“服务器-客户端”的配置模式。首先,在机房全千兆局域网的网络环境下,在一台机器上安装凌波多媒体教学软件中的教师端程序,把这台机器固定下来供教师在上机课时进行辅导和管理。其次,任选另外一台机器安装多媒体教学软件中的学生端程序,并完成教师端与学生端的调试工作。最后,在教师端和学生端程序配置正确、调试无误的基础上,利用机房硬盘保护卡将其余准备作为学生端的机器(教师端机器除外)唤醒,把刚刚安装好学生端程序的机器作为发射机,进行网络拷贝,待学生端程序传输完毕之后,就建立了基于“教师端-学生端”模式的多媒体授课环境和教学平台。为了更好地达到教师与学生的教学交互,在进行教师端和学生端设置时还应注意以下几点:

(1)为了使屏幕广播效率最高,显示模式中颜色质量应设置为增强色(16位),不要设为真彩色(32位),桌面背景不宜设置复杂的图片,最好设置为无背景;

(2)在“系统设置”对话框把“发送数据速率”调整为慢,避免学生端接收屏幕画面时出现丢失现象;

(3)将学生端程序中“举手”、“发消息”、“交作业”等权限开启。

2.2 教学应用

在进行C语言程序设计上机课时,教师首先启动教师端程序,会看到教师端窗口。而学生启动机器后,学生端程序自动运行,受控于教师端。根据教师端软件所提供的丰富的功能,可以实现相应多样化的教学环节。

(1)教师端软件预设了十一个组,教师可以通过分组列表窗口选择组。“全体”组含义是上机课班级中的全部学生,教师只能对其他十个小组进行小组成员的添加或删除,系统默认用显示的计算机名来代表成员。通过这种方式,教师可以针对不同专业、不同程度的本科生进行分组,分别建立班组模型,有侧重点的进行干预和辅导。例如针对基础不太好的学生,可以强化语法规则的训练和基本概念的理解;对于基础较好、入门较快的学生,提高其对算法思想和数据结构掌握的要求;对于基础非常好、编程能力很强的学生,教师完全可以抽调出来组建队伍参加程序设计大赛。

(2)教师利用屏幕广播功能可以将教师端画面或某个学生端画面实时的传送到某一组学生或者所有学生的电脑屏幕上,还可以通过电子画板功能直接在屏幕上写写画画,供学生实时的观看到效果,便于将C语言程序设计中的某些操作步骤、重点难点和注意事项演示给学生;同样可以抽查某个学生进行操作演示,既达到了了解学生掌握程度的目的,又可以供其他同学吸取经验和教训。例如,对于C语言中函数的递归调用这部内容的讲解,教师可以将“汉诺塔”这一经典问题的处理以动画或视频的形式广播给学生,给予学生最直观的感觉;教师还可以对于C语言中运用引用和指针时常见的错误以广播的形式进行细致的分析,给予学生最深刻的印象。

(3)教师可以在不离开自己座位的条件下针对某个同学或全体同学进行屏幕监视和远程控制。如果教师在讲课过程中发现个别同学正在玩游戏或随意添加删除程序,可以立即将其电脑锁定,或者将其显示器屏幕设置为黑屏予以警告,强制其停止当前操作,并有意识的记录学生所使用电脑的编号,找到学生进行思想教育。这样充分保证了学生上机课的学习效率,也方便教师及时的从侧面了解学生的思想态度。

(4)借助声音广播、双向对讲和多人会话等功能,教师能够同学生之间形成“一对一”或“一对多”的语音交流模式,取代了传统意义上的语音教学形式,授课、答疑、布置任务都可以通过这种方式简单快捷的实现。

(5)教师端可以随时向全体同学发送文字信息和发布文件,学生及时向教师反馈,类似于QQ聊天的模式;点名签到功能则实现了对学生的上机考勤,考勤的结果以电子版文档的形式保存到教师端机器中,供任课教师考核学生的平时成绩。

(6)教师端软件还提供了关机重启的智能化操作,方便教师在C语言上机课结束时批量的关闭某组机器或全部机器,从而也减轻了实验室维护人员的工作量。如果因为某个应用程序没有正常结束而无法关闭机器或者某台机器出现了蓝屏宕机,教师还可以远程查看这些“问题”机器的系统、内存、驱动器、进程等信息,强制结束进程来关闭机器。

3、凌波多媒体教学的特点

凌波多媒体作为新型的网络化计算机教学系统,有其自身的特点:

(1)独创的缩略图显示,可以将任意多台学生端电脑的屏幕画面同时显示在教师端,让教师通览全局;

(2)丰富的教学功能可以进行灵活组合,随心所欲;

(3)独创的拨网线保护技术,防止学生拨网线而脱离教师端控制;

(4)可以自动记录全体学生电脑的屏幕画面,压缩图片文件,保存到指定的文件夹中,供教师事后检查学生电脑的使用情况;

(5)兼顾了广播式教学、集体交互式教学、个别化教学和分组教学四种教学模式;

(6)极强的系统稳定性,保证教学过程的顺利进行;

(7)无用户数限制,方便学校以后添加更多的电脑设备,灵活改变上机实践场所的规模,解除了学校的后顾之忧。

4、结语

实践证明,将凌波多媒体教学系统应用于C语言程序设计上机课中,教师可以利用网络的广播功能完成班级集体授课,也可以通过点对点的操作与学生交流,这种师生间的交互作用既有助于构造学生自主学习的环境,也便于收集反馈信息,这些都有助于改善课堂教学的协调性与适应性。这种新的教学模式也会促使教师的观念和行为发生深刻变化,教师们会感到自己更多是一个管理者和引导者,而不是说教者,这就从根本上改变了传统的师生关系和交流模式。

参考文献

[1]吴一心.非计算机专业《C语言程序设计》教学的几点探讨[J].电脑知识与技术.2010;6 (21) :5854-5855

[2]程志梅, 刘光萍, 李荣.非计算机专业C语言程序设计实验课程教学探讨[J].电脑知识与技术.2009;5 (7) :1649, 1660

[3]谭浩强.C语言程序设计[M].清华大学出版社.2005

[4]刘超慧, 孔庆波, 张福转.军事院校计算机实验室管理与维护[J].价值工程.2010;29 (12) :167

上一篇:钢筋绑扎班组承包协议下一篇:今天雷锋没有来作文