公务员期刊网 精选范文 c语言论文范文

c语言论文精选(九篇)

c语言论文

第1篇:c语言论文范文

学习C语言程序设计应当充分注意实验环节。首先老师在上实验课时尽量要求学生多编写程序,多上机调试程序,上机实验的目的决不仅是为了验证所编程序的正确性,其主要目的在于让学生熟练掌握上机操作要领和调试程序技术,积累编程经验。其次上机实验可以加深学生对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授比较枯燥又难以记住,但它们又很重要,通过多次上机就能自然地熟练掌握,通过上机来掌握语法规则是行之有效的一种方法。最后,学生在上机调试通过一个程序后,可以自己改变程序中某些部分,甚至故意设置一些障碍,观察和分析在不同情况下的编译和运行结果。应当说,上机实验的重要性绝不亚于课堂听课,这是巩固和发展课堂知识的十分重要的环节。

2C语言实验课存在的问题

目前在不少高校C语言实验教学活动中,经常会出现以下一些问题:

2.1没有充分调动学生学习的积极性。大部分学生在学习程序设计以前只知道使用计算机娱乐或办公,认为计算机的学习应该很轻松。但是C语言的许多基础知识都是概念性强、理论性强,内容丰富且抽象,具有严密逻辑性的,学习难度比较大。这时有的学生会产生畏难情绪,而老师又没有及时引导,因此许多学生学习兴趣开始降低,不听老师讲授理论课,甚至连实验课也干脆不去。

2.2很多高校的C语言课一般是理论课和实验课分开教学,任课老师只负责理论教学,实验部分则是把学生丢到机房由实验室老师负责辅导,任课老师很少或基本不去机房,学生上机调试程序的自觉性当然很差,就算任课老师布置了作业,也有不少同学在偷偷玩游戏浪费时间,有同学有问题也是由辅导老师负责解答。任课老师和辅导老师沟通不够,学生到底哪里不懂,上机时在干什么这些情况任课老师很少知道,当然也不了解学生现阶段的学习情况,教与学在这里脱节了,任课老师上课就失去了针对性。

2.3学生的作业存在抄袭现象,有的程序错误百出,根本就没上机调试过。对批改过的作业,有相当一部分学生也不认真去分析,交作业仅仅是为了应付老师。对于C语言这样一门实践性很强的课程,仅靠布置作业和书面批改作业的方法来督促学生学习和了解学习情况是很不全面和客观的,很难提高教学质量。

2.4学生每次上机时缺乏明确的量化指标,虽然教师事先也向学生布置应准备的内容,但没有督促和检查,完成完不成无所谓。上机情况与期末总成绩没有直接关系,这常常导致学生上机前不充分准备,上机过程中时间抓得不紧,思想上没压力,故而上机调试程序的能力提高不快。

2.5不少高校目前C语言的编译软件还在用DOS下的TC,现在是WINDOWS横行的年代,如果还是坚持让学生面对纯英文操作界面的TC,运行一系列难以记忆的DOS命令,很多学生看第一眼就被吓倒了,更不用说去仔细分析调试程序时产生的诸多英文提示,而且TC本生也有不支持鼠标操作,输入中文不方便等缺点。3C语言实验课教学改革的原则和方法

基于对以上问题的分析和认识,在上机实践教学中应采取如下改进措施:

3.1为了方便管理任课老师最好兼任实验室辅导老师,或者要和实验室辅导老师保持密切联系、经常沟通,及时了解学生的上机作业情况,适时调整授课进度。加强机房管理,端正学生的上机目的。上机考勤、纪律情况记入期末成绩。

3.2在每次上机时,要求学生在规定时间内独立完成一定数量的练习题。老师(任课老师或实验室辅导老师)根据每人完成练习题的数量、质量与时间,现场打分并做为平时成绩,影响该课程的总成绩。练习题可在上机之前提前告诉学生,方便他们事先做好准备。这样一来即可有效地避免学生互相抄袭作业、不求甚解的弊端。

3.3凡讲过的基本操作方法,要求学生必须事先复习好,上机时一律不予解答。目的是提高学生理论课的听课质量。

3.4取消原来的书面作业,换成学生写实验报告,这样可以帮助他们总结编程经验。实验报告的格式可以参照上机实验指导书,此类书现在书店很多,比如谭浩强编著清华大学出版社出版的《C程序设计》就比较不错。

3.5改进C语言的编译环境,选用WINDOWS下的编译软件,比如WIN—TC,WIN—TC的内核实质上和TC是完全一样的,只不过是操作界面不一样,WIN—TC的优势主要就是纯中文菜单,支持鼠标操作,在WINDOWS下编辑TC代码,充分利用WINDOWS的剪贴版,可以很方便的输入和显示汉字等,这是一个免费软件在网上很容易找到。

3.6笔者结合国内外优秀编程语言的实验教学方法和模式,并经几年来C语言的教学实践,建议在有条件的情况下尽量将理论课和实验课的比例设置成1:1,千万不可为赶教学进度或其它任何理由而压缩实验课时,那样做会得不偿失。

4C语言实验课教学改革的效果

上述方案经笔者若干循环的C语言教学实践后,明显感到改革前后的情况大不相同,取得了较好的教学效果:

4.1课堂听课质量明显提高。因为上机时老师要当场检查程序,根本就不可能去抄袭别人的,就算抄来弄不明白也是白费心机。要想上机时顺利通过,课堂上必须认真听讲,记笔记。因此课堂教学时学生基本上没有迟到和无故缺的,并且课堂上都能专心听讲,记笔记,课间10分钟还问个不停,因为上机时就没有这么多时间详细问老师了。

4.2实验课上机效率明显提高。因为要赶快把程序调通过让老师检查,否则这次作业就没成绩了,上机时大家都在争分夺秒,根本没有人有时间去玩游戏、上网,甚至于有的学生下课后都还要拖堂调试程序。

第2篇:c语言论文范文

感谢我已经毕业的师兄徐日东、张凡、周志坚、段云涌和夏志远,他们曾经给了我无私的帮助和鼓励,让我学到很多。感谢汪健和程诗猛两位师兄,他们丰富的工作经验对于本文的硬件设计提供了很大的帮助。感谢同届的张斌、李纯和张登宝,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。感谢我的师妹邓祯,师弟冯国平、古明生、周建琼、杨帆、舒林、周宇杰、朱圣健、吴喧辉和张泽,从他们身上,我学到很多东西,和他们在一起的日子是读研期间快乐的时光。

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励。特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历。

感谢我的朋友Louis,Dick,Iris,Tracy,Sawyer,Joe,Jason,IceBear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

感觉计算机学院研028班的我的同学,感谢他们在学习和生活上给予我的帮助。

感谢生我养我的父母,他们给了我无私的爱,我深知他们为我求学所付出的巨大牺牲和努力,而我至今仍无以为报。祝福他们,以及那些给予我关爱的长辈,祝他们幸福、安康!

第3篇:c语言论文范文

为了激发学生的兴趣,可以采用Funcode平台进行课程设计。Funcode平台是一款基于游戏设计和动画界面的C\C++\Java综合实验教学平台,该平台以游戏设计为“噱头”,吸引学生的学习兴趣,虽然如此,该平台通过精选大量的游戏案例,还是很好地将程序设计知识点和游戏设计紧密地结合起来,始终紧扣C语言知识点,为C语言课程设计教学提供了一个很好的工具。

1.1图形方式的游戏界面编辑Funcode平台采用图形界面方式的游戏编辑环境,直观、美观、简洁易用。图1所示为正在设计中的游戏,左侧矩形框中为最终运行时可见的游戏界面,可以从右侧中的“鱼”(Funcode中称为“精灵”,任何类似的图片都是精灵,不同的精灵以精灵名区分)中任意拖拽一条“鱼”到左侧矩形框中,即可在游戏界面中增加一条鱼。

1.2提供功能函数,屏蔽对图形的复杂处理Funcode平台提供了大量功能函数,屏蔽对图形对象的复杂处理,使学生能够专注于程序设计和游戏逻辑功能的实现。例如:功能函数voiddSetSpriteLinearVelocityX(constchar*szName,constfloatfVelX)可以使精灵以某一速度水平运动。让图1左侧中的鱼(假设该鱼命名为fish0)游动起来,学生只需用一条函数调用语句dSetSpriteLinearVeloctyX(“fish0”,30)即可实现;亦可通过调用功能函数dSetSpriteLinearVelocity(“fish0”,30,30)使鱼水平方向和垂直方向分速度均为30,即在屏幕上“斜向”游动;功能函数dSetSpriteFlipX(“fish0”,true)调用可以使鱼水平翻转,即实现“掉头”功能。

1.3整体逻辑框架简洁,功能强大Funcode平台整体逻辑框架由7个主要函数模块组成,分别是主函数模块、鼠标移动事件模块、鼠标单击事件模块、按键事件模块、按键弹起事件模块、对象碰撞事件模块、对象与边界碰撞事件模块。其主函数模块如以下程序代码所示,通过主函数模块控制整个游戏的运行和界面刷新。其他的6个函数模块几乎包含了游戏设计中需要处理的所有事件,并且向学生屏蔽了事件激发所需要的复杂判断过程,所有的鼠标事件、键盘事件、碰撞事件均为自动激发,这很大程度上降低了设计难度,使学生可以专注于游戏逻辑功能的实现。例如:要实现图1中的“鱼”游到右侧边界时掉头向左游逻辑功能,在Funcode平台下,当图1中的“鱼”游到右侧边界时,“对象与边界碰撞”模块将会自动激发,该模块的初始程序代码如下所示。此时,学生无需判断和处理“鱼”是否游到边界(这对大学一年级学生而言比较困难),只需要知道“鱼”游到边界后会自动调用“对象与边界碰撞”模块对应的dOnSpriteColWorldLimit函数即可。因此,学生只要能够根据游戏功能在该函数中正确地编写相应的代码就可以了,具体实现“掉头向左游”逻辑功能的完整程序代码如下所示。显然,这样就极大地简化了对图形对象和事件的处理,学生就可以把更多的精力投入到游戏逻辑功能的实现和代码的编写和调试中。

1.4开放式环境,极大地激发学生创新能力Funcode提供了开放式的开发环境,除了完成Funcode提供的课程设计案例以外,学生也可以按照自己的思路,添加素材,大胆创新,设计和开发真正属于自己的游戏,这样能极大地激发学生的程序设计热情。例如:一组学生开发的“大鱼吃小鱼”游戏,当大鱼吃小鱼得分达到一定的分值时,可以生出“鱼宝宝”,尾随大鱼游动,生动有趣。

2教学内容和方法的改革

基于Funcode平台,在教学内容和方法的改革上,以激发学生兴趣,调动学生学习主动性为主要目标,在此基础上,贯穿整个课程设计的各个阶段,采用多种教学方式和方法培养学生各方面的综合素质。

2.1选题阶段在选题内容上,典型游戏设计和自主创新相结合。改变原有的设计内容变为基于Funcode平台游戏设计。设计内容分为两类:一类是典型的可在Funcode平台上实现的游戏,比如坦克大战、打地鼠等;另一类是学生自选题目,要学生根据Funcode平台功能,发挥自己的想象力,创造自己的游戏。教师要通过讨论、引导等方式,鼓励学生自己设计游戏,培养其创新意识和创新能力。题目选定之后,要求学生将游戏整体功能用功能模块和流程图的方式清楚地表示出来,并且要能够准确地描述各模块之间的关系,锻炼学生的抽象思维和逻辑思维能力。在选题方式上,要坚持组内讨论和师生互动相结合。组内讨论有利于游戏功能的完善,有利于发挥所有同学的创新潜力,有利于调动学生参与的积极性。通过教师和学生的讨论交流,教师要控制游戏功能的实现复杂度,既要保证设计的工作量,又要保证控制在可实现的范围内。

2.2设计阶段在课程设计过程中,要避免“学生问,教师答”的教学模式,教师要积极地参与到所有学生的设计中,主动和学生交流讨论,掌握他们的设计情况;善于通过引导启发,培养学生各方面的综合素质。在设计中,要及时发现并指出存在的问题;对于学生提出的问题,要善于引导他们积极独立思考,尽量让其自主分析,找到原因,进而找到解决问题的方法,这一方面可以培养学生独立思考,分析问题和解决问题的能力,另一方面可以增强学生的成就感和自信心,有利于调动学生参与实践的热情。对于游戏功能的实现,要让学生画出流程图或实现步骤,体会程序设计中的抽象思维和逻辑思维。比如对于“打飞虫”游戏,当“拍子”拍中“飞虫”时,对应Funcode抽象概念为“拍子”对象和“飞虫”对象发生碰撞事件,由于碰撞事件自动激发,所以拍中“飞虫”后对应的游戏功能实现逻辑应该在碰撞事件中表达。对于该碰撞事件的处理,要求学生首先画出拍中“飞虫”后的处理逻辑,体会程序设计中的逻辑思维。比如:使“飞虫”图像从界面消失在“飞虫”链表中删除该飞虫显示拍效根据拍中的“飞虫”类型计分刷新游戏界面上显示的实时得分值。课程设计要求按组进行,设计中要求分工合理,任务明确,紧密协作,严格按照日程安排,完成设计任务。要求每2天一次,将每人独立设计的模块进行整合并测试,同时要求学生定期开展讨论,鼓励他们对设计中存在的问题,积极和同组同学交流沟通,要善于发挥集体的力量,解决问题。在协作设计中,培养学生的团队合作意识。此外,在游戏的设计过程中,必然会存在一些较难实现或者知识点超出课本内容的功能,从经验来看,大多数学生都会无奈地选择放弃该功能。此时,教师一定要向学生强调自主学习的重要意义,让他们认识到课堂教学中讲的内容大多是最基础的核心知识点,而实际的应用中要涉及的知识却远非如此,并积极鼓励和指导学生学习和掌握相关知识点。

2.3考评阶段为了进一步培养学生兴趣,调动其积极性,考核采用每组分别进行讲解和演示,交流心得体会,其他组同学和教师进行打分的形式。打分项分为游戏功能、工作量、流畅性、创新性、美观性等5个方面。演示中鼓励其他组的同学提问和试玩游戏,尽量找出游戏设计的缺陷,通过多种方式培养学生的展示能力和竞争意识。最后,教师再进行总结性点评,指出设计的优缺点。

3教学效果

从调动学生学习积极性方面来看,在整个课程设计过程中,学生始终保持着极高的热情。教师为课程设计建立了QQ群,提供全天答疑服务,从QQ群讨论情况来看,学生提问很多,讨论热烈,而且绝大多数在课外时间。此外,课程设计结束后,很多学生指出,Funcode平台美中不足的是:自己创造出的游戏最终生成的可执行程序离开Funcode平台不能运行,非常令人遗憾。这也可以从一个侧面反映了学生的热情和对自己劳动成果的珍惜。从课程设计内容来看,学生大多是按照自己的想法设计的,游戏功能可谓五花八门,创新能力得到了很好的培养和锻炼。更重要的一点是达到了课程设计的教学目的,学生对程序设计的理解更加深刻,巩固了C语言学习成果,能够将游戏功能的实现逻辑用计算机语言准确地表达出来。在程序设计中遇到的具体问题,学生能够提出自己的解决思路,并通过编写程序表达自己的思路,很好地将课堂上学到的理论知识应用于实际问题的解决,抽象思维和逻辑思维能力、程序设计实践动手能力均得到了很好的锻炼。例如:图2所示为学生设计的游戏初始界面。该游戏实现的功能有:游戏实时倒计时;游戏实时显示得分;通过键盘控制游戏的开始、暂停和游戏场景的切换;用鼠标控制“拍子”进行移动和拍打;打到大蚊子、小蚊子积分不同,打到坚果则减分,且打中目标有图片特效产生;蚊子的产生地点、时间、数量和产生时的飞行速度都是随机的,且飞行速度随着积分级别越来越快;游戏结束时显示得分最高的三条历史记录等。此游戏中,学生自己编写代码(不包括自动生成的代码)行数在800行以上,使用的C语言知识点涵盖了数组、链表、函数、变量作用域、多分支结构、循环结构等。

4结语

第4篇:c语言论文范文

关键词:言语事件构成要素理论 《绯闻女孩》

1.引言

言语事件是美国著名的社会语言学家Dell Hymes于1962年在《民俗交际学》(The Ethnography of speaking)一文中提出的。言语事件构成要素理论对顺利完成交际任务并成功地分析某一特定文化的言语交际有很大的帮助。本文将运用言语事件构成要素理论对美剧《绯闻女孩》第四季第二集中Blair Waldorf 和 Chuck Bass的一段对话进行分析。

2. 言语事件构成要素理论,Hymes经多次修改,最终将言语事件构成要素理论划分为以下八条:

Setting and Sence,环境与场景。环境是指时间和地点。场境,专指抽象的心理环境,或者是场合的文化定义。

Participants,参与者包括说话人―听话人,发话人―受话人,或者发送者―接受者等各种组合。

Ends,目的又分为目标结果 ( 惯例化地认为的预期结果) 和目标意图(参与者的意图也是千差万别的。

Act Sequence,行为序列是指所说的话语的具体形式和内容: 具体的用词、使用方式以及所说的话语与当前话题的关系。

Keys,基调指的是特定信息所呈现的风格、方式或精神风貌,例如: 严肃、夸张、轻松、讽刺等。基调也可以用某种行为、手势等非语言的方式加以标记。

Instrumentalities,方式是指渠道的选择,如口头的、书面的、电子的或其他媒介,以及所使用的具体语言形式。

Norms,准则指的是互动中言语行为解读的要求,参与者在交际过程中是否遵循一定的社会准则。

Genre,体裁是指界限清晰的话语类型,包括故事、诗歌、谚语、神话、谜语等。

3. 实例分析

B: Just because you’re dressed poorly doesn’t mean you’re not Chuck Bass.

C: Why would I want to be him?

B: You should’ve told me you got shot.

C: I’m surprised you didn’t shoot me yourself.

B: I have, many times, in my dreams. The good ones. But if you were really hurt, I would want to know.

C: When I woke up, my I.D. was gone. Nobody knew who I was. Nobody was coming to look for me. I realized I might be alive. But Chuck Bass didn’t have to be.

B: Changing your name doesn’t change who you are.

C: It’s a good start, a chance to live simply, earn people’s respect, and maybe become a person someone could love.

B: Someone did love you. And … You owe it to her…and everyone else you’re leaving behind…not to run away, which is what you’re doing. And I don’t think that great man you are talking about wanting to be is a coward. I think he would face up to what he did.

C: I destroyed the only thing I ever loved.

B: (Sigh) I don’t love you anymore.

C: …

B: But it takes more than even you to destroy Blair Waldorf.

C: Your world would be easier if I didn’t come back.

B: That’s true. But it wouldn’t be my world without you in it.

3.1 环境与场景

该言语事件发生在巴黎的一个车站,B和C分手后的第一次见面。为了营造悲伤的氛围,插入了一首I’m in Here的背景乐。因正值晚上,车站灯光很亮,只有少数行人路过。

3.2 参与者

整个对话都在B和C之间展开,所以两人即是说话人也是听话人,是整个事件的参与者。

3.3 目的

B和C目的不同。B受C的继母之托,鼓励C振作并劝他回美国处理生意And I don’t think that great man you are talking about wanting to be is a coward.是B 对C 的鼓励。而此时C的目的是向B解释失踪的原因,以及对B的愧疚。如When I woke up, my I.D. was gone... Nobody was coming to look for me.I destroyed the only thing I ever loved.Your world would be easier if I didn’t come back.

3.4 行为序列

本言语事件的行为序列是B首先对C的身份进行肯定,并便鼓励并劝说他回家;接着,C表达对B的愧疚,并解释失踪的原因;然后,双方互相表达对对方的不舍和爱意,如Your world would be easier if I didn’t come back.But it wouldn’t be my world without you in it. 双方都知道该什么时候开口说话,因此他们之间的对话能够顺利地展开。

3.5 基调

B见C的主要目的是鼓励并劝说C回家,B的语气有鼓励性;在说I don’t love you anymore.之前,她长叹了一口气,说完之后又满眼含泪,因此B的话语中又包含悲伤;而C听到这句话后很吃惊,继而流露出悲伤痛苦的表情。整体看来,该言语事件的基调有鼓励,但更多的是悲伤。

3.6 方式

这段对话是参与者用面对面的口语形式表达出来的,还有少许面部表情和身体语言,如在B说But it takes more than even you to destroy Blair Waldorf. 时,她做出了一个吞咽的动作;在C说完I destroyed the only thing I ever loved.之后,B把戒指递给C,此时C流露出悲伤的表情。

3.7 准则

该事件是恋人分手之后的对话,整个对话遵循对话的基本准则,有序进行。两人虽已分手,但在整个对话过程中,两人并没有争吵和相互辱骂,而是积极的鼓励对方,或是冷静地听对方的解释。在某种程度上,该言语事件也反应出了中西方年轻人不同的爱情观。

3.8 体裁

该对话的体裁是分手之后的恋人之间的交流,两人对产生问题的原因进行了解释。从这个对话中,我们看出两人对对方的不舍和爱意,为以后的复合做了铺垫。该言语事件是典型的日常对话。

第5篇:c语言论文范文

单选题

1.在手势语中,单独使用小指表达的意思是( C )。

A.大人物 B.棒极了 C.小人物  D.胜利了

2.副语言又称(A )

A.辅助语言  B.音节  C.语调  D.工具

3.既是各方言区人民之间的重要交际工具,也是我国各民族之间的交际工具的是( A )。

A.普通话  B.闽南语  C.广东话  D.北京话

4.口头语言较多地使用省略句或简短句是指语言风格的( B )

A.短暂性  B.简洁性  C.多样性  D.复杂性

5.口才与公共关系口才的关系为( A )

A.一般与个别  B.低级与高级 C.容易与困难 D.简单与复杂

6.在区分口才不同层次的标准中,要求表达者应对自如.敏捷灵活. 鞭辟入里,有较强的冲击力.感召力和征服力的标准是( A )。

A.说得妙 B.说得好  C.说得快 D.说得对

7.公共关系口才必须服务于公共关系的既定目标,公共关系传播活动目标是( D )。

A.交流信息 B.沟通感情  C.改变态度 D.引起行为

8.在口语交际信息传播模式中,口头语言中的“义”是指( C )。

A.信源  B.信宿  C.信息 D.符号

9.口语交际的环境被称之为( D )。

A.编码  B.解码  C.压缩 D.语境

10.语言是人类特有的社会现象,融合了声音.意义和( C )。

A.形态 B.图像  C.文字  D.感觉

11.在口语交际中,既有传播,也有反馈,反馈的实质是( A )。

A.传播  B.反应  C.反映 D.传递

12.在公关口才的表述方式中,把事件的结局.问题的后果或人物的命运先说出来的叙述方式是( B )

A.顺叙  B.倒叙  C.插叙 D.引叙

13.说话人运用推理来论述论题的过程和方式称之为( C )。

A.论题  B.论据  C.论证方式 D.论证材料

14.如果论据的真实性有赖于论题的真实性,就等于没有论证,这种逻辑错误为( D )。

A.论题模糊  B.偷换论题 C.论据虚假 D.循环论证

15.“口才就是语言交际中有效运用口头语言的才能”,这里采用的定义方式是( A )。

A.实质定义  B.语词定义 C.分类定义 D.举例定义

16.表达的快与慢主要通过节奏来体现,行与止的表达依靠的辅助技巧是( C )。

A.重音 B.语速  C.停连 D.语气

17.人类口语表达活动中最基本的.最常用的方式是(A )。

A.交谈 B.演讲  C.辩论 D.会话

18.苏东坡说:“能了然于心,不能了然于口。”这带给口语交际参与者的启示是( A )。

A.化解编码的失误 B.把握符号外信息C.克服解码的障碍 D.补救解码的误读

19.语言学家格赖斯提出会话的合作原则中有一条就是( A )。

A.尽量说真话 B.尽量说好话 C.尽量说假话 D.尽量说废话

第6篇:c语言论文范文

关键词:C语言;编程;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)20-4922-02

The Discussion in the Reform of Fundamentals of Programming(C Language) in College

WANG Yu

(Xi'an Aegotechnical College, Xi'an 710077, China)

Abstract: C language is a compulsory course of the computer professional in college, but because each major differences in C language, different professional study requirements vary greatly sometimes. This will give new task in daily teaching of C language. Based on the specific teaching this course practice, how to improve the teaching of the course and the course teaching about the problems related to the discussion.

Key words: C language; programming; teaching methods

C语言是目前大多数普通高等学校都开设的一门计算机基础课。几乎所有的理工科专业的学生都会学习这门课程。对于非计算机和其他电学类专业学生而言,由于从来没有接触过计算机语言,同时C语言作为结构化程序设计语言,本身很抽象。因此,对初学者来说比较难于接受,容易在学习过程中出现一些问题。

1 明确教学的目的

讲授C语言的目的不是要让学生在学习完后能够编写出功能多么强大的程序,这听起来似乎C语言没什么用。并非如此,C语言在培养学生基本的逻辑思维能力、计算思想等方面,都起着很重要的作用。

C语言是为了编写系统软件而产生的一种高级语言,具有行文简练、语法规则简单、运算符丰富、语言通俗易懂、可以进行低级操作等特点。C语言之所以能够在各高校中开设,原因也在于此。教学中要促使学生树立C语言的普遍适用思想,并且要让学生知道C语言对自己所学专业有什么帮助,为什么这个专业会开设C语言这门课程。C语言作为一门基础性计算机语言,而且是多数理工科的计算机技能方面的基础课程,但多数情况下,并不是所有的理工科专业会一直接触计算机方面的课程,但通过C语言培养起来的逻辑思维能力和计算能力,能够对后续课程的学习起到很大的作用。通过实验实践,我们了解到,在C语言教学中贯穿应用程序实例,特别是一些典型的,有生活趣味的程序,会大大激发学生的学习兴趣,使其更深入的理解C语言。

2 多媒体教学的作用

现在大部分高校开设C语言课程,多数的讲解都是在多媒体教室进行的。但多媒体不能完成所有的教学活动。在教学过程中我们应该将多媒体和传统的黑板相结合,有效使用高科技手段,这样,可以将课本中深奥的理论知识转化成生动的幻灯片,使得学生理解起来更加简单,并且可以在讲解过程中提出一些问题,让学生思考作答,从而加深学生对问题的理解。多媒体教学,将抽象问题形象化,枯燥问题生动化。理论联系实际的方法得到了充分的施展。而且还可以根据教学的需要,根据不同的教学目标,教学内容合理适当地组合使用各种教学媒体。

3 关于教学模式的探讨

3.1 以典型实例为引导,讲解语法规则

《程序设计基础(C语言)》中很多知识比较抽象、枯燥,学生不容易理解和接受,这就要求教师在课堂教学中要想办法将枯燥的理论变得生动,将难理解的理论讲得简单易懂。例如,对于“函数”的概念,我们可以在讲解基本概念的之前,先以一个例子为引导逐步引出各个相关知识点和概念,分别对这些知识点进行讲解,然后对知识点进行总结性的讲解,避免纯粹学习语法的单调枯燥。这不仅能激发学生的学习兴趣,而且更容易帮助学生理解相关内容。

3.2 算法教学

C语言学习过程中,学生感到困难的一般不是在于语法,语法学习起来很简单,但是如何运用语法编写语句,再把语句连起来构成程序就比较困难,这就牵扯到了算法的问题。由于C语言语法的逻辑性较强、结构性要求较高,学生在学习过程中容易忽略一些小问题,而算法恰恰是C语言的灵魂所在,因此在算法教学中可以通过实例进行,从最简单的例子入手使学生掌握基本的编程思想。同时让学生知道根据同一个问题编写出不同的几种算法,进而去比较这些算法之间的优劣,找到最简单的散发,就会了解算法的优化。通过进一步的练习,可以在无形中提高学生写算法的水平,使得学生真正了解到算法是程序的灵魂。

3.3 项目教学

在C语言的教学过程中,我们可以采用项目教学法。所谓项目教学法,就是师生一起用C语言开发一个系统或者完成一个比较庞大功能的程序。首先对各个功能模块进行分析,然后对完整的项目系统进行分析,培养学生良好的编程习惯,从模块做起,再连接成庞大的系统程序,并且在编程中充分吸收有益的方式方法,从而完全了解项目流程,真正提高编程水平。例如让学生编写一个简单的财务收费管理系统,这不但使得学生掌握了所学的C语言知识,同时也使得学生了解了数据库、流程图等其它软件设计方面的内容。这样,不但提高了学生的实践能力,同时也激发了学生的学习兴趣,更能够扩大学生的知识面。

3.4 实验实践环节

C语言是一门以实验为基础的课程。光有理论知识,不上机编程,等于没学。教学过程中除了教师的课堂讲解外,其余的都是要通过不断的上机编程使得学生了解C语言真正的内涵。实践环节可以用以下的方法:1) 加强上机实践,使学生的动手动脑能力进一步提高。2) 布置一些能够激发学生兴趣的题目,培养学生编写程序解决问题的能力。3) 教师可在适当的时候进行演示。4) 在所有学生编写的程序中,挑出具有代表性的程序,进行讲解,让大家分享,从而找出自己的不足,进一步提高自己的编程水平。

4 总结

C语言作为一门计算机知识的专业基础课程,主要的目的是培养学生的逻辑思维和计算能力。作为教师,必须认识到非计算机专业的C语言课程存在着很多自身的特点,应该根据各个专业的不同而制定不同的教学大纲和计划。在教学中应当遵循“算法重于语法,语法重于编码”的原则因材施教,并且要注重理论知识和实践环节的相互结合。

参考文献:

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

[2] 王宁.C语言程序设计教学初探[J].科技创新导报,2008,29.

[3] 张玉学.高职电子专业C语言教学探讨[J].现代企业教育,2007,8.

第7篇:c语言论文范文

关键词:C语言;编程能力;教学方法

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)12-2840-04

C语言是目前最流行的语言之一,它既具有高级语言程序设计的特点,又具有汇编语言的功能[1]。同时,C语言概念简洁、语句紧凑、表达能力强、程序结构性和可读性好,很多院校都将C语言作为第一门计算机语言课程开设。但是,由于C语言灵活性大以及内 容抽象等特点,加之授课对象是刚刚接触程序设计语言的大一或大二的学生,在实际的教学过程中,很多

学生由于对概念理解模糊、逻辑思维理解能力不强,导致普遍认为C语言很难学,甚至是畏惧C语言编程。该文针对C语言特点以及独立学院学生这一特殊教学对象,结合对C语言的学习体会、教学过程及C的实践应用对C语言在独立学校的开设进行教学探讨。

1 语言的介绍

C语言是国际上广泛流行的计算机高级语言。它既可用来写系统软件,也可用来写应用软件。C语言的祖先是BCPL语言。C语言既保持了BCPL和B语言精炼,且接近硬件的优点,又克服了它们过于简单,无数据类型等的缺点,C语言的新特点主要表现在具有多种数据类型[2]。开发C语言的目的在于尽可能降低用它开发的软件对硬件平台的依赖程度,使之具有可移植性。

C语言是一种通用性很强的结构化程序设计语言,它具有丰富的运算符号和数据类型,语言简单灵活,表达能力强等特点。C语言的主要特点如下。

具有低级语言功能的高级语言:C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C语言既具有高级语言的功能,又具有低级语言的功能,C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言[3]。

模块化和结构化语言:C语言用函数作为程序模块,以实现程序的模块化;C语言具有结构化的控制语句(如if...else语句、while语句、do...while语句、switch语句和for语句),语言简洁、紧凑。

可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。

执行效率高:C语言生成目标代码质量高,程序执行效率高。

2 独立学院学生特点

C语言成绩设计要在独立学院开设并且办好,首先需要对授课对象也就是独立学院的学生特点进行全方面的了解。独立学院是近几年来随着高等教育的快速发展产生的新型高等教育办学形式,其招生录取线主要介于普通本科和高等专科之间,是我国高等教育办学机制的大胆探索和创新,在扩大高等教育资源和高校办学规模方面起到了积极作用,逐渐成为当前和今后一定时期高等教育发展的一个重要方面[4]。独立学院的学生在基础知识、自身素质、认知能力等方面存在着某些差异。大部分独立学院学生相较于本一、本二学生基础知识较差是事实。学生的基础知识掌握较差,偏科现象严重, 如英语、数学基础底子薄。学生渴望获得优良成绩,敬佩学业优秀的同学,但学习毅力和刻苦精神不够。部分学生学习目的不够明确,学习态度不够端正,他们没有良好的学习习惯和饱满的学习热情,自主学习的能力和毅力不够。表现在上课不专心,课后不自习,经常迟到、早退。部分学生自律性差。所以,掌握好独立学院学生的特点,针对这一特殊授课群体,更加需要教师不管是从理论还是实践上机方面都需下足功夫。

3 理论教学

在C语言理论教学过程中,首先,教师要让学生对C语言程序设计这门课有直观的感性认识,结合独立学院学生所学专业的特点,对理论讲授教案精心设计安排,使学生体会到C语言程序设计在以后的工作及生活中的应用,提高学生学习兴趣;其次,在具体理论教学中,力求做到概念准确、简洁、易懂,注重基础知识的学习,使学生由浅入深、循序渐进的掌握C语言并培养阅读及编写程序的能力。

3.1 激发兴趣

在C语言教学过程中,首先打消学生对C语言的陌生及恐惧,逐步培养学生学习兴趣。兴趣是求知的内在动力。激发起学生的兴趣,学习就会积极主动, 学得轻松而有成效。但是学习兴趣不是天生的,主要在于教师如何引导学生,充分调动学生对学习的积极性和主动性,进而能创造性地学,最终达到优化课堂教学和提高教学效率的目的。

在教学过程中,首先,教师应是组织者,引导者与合作者。教师的作用便是调动学生主动思维和主动参与的积极性。同时要关注学生个体差异,让每个学生得到全面发展。尊重学生、面向全体学生是激发学生学习兴趣的重要手段。就必须面向全体学生,尊重学生,做学生信赖、喜欢的老师,这样才能引起学生的兴趣。因此,教师应根据学生的认知规律创设条件,引导学生主动学习、探究,通过具体引例使学生进入C语言课程学习。其次,营造以学生为主体的严谨活泼的课堂氛围。教师必须相信学生有潜在的尝试能力,对学生的探索活动要充满信心,循循善诱。创设师生心理相容的课堂气氛,使学生感到老师既是师长,也是最可亲近,可以与之交心的朋友。精心设计教案以及灵活运用多媒体,调动兴趣。卢梭说:“教育的艺术是使学生喜欢你所教的东西。”鲜明的表现力和直观的形象性, 最能调动学生的多种感官,唤起其浓厚的学习兴趣,使学生不知不觉的进入C语言课程设计的教学内容之中。

3.2 培养能力

在C语言教学过程中,培养学生能力是至关重要的。C语言作为一种计算机编程语言工具,学习它的目的在于培养学生程序设计能力,从而解决相关的实际问题。所以,在实际理论教学中,通过结合各种语法规则和格式等细节讲授C语言程序内容。下面从主要从阅读程序能力和编写程序能力来探讨。

3.2.1 阅读程序能力

C语言的语法规则和格式规定比较多,一般情况下,教师针对这些语法的使用情况,利用一些典型例题进行讲解。在课堂上需注意以下几点:

1)从教师自我做起,课堂上书写程序规范,严格要求学生。

2)课堂上带学生所阅读的程序要难易适中,覆盖面要广。

3)将复杂问题简单化、模块化。

4)采用举一反三、案例教学、任务驱动和师生互动相结合。

5)由浅入深、循序渐进、精讲多练,全面提高学生设计程序能力。

但是由于学时有限,为了更好的掌握C语言,教师应该为学生提供及推荐一些学习C语言课程较好的教材、习题册或是学习网站作为参考资料,使学生除了在课堂上接触C知识和技巧之外,在课下可以阅读到大量别人的程序,然后才能使学生加深对C语言各种语句的使用,拓展学生的思维理解能力,提高学生的编程技巧,最终能够很好的解决实际问题。

3.2.2 编写程序能力

编写程序解决问题是学习C语言最终目的。然而编写程序最重要的是寻求解决问题的思路和方法,即算法。在实际教学中,如while循环结构,采用案例教学法讲授计算从1到n的n个自然数的累加,程序代码如下:

#include

main()

{ int i,n,s;

printf(“Please input n:”);

scanf(“%d”,&n);

i=1;

s=0;

while(i

{

s+=i;

i++;

}

printf(“sum=%d\n”,s);

}

程序运行结果如图1所示:

图1 运行结果

在这段代码中,循环开始时初始状态的设置是由变量i和s的初始化操作来完成的。循环的执行条件是i

在使用while语句时有两点需要注意。第一点是对初始状态的描述需要完整、准确。在上面的例子中,不仅要正确地设置循环控制变量i的初始值,而且要正确地设置累加变量s的初始值,即将其清零,否则计算结果将是错误的。第二点需要注意的是,对的循环求值应最终导致循环结束。如果在中不包括读取输入数据等对外部条件的判断,则在循环体中必须有影响求值的操作,而且对的影响要导致循环结束。在例中,循环执行的条件是i

通过上述自然数累加和题目的讲解,不仅使学生掌握了while编程的基本思路和方法,而且可以使用举一反三的方法,拓展提高学生分析和解决问题的能力。比如,上例求自然数累加和拓展到如何编写奇数累加或是偶数累加来启发学生,在启发过程中,教师应逐步提问,调动学生的编程兴趣,引导学生跟进思考,鼓励学生使用不同的方法进行编程,并使学生形成一种编程的思维习惯,这对提高学生独立编程解决实际问题的效果非常好。

4 实践教学

程序设计是一门实践性很强的课程,不能只依靠课堂学习和看书就能很好的掌握C语言程序设计。应当十分重视学生动手编写程序和上机运行程序。上机的时间愈多愈好。学习C语言时有一点应当注意:对于我们独立学院的学生,由于学生基础差,学生之间差异较大,自学能力低等特点,教师应该强调学生把精力放在最基本、最常用的内容上。开始时不要钻牛角尖,在一些具体细节上死抠。有一些细节,随着对C语言的了解逐步深入和实践经验的逐步丰富,会自然地掌握的,而有一些细节则要通过长期的实践才能真正熟练掌握。

4.1 上机调试程序

在C语言实践教学中,重点培养学生关于编程工具的熟练使用,以及调试和修改程序的能力。目前,使用较广泛的C语言编程环境是VC环境[5]。在上机课上,根据理论内容进度,合理布置上机内容,包括基本功能实现,新功能的添加以及尝试变换条件等方式,使学生充分利用编程工具提供的调试功能,对有错误的程序进行反复的运行和调试,最终得到正确的运行程序,同时总结经验,只有这样不断的练习,才能使学生对理论知识有深入的理解和掌握,对实际问题的解决能力有更进一步的提高。

4.2 C语言实践应用

一般来说,独立学院学C语言是一种入门语言,它是一种面向过程的,我个人理解就是面向对象的语言,它里面最终实现对象的功能还是过程式的。如果不是计算机相关专业的学生,学习C语言用来培养一下逻辑思维、学些编程的基础概念,假设以后会涉足到计算机这方面的话,有一个良好的理论和思维基础。但是在计算机领域,C语言仍是今天应用最为广泛的语言。它主要是面向底层的,也就是说它主要是对硬件的操作。日常用户所能常见的C语言程序主要是各种硬件驱动程序、嵌入式程序(例如一些车载导航系统、微型手持设备等)还有大部分操作系统也主要是由C语言写成的,当然C也在单片机中有很多的应用[6]。在大三大四阶段,学校就会组织一些学生参加多种部级、省级电子大赛,很多优秀作品基于单片机或是嵌入式系统的并用C语言编程实现功能,都获得了优异的成绩[7]。这样将C语言的理论学习和实践应用相结合,对学生毕业设计以及将来步入工作岗位都是一个坚实的基础。

5 结束语

C语言课程是独立学院设置的培养大学生计算机能力的一门基础语言,学习C语言,培养学生的编程思维能力,为将来学习其他编程语言或是参加工作打下坚实的基础是至关重要的。针对独立学院学生特点,结合实际教学要求和内容,提出了理论教学和实践教学相结合的方法,重点培养学生掌握C语言程序设计的方法和思维能力,提高了学生学习的兴趣和主动性,使其掌握基本算法和编程技术,以解决实际问题,才能不辜负教育工作者的不断探索和寻求,实现教学的最终目标。

参考文献:

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

[2] 杨照华.计算机专业课程与教学改革初探[J].煤炭技术,2012(3):251-252.

[3] 王海燕,韩萌.浅谈C语言程序设计教学[J].科教论坛,2007(6):25-27.

[4] 彭斌.高职院校C语言程序设计[J].教学探讨,2008(36):196-197.

[5] 沈军.C语言程序设计语言课程的教学新思路[J].电气电子教学学报,2000(4):15-16.

第8篇:c语言论文范文

中图分类号:G433

文献标识码:A 文章编号:1672-7800(2017)006-0222-04

0 引言

国际通行的双语教育基本要求是:在教育过程中有计划、有系统地使用两种语言作为教学媒体,使学生在整体学识、两种语言能力以及这两种语言所代表的文化学习及成长上,均能达到顺利而自然的发展[1]。在这里,第二种语言是教学手段而不是教学内容或科目[2]。

双语教学的目标具有双重性:①对本科生开设双语教学,可以培养英语口语、阅读英语教材、英语资料和英语文献的能力,为进入研究生学习打下基础;教师可通过双语教学,培养和锻炼阅读和撰写英文paper的能力;②双语教学的目的是帮助教师更好地传输学科知识,学生更容易地接收学科知识。

1 C语言双语教学现状

计算机类课程中,最适合双语教学的课程是计算机语言课程,学生一般最先接触的是C语言,理工类专业课程中讲授最多的也是C语言。

C语言本身就采用英语格式,这是此课程作为双语教程的最大优势[2]。学习C语言语法时不需要进行汉语翻译,只需对其英文本意进行直译,这是这门课程和其它非语言类课程的最大区别,也是其开展双语教学的主要原因。

计算机程序设计的知识源自国外,实施双语教学势在必行。如C语言的圣经《The C Programming Language》,《Thinking in C》,没有英文基础也可接收知识,但根本无法真正领会程序设计思想的精髓。因此,C语言实施双语教学,结合各种程序调试来加强对英文程序内容的理解,才能引导学生理解C语言程序设计的语法、逻辑和算法意义。

C语言开展双语教学已有多年,取得了一些成绩,但多停留在课堂理论知识上,对以下几个问题缺乏深入思考:①双语教学时第二语言的比例是多少?②双语教学中学生的英语水平和计算机水平如何?③虽然理论课采用双语教学,但实验环节如何理解英文的相关提示等信息?④双语教学内容选择是否合理?⑤双语教学如何设计实施?

2 C语言双语教学设计

C语言语法和程序设计思维是学科知识,双语是手段和方法,有效利用英语服务于C语言教学对教学效果影响很大。通过对上述5个问题的深入思考,以笔者学院开设的《C程序设计》双语课程为例,设计并实施了“多维”C语言双语教学模式。

C语言的教学设计应具备以下几个基本条件:①授课教师非常熟悉双语教学内容,能用英语交流程序设计方法;②学生具备一定的英语听说读写能力;③学生具备一定的计算机基础知识。

C语言的双语教学设计原则:①根据学生的英语能力适当调整英语授课比例;②根据学生计算机基础(背景),适当调整英语授课比例;③根据教学内容,精心选择英语教学内容;④根据学习情况适当调整英语授课比例;⑤基本概念、句法结构和语法结构等使用准确的英文表达;⑥基本概念、句法和语法结构的解释和使用说明使用一定比例的汉语进行讲解;⑦设计出的程序要保证在符合C语言语法、句法的条件下,使用一定比例的英语表达;⑧算法可以采用自然英语或伪代码形式表达,帮助学生用自然思维去理解;⑨使用英文表达调试程序,尽量使用英文解释程序调试问题;⑩授课资料、教材、学生作业、实验指导、测试和考试应保证一定比例的英语表达和一定比例的双语表达。

C语言双语教学设计要根据学生实际情况和教学具体内容而定,内容应涵盖C语言教学的多个方面,始终遵循“从C语言教学本身出发”的基本思想。

3 C?Z言“多维”双语教学实施

C语言实施双语教学,主要从“理论基础、控制结构,算法设计、程序调试和程序设计”5个维度展开。

3.1 理论基础

C语言的理论基础知识包括关键字、常量、变量、数据类型、运算符、表达式、预处理指令和C库函数等,这些基础知识要使用准确的英语来讲解。例如:

在这个程序中,出现以下几类基础知识:①int、return是关键字;②printf是C库函数名;③int是数据类型;④#include 是预处理命令;⑤main是主函数名。

其次,分析这几类基础知识:①return、include、main与英语中对应的单词含义几乎一致;②int汉语是整型,是英语单词integer的前3个字母;③printf是输出函数的函数名,其中 “print”在英语中有打印输出的意思,“f”是英语单词function(函数)的第一个字母;④stdio.h是一个头文件名,其中,“std”是英语单词standard的简写,“i”是英语单词input的第一个字母,“o”是英语单词output的第一个字母,“h”是英语单词head的第一个字母,“.h”是文件的后缀名;⑤This is my first C program!是一个字符串,是一句英文准确表达的句子;⑥\\n是一种字符常量,叫转义字符,起“换行”的作用。

首先要记住这些基础知识的含义,然后用双语讲解这些基础知识的作用、用在什么地方、如何使用。值得注意的是,在双语教学中,学生知道汉语解释是为了容易理解,但在后续教学中,应要求学生用准确的英文表达而不是汉语表达。例如:当学生看到、读到或用到“int”时,脑海里浮现的就是“int”,读的也是“int”,用的也是“int”,而不是去翻译它。学生理解和掌握了理论知识,后续理解和掌握声明或定义结构、句法、语法就能水到渠成。

3.2 控制结构

程序设计的三大控制结构利用人们日常生活思维来设计程序,使得计算机能按照人类思维去运行、计算结果。三大结构采用双语教学方式,有利于学生理解和掌握。

需要说明的是,这个教学内容与生活思维完全相似,学生比较容易理解。因此,可以增加双语教学比例,甚至采取全英文的教学模式。

3.3 算法设计

算法是程序设计之前必须考虑的问题,简单说就是让计算机解决问题的方法。算法的描述方法有很多种,笔者经过多年的教学实践发现伪代码很适合初学者。伪代码接近自然语言,便于初学者理解和掌握。在C语言双语教学的算法设计中采用英语伪代码更能消除算法与程序之间的距离感。

例如:设计一个能进行多次计算的四则运算器,直到用户强制结束程序。

(1)算法的自然语言描述:首先,输入计算用的两个操作数和运算符;接着判断运算符是哪一种(+、-、*、/),进行四则运算;然后输出运算结果;重复以上3个过程直到用户输入结束程序的命令。

(2)算法的英文描述:①input the expression as a+b,“a” and “ b” are operation numbers,“+”is operator;②judge the operator then select the right formula;③output the result;④repeat the three steps ahead until user input the character “N”,the program is end。

通过以上对算法的描述,特别是使用伪代码,大大降低了算法的抽象性,能看到程序的雏形。这时学生编写程序会觉得可以动手,增强了自信心。

3.4 程序调试

学习程序设计,除了学习学科知识(knowledge)外,更为重要的是计算思维(Computational Thinking)和编程技能(Computational Skills)训练。《C程序设计》实验课非常重要,汉化的C语言编译系统存在缺陷,学生应使用全英文版的VC++6.0调试程序。调试程序时得到的警告、错误提示和调试方法全部用准确的英文描述。如图1为程序改错题调试界面。

程序调试过程中,要求学生填写表1。

调试程序是对程序结构、逻辑问题、语法问题和算法进行调整和测试,经过阅读、调试和改错训练,学生对全英文的错误和警告提示理解力提高,调试程序也变得容易。

3.5 程序设计

程序设计是一个综合学科知识和编程技能的过程,学生要依靠所获得的知识和技能才能完成此项工作。首先给出程序结构,然后用英文注释说明程序的某个部分应该实现哪些内容,最后再逐渐把程序补充完整。

4 C语言“多维”双语教学效果

C语言“多维”双语教学实施后,在以下方面取得成效:①学生对理论知识掌握比以往牢靠,特别体现在语法和句法的掌握上,鲜有学生在程序设计时出现语法和句法的书写错误;②学生对三大结构的理解和实现比以前清晰;③利用英语伪代码进行算法设计,为学生从算法到程序的过渡建立了直观的桥梁,消除了对算法的恐惧性和对程序的神秘性;④从实验课完成情况看,学生会优先做程序改错题,再做程序填空?}和程序设计题。在程序调试过程中,对很多错误和警告都能马上改正;⑤学生进行程序设计不一定一次成功,但通过多次重复思考和注释的过程,可以做到“设计一点、调试一点、完成一点”,最终逐步实现整个程序。

5 C语言“多维”双语教学总结和展望

第9篇:c语言论文范文

0 引言

C++语言是在C语言的基础上扩充了面向对象的概念及相应的处理机制而形成的一种混合型程序设计语言[1]。我院信息与计算科学专业课程安排是,先C语言程序设计,再C++面向对象程序设计。很多在C语言中出现的概念或原理在C++语言中又有新的相应的处理机制,但是以往的教学经验表明,很多学生学完C++语言中相关概念之后并没有彻底分清两套机制的区别,不能将C++相关处理机制与C语言中的相应处理机制相联系,所以为了让学生不混淆这些相关概念及相应的处理机制,本文提出了“X+2”教学方法。

1 “X+2”方法

“X+2”方法中的“X”方法指的是根据不同的知识点使用不同的方法。例如类比法、事例法、编程举例法、项目驱动法、扩充法等。该方法中的“2”指的是问题教学法和归纳演绎教学法。问题教学法,就是在教学过程中教师根据相关内容创设问题情境,把问题作为载体,贯穿整个课堂教学过程,让学生主动参加其中,提出解决这些问题方法的一种教学方法。由于C++的概念多,语法比较复杂,内容十分广泛,在教学过程中,问题教学法可以提高学生上课的注意力和集中力,活跃课堂气氛,能使学生求知欲由潜伏状态转入活跃状态,有力地调动其思维的积极性和主动性,是开启学生思维器官的钥匙,充分体现其主体地位。问题教学法可以使用课堂提问的方法;或者使用激情的方法,激发学生保持探求问题的热情,课后思考问题给出答案;或者使用演示的方法,使学生因为惊叹结果的微妙而去推论问题的原因;或者使用故意改错的方法,让学生在笑过之后再反思其中的问题等等。

学习有两种过程,一个是归纳过程,即同学们应用新的观察结果来推导出规则与理论;另一个是演绎过程,即从这些推导出的规则与理论得出推论,灵活地应用并且以实验来验证这些推论与应用,从而检验前面归纳出的规则与理论。这就是归纳演绎教学法。如果教的得法,就可帮助学生学会做好这两个过程。因此我们说到归纳演绎教学法时,并非完全排除讲课,完全靠学生自己来发现问题,而是采用一种先进行归纳再演绎的教学方法。我们很赞成布兰斯福德(Bransford)所说的:“有时候,通常是在人们先已靠自己抓住了问题关键之后再直接点破要教的东西,会取得极佳的效果[2]。”

归纳演绎法可以让学生掌握概念和语法的核心内容,加深他们对繁多复杂的概念和语法的理解,并能将其应用于编程,不至于像以往编程时遇到语法错误就产生畏惧的心理,出错时可能会因为错误信息是英文的而看不懂;或者即使看懂了,但错误产生的原因并非如此,机器只会给出大概出错的原因,如果语法概念掌握得牢固,就可以使学生避免畏惧心理,正确处理编程中的语法错误。

下面通过举例来讲解“X+2”方法的应用。

2 应用举例

2.1 动态内存的申请与释放

⑴ “X”方法

在讲解该知识点时,“X”方法使用类比法、编程举例法[3]。由于C语言中也出现过“动态内存的申请与释放”,首先让学生思考C语言中是如何实现该原理的,然后提问,让一个学生来回答,得出C语言中使用两个函数malloc和free来实现该机制,引出C++语言除了继承C语言的这套机制外,本身又有自己的一套机制:new和delete,接着编写两个程序实现相同的功能,即基本数据类型动态内存的申请与释放。

2.2 引用

⑴ “X”方法

在讲解“引用”这个知识点时,如果就理论讲理论,照本宣科,只会使学生厌倦疲劳,昏昏欲睡,他们不但记不住,还会产生逆反心理,所以讲解“引用”时“X”方法采用事例法、类比法、扩充法、编程举例法等。由于“引用”概念在C语言中没有出现过,学生第一次接触该概念,授课时应尽量用他们能够理解并且熟悉的事例来解释,这样可以使学生快速并且牢固地掌握抽象概念本质及其现实意义。首先询问哪些同学有别名,别名和姓名都表示自身,而编程操作对象即变量名也可以有别名吗?结论是可以,这样学生就明白了“引用”就是C++语言的一个特殊的数据类型描述,用于在程序的不同部分使用两个以上的变量名指向同一地址,使得对其中任一个变量的操作实际上都是对同一地址单元进行的操作。在两个以上变量名的关系上,被声明为引用类型的变量名则是实际变量名的别名。

⑵ 提问

⑶ 归纳

2.3 数组引用

⑴ “X”方法

此知识点的“X”方法使用扩充法,把引用运用于数组中,对书本知识进行扩充。由于引用不是变量,所以不能说明引用的引用,也不能说明数组元素的类型为引用,或指向引用的指针,例如:

⑵ 提问

请学生再看看这段程序: