首页范文c语言程序设计实例十篇c语言程序设计实例十篇

c语言程序设计实例十篇

发布时间:2024-04-25 08:30:44

c语言程序设计实例篇1

关键词:C语言程序设计教学方法实践

中图分类号:tp312.1文献标识码:a文章编号:1007-9416(2013)06-0168-02

1引言

C语言是国际上广泛流行的计算机高级语言,自1972年问世以来,以其功能强大、使用灵活,既可用于编写应用软件,又能用于编写系统软件的特点得到迅速推广[1]。以我院电气工程系生产过程自动化技术专业为例,它是很重要的一门专业基础课,一般安排52学时左右(包括上机实验),通过该课程的学习,学生不仅能够掌握程序设计的一些基本方法和技巧,也为后续课程的学习打下基础。但现阶段非计算机专业的C语言教学不容乐观,为了激发学生的学习兴趣,在近几年的实际教学中不断进行探索和实践,得到一些有益的启示。

2存在问题

2.1学习不主动,学习方法不科学

近几年高校扩招缘故,高职学生基础下降,自我控制能力和自我约束能力较差,对学习没有兴趣。特别是对于非计算机专业的学生认为这门课程不重要,学习时课前不预习,上课注意力不集中,只是机械的听老师讲课,课堂上也不做笔记,课后也不及时复习[2],这样的恶性循环造成了学生对C语言越学越不会的局面。

2.2教学方法单一,降低了学习兴趣

在传统的C语言整个教学过程中,教师始终处于主导地位,学生只是被动的接受知识,再加之教师只是一味地给学生灌输C语言的语法知识,而忽略了编程,学生处于一种“学完忘完”的现象。教学内容的枯燥,教学方法的单一,学生难以发挥学习的主动性和积极性,降低了学习兴趣。

3改进方法

3.1课堂多互动,调动学生学习兴趣

传统的教学主要以教师讲授为主,学生只是被动的接受,我们学院一节课课时长达100分钟,学生很难集中注意力,不能主动的去分析问题、解决问题。在讲课的同时,教师可以通过提问---回答---讲解的方式使学生注意力集中,还可以通过分组、进行小组讨论,让学生处于主体,提高学生兴趣,活跃课堂气氛,调动学生积极性。

3.2教学方法和手段的改革

3.2.1从问题入手,进行启发式教学

传统的教学过程是先介绍基本概念,再讲解语法知识,然后围绕语法知识进行举例,最后上机编程运行。对于高职学生来说,逻辑思维比较差,对于纯理论的东西缺乏兴趣。在教学过程中要精心设计各种问题,把教学内容巧妙地隐含在每个任务中,让学生带着任务和问题去学习[3]。比如在讲数组时先提出问题:如何编写程序来计算全班同学的平均成绩?这个时候学生进入思考过程,能力强一些的甚至试图动手写出程序。但由于之前只学过变量,程序中变量设置过多,比较麻烦,这个时候,教师可以引出一批相同类型的数据应该怎么解决-----数组的概念,最终成功解决问题。

3.2.2作业布置循序渐进,由易到难

教师在布置作业时,要能够满足学生的成就心理,以鼓励的方式进行作业设置。也就是说在作业布置时应该从简单入手,必要时给出提示或相似的例子,由易到难提高作业难度,这样可以增强学生自信心,进而解决更难的问题。例如在利用循环的嵌套打印图形组合的作业中,作业题目由易到难可以做如下布置。

这个题目在先前题目的基础上,进一步提高了难度,由有规律变换变成了无规律变换的图形组合,学生通过本题目的练习有意识的会拆分图形,把无规律变换成为有规律变换,对知识融会贯通,成功解决问题。

由此可见,从所学知识的简单应用到复杂推广,可在逐步增加难度的题目中逐渐提高学生的应用能力。

3.2.3理论与实践相结合,提高学生实践能力

C语言程序设计这门课程是实践性较强的课程,不仅要学习理论知识,更重要的是要学以致用,利用所学到的知识编写程序解决实际问题。在上机过程中,学生可以通过编译软件掌握程序的编写、调试、运行。在具体的操作中,发现问题、解决问题。本专业理论与实践课比是2:1,一般两次理论课后安排一次上机,这样学生可以吧课堂上的理论知识通过编译软件进行练习,进一步验证程序的可执行行。这样不但能培养学生动手能力,还能培养学生独立思考能力,理论与实践相结合,提高学习的质量和效率。

4结语

总之,在C语言程序设计的教学过程中,要努力提高学生对该课程的学习兴趣和学习热情,在教学方法和手段上不断进行改革,加强实践动手能力。C语言的教学改革是一项长期的过程,需要我们不断改进、不断完善,只有坚持不懈的探索实践,才能达到更好的效果。

参考文献

[1]谭浩强.C语言程序设计.北京:清华大学出版社,2010.2-6.

c语言程序设计实例篇2

关键词:案例教学;C语言程序设计;竞赛;教学方式;改革

中图分类号:G42文献标识码:a文章编号:1009-0118(2013)02-0165-01

C语言功能丰富,表达力强,使用灵活方便,应用面广,目标程序高,可移植性好,既具有高级语言的特点,又具有低级语言的许多特点。因此近年在国内外得到迅速推广应用和广泛应用。《C语言程序设计》课程作为计算机专业的入门课程和理工科专业的必修课程,也是国家计算机等级考试可选编程语言之一。课程不仅重视理论教学,更加强调学生的动手实践能力[1]。

但C语言概念比较复杂,规则繁多,使用灵活,学生掌握起来有一定的难度。传统教学过程中存在很多问题,比如实践教学内容与理论教学脱节,上机过程学生随意性大,教师难以在有限的上机课时内对全部学生问题进行解答,学生自学能力不强等。因此对《C语言程序设计》课程教学方法及考核模式进行改革势在必行,案例教学方法和竞赛的应用是解决此类矛盾较好的措施[2]。

一、改革思路

对《C语言程序设计》课程改革的思路是以学生为主体,以实践为主导的教学方式,从而激发学生的兴趣,使其既掌握适当的C语言程序理论知识,更具备较强的实际编程技能,能满足现在工业对技术应用型人才的需要[3]。

二、教学平台和资源库建设

课程的矛盾之一是课时的不足,因此课程需要加强课程平台和资源的建设,使学生能够利用的软硬件资源丰富,将学习时间从课堂内延伸到课堂外,甚至毕业后,弥补课堂教学课时的不足。本课程建设的资源包括:(一)教材的建设,本课程出版的教材包括:《C程序设计应用教程》(中国铁路出版社),《C程序设计实验指导》(中国铁路出版社),《C语言程序设计基础教程》(清华大学出版社);(二)多媒体教学课件;(三)案例教学数据库;(四)考试题库。同时平台上建立问题解答和互动板块,让老师在课堂外也可以学生的问题进行解答,解决教师课堂上时间不足,问题太多,“下不了课”的问题[4]。

三、教学方式的改革

孔子曰:“知之者不如好之者,好之者不如乐之者”,爱因斯坦说过:“兴趣是最好的老师”,因此提高学生的学习兴趣,使课堂生动是最好的教学改革方式,能够让学生从被动学习化为主动学习。

(一)案例教学方法的运用。《C语言程序设计》是一门实践性、应用性很强的课程,单一的理论讲授,学生会感到抽象、枯燥、掌握不牢。因此可以堂课演示几个由C语言编写生活中用到或者见到的小程序,如“计算器”、“五子棋游戏”,同时让学生自己编辑实现后并和源代码对比,在增加学习趣味性的同时,增强学生的自信心。另外将老师参与的科研和生产实际的C语言程序案例引入到课堂,在提出问题、分析问题、解决问题的思路下,将各个重点、难点转化为具体的问题和案例,然后围绕这些问题和案例进行深入讲解。在引导学生思考和记忆的同时,让学生“看得见”,“摸得着”,将教学从课堂延伸到工业场景[5]。

(二)课程竞赛的引入。竞争能够激发“攀比”的思想,因此在课程内开展《C语言程序设计》竞赛,选出优胜作品参加《全国程序设计大赛》,在实战演练中培养学生分析问题、解决问题的能力。让学生感觉上课“好玩”,实现学生课堂内、外自主学习[6]。

四、结语

针对提高学生程序开发应用能力这一中心,对《C语言程序设计》课程进行了学习平台和资源库的建设,同时将案例教学和竞赛引入到课堂教学中,《C语言程序设计》教学改革取得了非常理想的教学效果,无论是在学生成绩的提高上,还是学生的反映上,以及考试的效率上等均达到了教学目的。

参考文献:

[1]陈世基.C语言程序设计实验教学方法的改革与创新[J].福建电脑,2007,(5):207,196.

[2]丁海燕,邹疆,邱莎.C语言实验教学体系及改革措施[J].实验技术与管理,2010,27(11):179-181.

[3]刘桂玲.《C语言程序设计》教学改革与实践[J].软件导刊,2012,11(3):194-195.

[4]袁学倩.《C语言程序设计》课程教学改革的探讨[J].科技信息,2012,(21):137,218.

c语言程序设计实例篇3

>>微课在高职《C语言程序设计》翻转课堂中的应用研究翻转课堂教学模式在C程序设计课程教学中的应用研究翻转课堂在高级语言程序设计课程中的应用浅谈基于微视频的翻转课堂模式在“高级语言程序设计”实验教学中的应用基于android的C语言程序设计“翻转课堂”的应用研究基于mooDLe的高职院校“C语言程序设计”翻转课堂教学改革基于翻转课堂的C语言程序设计课程教学改革初探基于翻转课堂模式的C语言程序设计教学改革传统教学和案例教学在C语言程序设计教学中的应用行为导向教学法在《C语言程序设计》课程教学中的应用启发式教学法在C语言程序设计教学中的应用项目教学法在高职《C语言程序设计》课程教学中的应用案例教学和竞赛在《C语言程序设计》教学中的应用任务驱动式教学在高职《C语言程序设计》课程教学中的应用论项目教学法在高职《C语言程序设计》教学中的应用“项目驱动”教学在《C语言程序设计》教学中的研究和应用“任务驱动教学法”在《C语言程序设计》课程教学中的应用案例教学法在“C语言程序设计”教学中的应用案例教学法在“C++语言程序设计”教学中的应用基于任务的教学模式在《C语言程序设计》课程中的应用常见问题解答当前所在位置:.

[3]何克抗.从翻转课堂的本质看翻转课堂在我国的未来发展[J].电化教育研究,2014,(7):5-16.

[4]Fulton,Kathleen.UpsideDownandinsideout:FlipYourClassroomtoimproveStudentLearning[J].Learning&Leadingwithtechnology,2012(6):12-17.

[5]张渝江.翻转课堂变革[J].中国信息技术教育,2012,(10):118-121.

[6]秦建华,何高大.翻转课堂:理据、优势和挑战[J].现代中小学教育,2014,(5):17-20.

[7]汪琼.mooCs改变传统教学[J].中国教育信息化,2013,(19):26-28.

[8]JonathanBergmann&aaronSam.Howtomakevideosyourstudentswilllove[DB/oL].http:///2012/05/21/how-to-make-videos-your-students-will-love/,2012-05-21.

[9]金陵.用“学习任务单”翻转课堂教学[J].中国信息技术教育,2013,(3):20-20.

[10]Baker,w.theClassroomFlip:UsingwebCoursemanagementtoolstoBecometheGuidebytheSide[a].the11thinternationalConferenceonCollegeteachingandLearning[C].JacksonVille:Florida,2000.

[10]金陵.设计自主学习任务单[DB/oL].http:///learn/pku-21016#/learn/content?type=detail&id=200062&cid=216351,2014-10-25.

c语言程序设计实例篇4

关键词:C语言;非计算机专业;教学改革

作者简介:陈伟宏(1976-),女,湖南益阳人,湖南城市学院信息科学与工程学院,副教授;何建新(1975-),男,湖南益阳人,湖南城市学院信息科学与工程学院,高级实验师。(湖南益阳413000)

基金项目:本文系湖南省普通高等学校教学改革研究项目(项目批准号:湘教通[2011]315号345)、部级大学生创新创业训练计划项目(项目批准号:教高司函[2013]8号7112)的研究成果。

中图分类号:G642.0文献标识码:a文章编号:1007-0079(2013)34-0101-02

随着计算机技术的发展,计算机与其它学科的结合越来越紧密,C语言程序设计已经成为我国高校非计算机专业学生的一门必修课。作为普遍认可的程序设计工具,C语言功能丰富、灵活性强,兼有高级语言和低级语言的特点,是一种面向过程的结构化程序设计语言。[1]该语言适合没有程序设计经验的学生了解程序设计思想、学习程序设计方法。但是,C语言非常抽象,逻辑性和实践性都很强,学生普遍反映难学,如果以传统授课方式对非计算机专业学生进行教学,难以达到理想的效果。因此,本文以高校非计算机专业学生为研究对象,积极探讨C语言课程的教学改革思路,提出“创新教育、理论实践、个性指导、能力培养”的教学理念,并形成行之有效的C语言教学实施方案。

一、C语言教学现状分析

C语言是一种通用性程序设计语言,大多数高校非计算机专业是在大一下学期开设该课程,其先修课程是“大学计算机基础”。C语言课程的教学目标是:掌握语言的基础知识和程序设计方法,培养学生程序设计的基本能力;教学重点是培养学生的实践编程能力。传统的教学方法中,先讲概念,然后介绍语法,最后讲解例子和上机练习,这种教学方式不利于将知识转化为能力。C语言很枯燥,即使上课弄懂了语法知识,但是要独立完成程序的编写经常感到无从下手。根据教学情况,目前C语言教学普遍存在以下几个问题:[2]

1.学习目的不明确,没有学习兴趣

有的学生认为,C语言课程是针对计算机专业的学生开设,而非计算机专业的学生学习C语言对以后的学习和就业没什么帮助,所以没有兴趣。有些爱好计算机的学生认为C语言程序设计编程效果没有VisualBasic、Java等程序设计语言那么直观,总想超前学习当前流行的一些开发工具。甚至有少数学生死记硬背,感觉枯燥无味,进而失去学习兴趣,达不到理想的学习效果。

2.对编程的逻辑思维不熟悉

作为高校非计算机专业学生的一门必修课,C语言程序设计内容多,逻辑思维严密。而他们还是大一学生,还只学过计算机基础课程,没有形成编程的逻辑思维方法,对C语言的语法、程序编译与调试等都不熟悉,导致出现学生学习困难的情况,容易产生两级分化。

3.语法繁琐,兴趣不浓

C语言语法知识点多,语法格式要求相对严格,有常量、变量、运算符、三种程序设计结构、函数、指针等。要写出正确的程序,首先要掌握这些语法知识,然后需要流畅的思路。大多数C语言教材先给出一般的语法格式,然后讲解语法要点,然后举例说明。如果教师按照这种模式授课,繁琐的语法很容易让学生厌倦,再加上程序设计偏离实用性,学生没有兴趣,最后的教学效果可想而知了。

4.实践教学环节薄弱

C语言是一门实践性很强的课程,高校非计算机专业的C语言程序设计教学环节包括随堂实训和实验两部分。由于C语言课时少,内容多,因此随堂实训的时间少。对于实验内容,通常教师布置与语言教材知识点相符的任务,容易出现与解决实际问题脱节的现象。以往的课时设置一般理论课时大于实验课时,这也是影响学生实践能力弱的一个重要原因。如何加强实践环节、培养学生的编程能力是教学改革的一个重点。

二、C语言教学改革思路

多年来,笔者和科研团队成员一直从事C语言课程的教学工作,并对该课程进行了深入研究和实践,形成以学生为中心、以案例教学为手段、以网络学习为补充、强化学生主动学习和实践能力培养的改革思路。

我校是一所地方本科院校,以培养应用型高级专门人才为宗旨,因此,结合C语言课程特点,定位我校非计算机专业C语言课程的教学理念为:创新教育、理论实践、个性指导、能力培养。也就是,以创新教育为最高目标,坚持理论与实践相统一,加强学生的个性化指导,注重学生面向应用解决实际问题能力的培养。C语言的创新教育不是要学生发明一种新技术或新方法,而是在教学过程中不断发挥学生主动应用C语言程序设计手段解决实际问题的意识和能力。[3]理论实践是指教材上的理论知识只有通过实训或实验等手段,才能真正掌握并能在实践中应用,达到理论与实践的统一。对于个性指导,根据学生的计算机水平不同,采取实验内容分层设置等方式,通过灵活多样的教学手段培养学生;用优秀学生的示范效应激励一般学生,利用大多数学生积极向上的学习氛围带动少数后进生不断提高。能力培养是目标,这里的能力是指C语言编程能力及利用C语言工具解决实际问题的能力,可以通过大学生的创新项目、程序设计竞赛、社团活动、实验实训等形式提高学生的实际动手能力。本文在提出的教学理念指导下,对C语言课程在教学方法、实践环节、教学手段和教学内容方面进行了合理有效的改革,并在实践中形成了一套行之有效的教学方案。

三、C语言教学改革实施过程

1.灵活多样的教学方法

教学是课程学习的首选方式,不同的教学方法直接影响教学效果。

(1)先进的教学理念。C语言是计算机类课程的核心和基础,也是非计算机专业学生的必修课,其目的是让学生通过程序设计方法了解计算机解决问题的过程,训练学生的逻辑思维能力,达到能利用语言工具解决实际应用问题的目的。要让学生学好这门课,首先老师要树立先进的教学理念,引导学生自主学习。在教学过程中,把握好三个阶段:上好开学第一课、指导好的学习方法、正确引导学习兴趣。

非计算机专业学生在开学第一次上C语言课程,他们还只学过大学计算机基础,这与程序设计课程的学习方法不同,所以在上第一堂C语言课时要介绍课程的教学要求和学习目的,并让学生结合自己的专业制订有兴趣的学习计划。有了学习计划,还要强调自学的重要性。在介绍C语言课程特点时,提出适合不同层次学生的学习方法。当遇到问题时,鼓励学生学会网络求助和与同学相互交流,引导学生对知识的探究,培养学生自学和解决问题的能力。

(2)案例教学法。案例教学是一种经典的教学方法,它采用互动模式,以案例分析为基础,一般要求涉及丰富的知识点,具有针对性、系统性、可实践性和启发性。[4]C语言教材内容繁多,有十多章,一般第一章为概述,第二章为语法知识,如果按部就班进行讲授,第一节课内容会抽象枯燥,学生容易厌烦。如果通过案例直接引入主题,例如求圆的周长,能尽早让学生建立程序框架概念,并开始模仿编程。对于这个案例,先用语言描述问题及解决步骤,然后现场在C语言编译器中输入代码、添加头文件和主函数,再编译、运行,得到输出结果,这样学生通过这个实例认识了程序框架、语句、常量、变量、函数等,这种解题步骤符合人们的思维,容易被理解和接受。

使用案例,还能对教学内容进行适当取舍和组合,起到降低难度、分散重点的作用。例如,循环结构程序设计是教学的重点和难点。对于一个多重循环结构的程序设计,如果引入案例讲授,采用手工执行循环和编译器单步跟踪调试的方法分析程序,循环体的功能就会变得清晰了。[5]

(3)多种编程方法拓展思维。同一个问题,鼓励学生采用多种方法编程实现,并让学生分析它们的不同之处。例如,求1到10的累加和。这是一个很简单的计算题,但是可以用多种方法实现,如for、while、dowhile三种不同结构,scanf、gets、getchar等不同输入输出函数,变量的不同设置等。学生通过尝试用不同方法解决问题,不但能加深对知识点的理解,还能锻炼学生的编程能力,使学生养成积极思考的习惯,做到将所学知识融会贯通。

(4)分层管理,因材施教。根据学生的程序设计水平不同,设置验证型、综合设计型和研究创新型三个层次的案例和练习,对学生分层次管理,不同学生选取不同的教学方法;对C语言感兴趣的学生,充分调动他们的积极性、主动性和创造性,鼓励他们进行超前学习;每组选取一个优秀学生为组长,充分发挥优秀学生的示范效应。通过这种方式,优秀学生激励普通学生,大多数学生积极学习的氛围感染少数后进生逐步提高,达到自主学习和能力培养的目的。

2.有效的实践环节

实践环节包括课内的实训和实验,以及课外的创新活动等,其中实验是检验知识综合运用的重要手段,也是培养学生解决问题能力和创新能力的必要环节。要保证实验效果,良好的实验环境是前提,好的实验方案是关键。

一般C语言课程的课内时间非常有限,要进一步培养学生的实践能力和创新能力,需要充分利用课外时间学习。课外的实践环节除做课后练习外,还可尝试如下措施:

(1)鼓励学生申报大学生创新项目,引导学生参与,提高综合能力。以生活趣味类和专业应用类为主,列出系列创新课题,供学生选择承担,由计算机老师指导完成。

(2)举办和参加各类竞赛,提高程序设计编程水平和创新能力。aCm程序设计竞赛是可选用C语言编程的、在windows或Linux平台上进行的面向在校大学生的竞赛,目前在我校已全面开展。我校先经过初赛、复赛选拔一批优秀学生参加aCm程序设计竞赛培训,然后每隔一段时间,参加培训的学生还需进行定期考核。如果考核不合格,则建议退出aCm团队,否则继续学习。通过这种多层次、多阶段选拔优秀学生方式参加省级、部级程序设计竞赛,我校学生取得了良好成绩。

(3)开展社团活动或与专业相结合的创新活动。对于非计算机专业学生,教学中渗透专业特色,课外社团活动中包含程序设计内容,这种方式能让学生体会学习程序设计的作用,活跃创造性思维和培养创新能力。

3.丰富的网络资源

随着网络通信技术的快速发展,拓展了网络的时间、空间、形式和内容。目前网络对每个学生来说几乎都是无处不在,无时不有,学生充分利用网络资源学习也是一种有效的方式。因此开发丰富的网络资源,提供学生自主学习平台意义深远。我校学生立项的部级大学生创新项目“在线学习系统”中,目前已开发了面向非计算机专业的C语言课程资源,包括教学大纲、电子教案、在线视频、操作案例、实验指导等,还有师生互动栏目,正在进一步开发在线考试模块。通过创新型网络学习平台,对培养学生自主学习能力起到积极作用。

4.与时俱进的教材

教材建设是课程建设、人才培养的重要组成部分。为适应社会对大学生计算机水平的需求,必须更新教学内容,加强教材建设。建设教材时,要处理好传统与现代、理论与应用、深度与广度的关系,更新教材内容,开阔学生视野,跟上当前新技术的步伐。笔者团队编写了C语言教材及配套的实践指导,为培养学生编程能力提供了有力支持。

5.多方位的考核方式

考试是教学过程的一个重要环节,其本质是检验学生的学习效果,但仅通过期末考试来衡量学生的水平是片面的,不能真正体现学生的实践能力和创新能力。为此,非计算机专业的C语言课程考核方式可以采取以下几种方式:

(1)面向过程的考核。一般情况下,课程的考试成绩由“期末考试×0.7+平时成绩×0.3”组成。C语言课程实践性强,其考核方式可以调整为:由理论考试、上机考试和大作业三部分组成,加大实践操作分数的比重。如果非计算机专业学生通过省级或部级计算机等级考试,学校可制订相应政策,用等级考试成绩代替课程考试成绩。[6]

(2)面向项目或竞赛考核。学生参加项目或竞赛都是培养学生创新能力的重要手段,可将其作为评价学生水平的一个指标。通常情况下,学生立项并结题省级以上项目或者参加竞赛获得省级以上奖励的,学校也可制订相应政策免修或代替课程考试成绩。必须指出,竞赛或项目内容必须与相应课程内容一致或关系密切。

四、结论

教学实践证明,以“创新教育、理论实践、个性指导、能力培养”为教学理念,采取案例教学、一题多解、分层管理等灵活多样的教学方法以及多方位的考核方式。同时建设网络课程资源和教材,以培养学生自主学习能力,有效提高非计算机专业学生学习C语言的教学效果。

参考文献:

[1]谭浩强.C程序设计[m].第四版.北京:清华大学出版社,2010.

[2]丁海燕.C语言程序设计教学主线与教学创新[J].高等理科教育,2012,(4):122-125.

[3]龚沛曾,杨志强,顾春华,等.大学计算机实践能力培养的改革和实践[J].中国大学教学,2008,(6):16-18.

[4]熊启军,宁彬,谷琼.C语言程序设计课程案例式教学研究及实践[J].计算机时代,2013,(1):55-56.

c语言程序设计实例篇5

关键词:C语言;程序设计;学习方法;学习兴趣

中图分类号:tp312.1-4

《C语言程序设计》是计算机专业的一门核心专业基础课程,是专升本、考研和等级水平考试的必考科目,也是学生学习中感到比较吃力的一门课。那么,如何学习《C语言程序设计》这门课程呢?现根据自己多年在教学中的体会,谈一些粗浅的认识。

1为什么要学习《C语言程序设计》

《C语言程序设计》是用C语言来编写程序的,每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识。它的好处如下:

1.1C语言是一种计算机程序设计语言

它既具有高级语言的特点,又具有汇编语言的特点,既可以用来编写系统软件,又可以用来编写应用软件。它不仅具有绘图能力强,还具备很强的数据处理能力,因此也适于编写三维,二维图形和动画。

1.2C语言具有功能强大、使用灵活、丰富的数据类型和运算符、结构化的控制语句、目标代码运行效率高、适用范围大、可移植性好等优点。

1.3C语言是各大操作系统的基础,Unix、Linux、windows其内核都清一色是C语言开发的,(某些地方是和汇编语言混合开发的),还有各种语言的编译器,包括java虚拟机,各种嵌入式设备,如手机、pDa等都是C语言开发的。

1.4C语言是基础,如果你学习过C语言,你就能学习现在任何的高级编程语言

因为所有的高级语言都是以C语言为基础的(像JaVa,C++,C#等等)。C语言学好了,将来想学其他的语言,就比较好入门了。

2如何学习《C语言程序设计》

2.1克服畏难心理,充满自信的学习《C语言程序设计》

大多数学生一看到《C语言程序设计》课程的教材,就有畏难的情绪,觉得C语言难学,学不会,因为他们对计算机语言不了解,另外有些英语差的同学,看到计算机编程是用英语编写的,就未学先弃了。其实学习语言并没有他们想象的那么难,英语差也对学习计算机语言影响不大,比如学C语言,真正要记的关键字不多,语法也不复杂,只要大家不带着畏难的心理,充满自信,一定能学好的。

2.2要明确《C语言程序设计》的学习目的

通过《C语言程序设计》课程的学习,掌握C语言基本知识,掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练运用基本程序结构解决简单问题,理解模块化程序设计原则并能熟练使用C语言进行程序设计,具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。

2.3要明白《C语言程序设计》与一般的计算机操作课程有所不同

《C语言程序设计》是计算机的一门软件编程课程,是用C语言来编写程序的,它具有难度性、抽象性、连续性和逻辑严密性。如果你第一次课来听了,第二次课没来,第三次课很可能就听不懂了。比如,第一次课讲的是数字1,2,3,4……,第二次课讲的是运算符号+,-,*,/,第三次课老师让你算1+2=?,如果你前两次课都来听了,那么你就能算出它的结果,否则你就算不出它的结果。因此,如果要想学好《C语言程序设计》,必须坚持每次课都来,如果那天确实不能来,就应在家自学,不懂的地方应及时向老师请教,一定不能落课。

2.4要整体把握《C语言程序设计》

C语言是一种通用的程序设计语言,在开发系统软件和应用软件中得到广泛的应用,已成为当今计算机世界最流行的语言之一。C语言是一个整体,各个方面是有机联系的,要从总体上把握它,不要把它割裂成互不关联的部件。它包括C语言概述、数据类型(整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等)、运算符和表达式、流程控制语句、函数、数组、字符与字符串、指针、结构体、文件等。通过《C语言程序设计》的学习,掌握程序设计的基本概念、基本思想、基本方法和基本技能,进而学会利用C语言解决实际问题,培养计算机程序设计的能力和素质,以及思维方法,为以后学习其它计算机程序语言和后续的专业课程打下基础。

简单的C程序是由主函数和函数体两大部分组成。它的基本框架如下:

main()

{

}

其中main表示“主函数”。每一个C程序都必须有一个main函数,而且只能有一个main函数,它表示程序从这里开始执行。由花括号“{}”括起的部分是函数体。其中函数体又包括定义变量、变量赋值、函数调用、输出打印等。

例:一个简单的求和程序

main()/*主函数*/

{

inta,b,sum;/*定义变量*/

a=123;b=456;/*变量赋值*/

sum=a+b;/*求两数之和*/

printf(“sumis%d\n”,sum);/*输出和值*/

}

这是一个简单的求和程序。/*...*/表示注释部分,只给人看的,对编译和运行不起作用。第3行是声明部分,定义变量a、b、sum,指定a、b、sum为整型(int)变量。第4行是两个赋值语句,使a和b的值分别为123和456。第5行使sum的值为a+b,第6行中“%d”是输入输出的“格式字符串”,用来指定输入输出时的数据类型和格式,“%d”表示“以十进制整数形式输出”。printf函数中括弧内最右端sum是要输出的变量,现在它的值为579(即123+456之值)。因此输出一行信息为:

sumis579

从这个例子可以看出,想要把《C语言程序设计》这门课学好,不仅要知道《C语言程序设计》的基本框架,还要学好函数体中的内容(变量类型、定义变量、变量赋值、输入输出格式字符串、输入输出函数格式、调用函数等)。另外还要学好C语言的运算符、运算顺序、四种程序结构(顺序结构、分支结构、循环结构、模块化程序结构)、掌握一些简单的算法等。

2.5熟练C程序的上机步骤

在编好一个C源程序后,如何上机运行呢?要经过编辑、编译、连接和运行四个步骤。

(1)编辑源文件。在编辑(edit)状态下输入或修改源程序。

(2)编译源程序。选择“C编译”菜单并选择“编译到oBJ”,进行编译,得到一个后缀为.obj的目标程序。

(3)然后再选择菜单“L连接eXe文件”,进行连接操作,可得到一个后缀为.exe的可执行文件。

(4)运行程序。在“RUn”菜单中选择“R运行程序”项,或直接按Ctr+F9键,系统就会运行已编译好的可执行目标文件。此时,tC集成环境窗口消失,屏幕上显示出程序运行的结果。如果程序需要输入数据,则应在此时,从键盘输入所需数据,然后程序会接着执行,输出结果。

2.6要加强编程训练

《C语言程序设计》是实践性非常强的课程,要求学员要理论联系实际,在掌握C语言的基本语法和基本知识后,重点应放在提高编程能力的训练上。根据学生学习的认知特点,我认为主要应从以下几个方面进行强化训练:

(1)吃透课本例子。每学完一次新课,让学生对课本例子先分析任务、再仔细阅读程序,然后按书上的源代码敲出来,编译执行输出结果,如果结果跟书上一致就算完成,如果不一致,就要仔细找原因。再后不看书自己编写代码与课本对照,找出自己的不足,然后改进。最后在此例的基础上自己加以改造,举一反三,变为其它的例子,如此反复练习,不仅培养了学生动脑思考的习惯,而且养成了遇事三思、认真、周密的作风。

(2)精选上机题目,要求调试通过。每章找出一个或两个综合性的具有代表性的应用题目,如编写一个程序,计算一个整数的名位数字之和;用选择法对数组中10个整数,按由小到大的顺序进行排序等,要求用C语言编写可执行的源程序,上机调试。这样不仅锻炼了学生解决实际问题的能力,更重要的是激发了学生学习课程的兴趣,抽象变具体,理论变实践,对这门课有了更深的认识。

(3)阅读填空法。找一些经典程序,配上必要的说明,适当去掉语句或表达式,让学生通过阅读填补空白,训练学生的程序设计能力。例编写一个程序,输入月份号,输出月的英文月名,还有求和、排序、报号等。

(4)准备一个经验本,记下C语言重要的语法和知识点,还有自己出错的解决方法及老师讲解的其他同学出现的常见错误,抽空常翻看,逐步积累经验,加深印象,使以后避免。

(5)带着作业去上机。每次理论课结束后,老师都会给学生布置一些作业(如习题)让学生做,那么学生一定要认认真真的把作业完成好,先把程序编写在作业本上,上机时再把这些程序敲到计算机上,进行修改、调试、运行,最后输出结果。如果学生不带作业去上机,第一次老师警告下次一定带作业上机,如果第二次还没带作业,不准学生进机房,让学生到教室把作业做完后再到机房上机调试。有人说学生可以直接在机器上编写程序,固然没错,但对于初学者来说,如果在机器上边思考边编写,也就是说想一句编一句,再想一句再编一句,这样太浪费时间,一节课说不定连一个程序都编不好,所以老师一定要求学生在课下把程序编好,上机只需把程序敲出来进行修改、调试、运行,这样能节约大量的时间,学生上机时间本身都是有限的。

上述方法在教学实践中证明是行之有效的,学生对问题分析、程序设计的自觉性和能动性得到提高,动手能力加强,对后继课如《C++》、《面向对象程序设计》等,学习起来倍感轻松,较好地完成了该门课程的学习目标。总之,实践出真知,多学、多练、多思、多交流,勤奋好学才能学成。

参考文献:

[1]严桂兰.C语言程序设计与应用教程[m].福建:厦门大学出版社,2001.

[2]谭浩强.C程序设计(第三版)[m].北京:清华大学出版社,2005.

[3]陈东.计算机多媒体教学改革的一些尝试[J].福建师范大学学报(自然版),2004,20(3):98.

[4]王兰.学好《C程序设计》的几点建议[J].科技信息,2007(9).

c语言程序设计实例篇6

关键词:C语言典型案例分析教学方法

一、引言

C语言具有功能强大、表达力强、应用面广、目标程序效率高、可移植性好等良好的特性,它既具有高级语言的优点,又具有低级语言的许多特点[1]。目前,很多新型的语言都衍生自C语言。因此,C语言也就成为所有计算机程序设计人员必须掌握的一种通用高级程序设计语言。但是,C语言繁多的数据类型和复杂的语法结构使得C语言成为了一门既难以学习又不易教授的课程。

二、经典案例分析教学法与传统教学方法的比较

C语言的教学任务,主要有以下三点:熟练掌握基本的语法知识,能够轻松的阅读程序,灵活的编写程序。

传统的教学模式通常是“三步曲”,即:提出概念解释概念举例说明。应用这种模式教学,过于注重语句、语法等细节的讲解,对学生分析问题、解决问题的能力训练不够,这样学生只能学到一些枯燥的、容易忘记的、支离破碎的语法规则,不能具体灵活的应用这个概念。

案例是对一个具体情景的记录。经典案例分析教学法就是通过选择一个具有代表性的案例,对其分析研究来得出所要教授专业知识、技能或内在原理。适当地选择案例能将复杂枯燥的语法知识分解到每个生动、有趣、实用的程序实例中。这样能大大地提高学生学习的积极性,而且能够掌握一些相应的编程思想。

三、案例分析教学法在实际教学中的应用

1.针对具体要求,适当选择案例。

在C语言教学中,依据课程的具体要求,教师应该选择难度适中、大小合适、贴近学生兴趣的案例,当然所选择的案例要能贯穿本课程所授课的内容[3],使我们将要学习的新知识都隐藏在这些案例中。

2.分析案例,提出问题,引入教学内容。

每个案例中隐含着已学过的知识和新的知识,在分析任务时,我们应以教师为主导,学生为主体进行研究、讨论引导学生分析案例,提出问题,根据提出的问题及时讲授新的知识。例如,在讲解“自定义函数”时,教师可引入如下案例:计算数学式p=mi/K!(m-Ki)的值,其中m=8,K=3[2](p163)。先要让学生思考如何完成该任务和在完成任务的过程中将会遇到的问题。在分析这个案例时,我们可以将该案例先分解成:求m!、K!和(m-K)!三个子任务,然后做乘除法即可。这时候我们就发现利用我们之前学过的知识就要针对这三个子任务重复的写三次求X!的语句组。这样就太繁冗了,有更简洁的方法吗?这时教师就可以及时地提出自定义函数这一概念了,以及函数的定义与调用相关的语法。学生带着问题去听,理解起来更容易。当我们以一种更简单的方式解决了问题后,学生就会有发现新大陆的感觉,这样就激发了学生的求知欲,调动了学生学习的主动性。

3.经典案例分析法在教学过程中的侧重点。

在教学过程中,案例分析教学法以程序设计为主线进行教学,这就要求教师有意识地淡化C语言中语句、语法的介绍,并尽量避免过多讲授C语言一些容易引起错误的细节,而重点介绍程序设计方法和思路,在分析程序和程序设计中让学生逐步熟悉语法和应用语句,并把各种编程思想贯穿于算法分析和程序设计的过程中。其中语句、语法等细节问题需要在实验中不断的调试、修改来加强熟练度,很多算法也要通过实验来验证。因此,实验在C语言教学中也占有举足轻重的地位。

4.通过经典案例分析熟练掌握典型算法。

在实际的教学过程中,我们发现一些学生平时学得很认真,对语法、语句等细节也很熟悉,但碰到稍微复杂一点的编程就束手无策。一般来讲,一个较复杂的软件可以按功能分割为若干个典型的小模块,每个小模块最终都成为功能单一,结构清晰,接口简单,容易理解和编写的小程序。只要学生掌握了典型案例的算法,就可以将这些算法像搭积木一样组装成相应的软件算法了。因此,在教学过程中,教师应要求学生对一些典型案例的算法熟练掌握,如累加、累乘、排序、查找等,为以后编写程序,软件设计奠定基础,同时对典型案例的算法的熟练掌握,也会增加学生学习计算机语言的信心,从而提高学习兴趣。

四、结语

编程人员熟练掌握一门程序设计语言固然重要,但更为重要的是具有编程思维能力和开发能力。通过教学实践证明,教师选择合适的案例教学,可以让学生掌握所学的内容,对培养他们的编程思维能力和提高他们的软件开发能力都有很大帮助。

参考文献:

[1]谭浩强.C语言程序设计[m].北京:清华大学出版社,2002.

c语言程序设计实例篇7

C语言是最基本的计算机编程,是计算机、电子信息类等相关专业学生的专业入门课,在其学习过程中,要求必须掌握编程的技能。但是C语言的学习有其特点,规则比较多、知识点多,涉及到的编程程序等也比较难懂,在运行上代码的要求较高,程序执行效率高,因此更讲究教学和学习的方式方法,但是在我们的教学中,目前教学方法比较单一,随着信息化的发展,传统的教学模式已经无法适应,亟需改革。

1、传统型

这种教学模式,也是最常用的,课堂上以老师为主,学生只能被动的接受知识的传授。通过最直接“填鸭”式照本宣科,不管学生接受与否,最后的考核也是以知识点的记住与否,造成学生死记硬背,不能真正掌握知识。其基本模式为:学习——回答——纠错——总结。这种模式下,使得教师在教材以外的发挥余地极小,基本是“照本宣科”,强行灌输C语言的概念、特点、编程程序、基本的方法等,整个教学过程缺乏灵活机动、具有启发性的内容,学生被动的接受知识、被动的记忆、被检查、被考试、被批评等,日复一日的教条式训练,不能有效地激发学生的主观能动性与创造热情。

2、任务型

C语言教学区别于其他学科,在理论知识的传授之外,还需要培养学生的实际动手能力,因此,很多学校也采用“任务型”教学模式,基本模式为:根据具体要求提出任务—鼓励学生设计方案—实际操作—解决任务。在日常的教学中,学校大多会利用电脑等锻炼学生的实际动手能力,利用实际操作,锻炼编程、逻辑等能力,从而掌握C语言的基本知识。例如翻转课堂模式,教师将知识传授环节制作成教学微课,课前提供给学生预习,通过预习使课堂的实践性练习目的性更明确,教师随堂对学生遇到问题进行指导分析,从而培养学生独立思考能力和实际操作能力。这种模式的采用,相对于传统模式,有其进步性,这也是C语言等专业性、操作性学科区别于其他学科的特点决定的,在这种模式下更取决于教师自身的素质、知识、能力等,是整个课程的掌控者、引导者,他们的能力直接关系着教学成果。

二、信息化背景下面临的挑战

随着科技的发展,信息化在教学领域的应用越来越普遍,信息技术的日新月异,也使得其在课堂上,已经不仅仅是局限于简单地计算机和多媒体运用,移动技术、智能化与虚拟技术等为我们的教学提供了新的思路和方法,如何能使我们的教学与高速发展的信息化相结合,是教育领域不断探索的课题。C语言程序设计等课程具有很强的专业性要求,主要是建立在计算机信息技术的基础上,对于信息化的反应更为灵敏,传统的课堂上,以教师为中心的“面对面”的教育模式面临着挑战和冲击,用技术手段的灵活性与便利性来增强课程学习的兴趣和接受能力。随着新技术的广泛应用,会促使传统的教学模式发生变革,以教师为中心的教学模式逐渐转化为互动式教学模式,达到更好的教育效果。在C语言课程设计教学领域,进行信息化教学改革的尝试,充分利用信息技术,变革教学手段和模式,是信息化发展的必然要求。只有实现C语言课程的信息化教学改革,使得教育信息化能够普遍运用,才能展现出信息技术在推动C语言教学中的强大威力和广阔前景。

三、教学模式改革的基本对策

教学模式直接反映出一定的教学理念,也直接决定着教学成果。随着信息化的发展,教育信息化逐渐打破传统的教学模式,在这样的背景下,C语言教学模式的改革任务艰巨,如何构建新型的信息化教学模式也是我们在实践中不断摸索的问题。

1、充分利用信息化的科技手段

信息化的科技手段,给我们的教育领域带来变革,尤其是计算机领域的学习,其主要是建立在信息化发展的基础上,因此在教学中,更要与时俱进,与信息化的发展程度相互依存,相互辅助,C语言课程设计教学中,可以充分利用信息化的科技手段,如计算机技术、云计算技术、多媒体技术、网络技术、虚拟现实技术、通信技术、移动学习技术、人工智能、传感器技术等,这些技术的发展,带来C语言教育领域的变革。为提高C语言教学质量,激发学生学习C语言的积极性,我们可以在课程建设过程中充分利用现代技术带来的便利与多样性,以及趣味性。如在教学课件设计上,利用多媒体技术,图、文、动画并茂,减少其枯燥的理论传授,增加趣味性;利用网络技术,实现在线教育,建立“C语言程序设计”网站,分组进行网站维护,运用编程能力进行更新;应用现代的通信技术,建立微信学习群,让学生分享自己的学习经验,共享学习资源。

2、案例引导式教学模式

改革C语言教学模式,另一探索的模式为案例引导式教学模式,C语言的教学,是为了培养学生读程序、调试程序、写(仿照)程序的能力以及规范性编程的能力,学习最主要的目的是为了应用,对于编程的应用,只有具体的应用场景,即案例,才能更容易被接受,更易懂。案例引导式教学模式,在别的专业课教授中,常被使用,主要特点就是用案例去引导知识点的掌握,对案例进行分析,通过分析启发学生的思路,将学生带入到具体的案例中,让学生有一种“身临其境”的代入感,从而掌握具体的知识,学会在这种场景下解决问题的方法,这种模式的教学更有针对性、系统性。案例引导式教学模式在C语言课程设计教学中的运用是指针对C语言课程的每一个核心知识点,建立配套的案例,通过这些案例的学习和掌握,使得学生在例子的佐证下,更加了解C语言的应用,这种案例的设计,和我们的书本知识相结合,把理论知识融入到具体的案例中,进行综合性的阐述,如具体的计算机程序的编写,设计游戏环节,运用所学的C语言知识设计网站,并使之运行,可以在班吉内分组进行维护等,并加以各种领域成功案例或者失败经验的案例,让学生能够更进一步了解其应用范围、能力、领域等。

3、实践教学模式

C语言课程设计的学习,所需的能力不再是死记硬背,而是更注重实践和应用,因此我们在教学过程中,不能只传授书本知识,还要锻炼学生的动手能力和编程能力,实践教学模式应运而生,依靠大量的实践,将所学的知识转化为实际操作,得到进一步的应用。信息化技术为这种教学模式提供支撑服务,我们可以在课堂上设计各种实践环节,也可以在课堂后与各种软件公司、游戏公司、网络公司等合作,增加实践机会,让学生在具体的实践环节中,真正了解C语言的知识,并主动内化这些知识,变为实际操作能力。在这种教学模式改革中,如何能够更好的提高实践能力需要通过各个环节的相互配合,如课程设计上,增强实验、实训环节,让学生在熟练掌握C语言语法、程序结构的基本理论的同时,通过大量的实践操作,进一步掌握C语言的知识,学会编码;同是,积极与各软件、互联网、网络公司签订实践基地,让学生可以在实际应用中,边做边学,提高学生逻辑思维、实际操作能力,真正实现教学目的,熟练掌握计算机编程能力。

作者:王桂华单位:营口职业技术学院

参考文献:

[1]徐新海,林宇斐.注重计算思维的启发式C语言语法教学[J].计算机教育,2014(17).

c语言程序设计实例篇8

关键词:C语言;教学方法;对策建议一、前言

C语言以其应用普遍、功能强大而得到广泛认可,并且成为各技工学校程序设计课程的首选语言。由于C语言相对其它课程而言比较枯燥、难以理解,经常要用到数学和英语的知识,而技工学校的学生普遍是初中文化水平,缺乏相应的知识背景,导致学生对这门课程产生恐惧心理,从而失去主动学习的自信心和能动力。因此,这要求教师在教学中分析、摸索出一套行之有效的教学方法,才能激发学生对程序设计的兴趣,培养学生主动学习的信心和能力。

二、“把脉”技工学校C语言程序设计教学中的问题

(1)学生基础差、存在畏难情绪。C语言的许多基础知识都是概念性强、理论性强,内容丰富且抽象,具有严密逻辑性的,学习难度比较大,而教师又没有及时引导,因此许多学生缺乏学习兴趣。(2)部分教师教法陈旧、责任心不强。部分教师没有充分调动学生学习的积极性,在目前的课堂教学中,还是以教师讲授为主,没有充分发挥学生学习的主动性。(3)教学中理论教学部分在比重过大。对于部分学校往往为一些计算机应用方面的课程提供机房,对于语言类课程则认为以理论课为主。(4)对于实践教学环节重视不够。

三、针对C语言教学中存在的问题,“对症下药”

(一)重视教学目的明确,合理安排教学大纲和学时。

作为技工类院校,开设C语言课程目的旨在让学生拓宽思维方式,了解程序设计的基本概念、方法和技巧,培养学生具有一般设计程序的能力,为后继课程打下良好的基础。我校《C语言程序设计》课堂理论知识和上机练习课程安排比例为3:7。在教学内容的安排上,首先安排C语言的数据类型、运算符和表达式以及基本的输入输出方法,然后安排顺序、选择、循环结构程序设计方法,接着是数组、函数和指针。

(二)重视“启蒙课”教学,把学生“带进门”。

好的第一堂课能够让学生对课程有个全局的认识。学生只有对学习感兴趣,才能把心理活动指向和集中在学习的对象上,使感知觉活跃,注意力集中,观察敏锐,记忆持久而明确,思维敏锐而丰富,激发和强化学习的内在动力,从而调动学习的积极性,所以上好《C语言程序设计》的“启蒙课”是至关重要的。“启蒙课”是C语言趣味导学课,重点应把握以下几个方面:

1.演示程序结果,激发学习兴趣。

在语言教学过程中,应使学生感到在“玩中学、学中玩”,同时也认识到C语言是一个融阅读、理解思考和观察、验证于一体的过程。在教学过程中,可以演示一些有趣的实用软件,学生便会感觉到C语言的神奇,领略C语言的魅力,从而激发学生的学习兴趣。

2.强调C语言的重要性。

C语言是学生学好其他各类语言的基础(如下图),比如数据结构、c++、JaVa等。虽然程序设计语言更新很快,但如果真正掌握了程序设计思想,具备了真正解决实际问题的能力,语言再更新,程序设汁的本质也不会变。

3.介绍C语言的学习方法。

C语言是一门实践性很强的课程,教师只需花三分之一的时间在语言本身的讲解上,而剩余三分之二的时间应当放到学生对程序内容的考虑以及上机的调试上。同时要给学生更多的实践机会,并通过强调实践的重要性,培养学生的动手能力和解决问题的能力。

4.初步了解C语言的环境。

在turobC3.0环境下,举出几个简单的小程序演示给学生看,使学生熟悉C语言的编辑界面,了解从源程序到可执行文件的整个操作流程。

(三)注重分层式教学,培养学生解决问题能力。

根据技工学校计算机专业的学生特点,掌握简单算法的分析与设计基本能够理解或者说具有一定解决问题的能力就是对他们的基本要求,并根据基础情况实施分层教学。

对于数学基础不好的学生,让他们从简单例题入手,不急着让他们写出程序代码,而是把问题分析清楚,能够用自己的语言描述出解决问题的算法,然后可以画出流程图,再根据自己的图对照给出的程序,争取能够把程序读懂,再回过去看自己画的流程图,如果两者一致,那对于这个层次的学生来说,教学目标就基本达到了。对于班级中学得好的一部分学生,除了书上要求的作业以外,则会让他们在机房负责帮其他学生改错,确保那些自己写出程序代码的学生,他们的程序能够正确运行。

(四)注重问题启发式教学,激发学生自主学习。

C语言概念多、语法繁,问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样在实现师生互动的同时可以把学生的注意力集中起来,学习积极性也随之调动起来。这种启发式、讨论式、交流式的教法,不仅改变了原来的灌输式,引导学生思考和探索,让他们的思维活跃起来,使学生在解决问题中学习,而且增强了学生自主学习的能力。

(五)注重案例驱动法教学,变“要我学”为“我要学”。

案例驱动法的核心是“以例激趣―以例说理―以例导行”,将每章教学内容归纳为一个个有趣的例子,让学生主动获取知识,建构自己的知识体系。

教学中首先要对教材进行分析,将教材内容划分为若干个知识模块,把各个知识模块浓缩在一个个有趣、实用的案例里。然后要进行学生自愿分组,采用小组学习、讨论、合作开发的方式培养学生的团队协作能力,树立学生的“项目”意识。实施过程中通过“提出案例―讨论案例―分析案例―案例延伸―归纳知识点―教学反馈”六步走的方式,既可以把握知识内容的精髓,也能够增强分析问题、解决问题、归纳问题的实际能力,特别对学生的自学能力有较大的提高。

(六)重视实验环节教学,巩固和发展课堂知识。

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

(七)重视在实例中学习语法,化繁为简。

对于技工学校的学生而言,大量的语法很容易使一部分甚至是大部分学生产生枯燥无味的感觉,很快对这门课程失去信心。为了保持学生对这门课程的兴趣,可采用趣味程序的例子进行教学,从而在实例中掌握C语言的语法。这种方法的优点是可以根据教学内容,选择阶梯电价、自动售货机价格查询、贷款计算、华氏温度和摄氏温度的转换等合适的例子,以实例为主体,语法为补充,使学生掌握所学内容,在应用中强化语法。在每个实例的基础上,对学生多提问,并进行扩展,以复习前面学过的知识,也可以巩固当前学习的内容。

(八)重视知识点的承前启后,归纳总结。

教师在课堂讲解过程中,零散的知识点难以使学生理解它们之间的联系,使得知识缺少连贯性。只有不断回顾较前讲解的知识点,既以复习知识点为主,又讲解了其间的联系。只有把课堂教学内容以整体的形式串联起来,学生的理解才能得以加深、实践中才会得心应手。如:在算法部分的教学,明确算法设计是C语言程序设计的灵魂,流程图是程序设计的第一步,编程成功的前提是要分析出正确的算法。

四、结语

通过对技工学校计算机专业《C语言程序设计》教学中的问题“把脉”,结果发现坚持培养学生的兴趣和信心是学生学好C语言的基础,教师要灵活应用多种教学方法,激发学生的学习潜能,有效提高学生学习的积极性,在教学过程中,以提高教学质量为目标,以重视培养学生的应用、动手能力为中心,鼓励学生在解决问题的过程中逐步形成程序设计思维,增强教学效果,提高学生的学习效率,从而进一步提高教学质量。

(作者单位:云浮市技工学校)

参考文献:

[1]吕文洁.C语言程序设计教学方法的改进[J].福建电脑,2010,(12).

c语言程序设计实例篇9

关键词:C语言程序设计,实例教学,语法

 《C语言程序设计》是程序设计的基础课程,在多数高校中,已经把它作为一门必修的课程,同时,C语言程序没计也是全国计算机等级考试二级语言考试科目。C语言具有非常重要的地位。因此,改善教学方法,提高教学质量至关重要。下面,从几个方面谈谈C语言教学。

1.明确教学目的,合理安排教学大纲和学时

我校为二类本科学校,为非计算机专业大一学生开设C语言课程,旨在让学生拓宽思维方式,培养学生具有设计程序的能力。为二级考试和本专业的后继课程打下良好的基础。

我校《C语言程序设计》授课学时为32学时,实验学时为16学时,教学以基础知识,语句,数组和函数四部分为主体进行详细讲解和练习,指针做基础介绍和了解内容,能够适应学生的特点,达到较好的教学效果。

2.明确学生学习目的,激发学生的学习兴趣和热情

通过几个生动的实例如,学生成绩管理系统,数据进行排序,汉诺塔,八皇后问题等,让学生明白,学习完C语言,我就可以进行程序设计了。明确学生学习目的。

3.加强实例教学,在实例中学习语法

对于非计算机专业同学而言,大量的语法很容易使一部分甚至是大部分学生产生枯燥无味的感觉,很快对这门课程失去信心。为了保持学生对这门课程的兴趣,采用趣味程序的例子进行教学,从而在实例中掌握C语言的语法。这种方法的优点是可以根据教学内容,选择合适的例子,以实例为主体,语法为补充,使学生掌握所学内容,在应用中强化语法。经常选用的实例有,华氏温度和摄氏温度的转换,分段函数的计算,阶梯电价,贷款计算,自动售货机价格查询,求三角形面积,利用格里高利公式求圆周率,验证哥德巴赫猜想等。在每个实例的基础上,对学生多提问,并进行扩展,以复习前面学过的知识,也可以巩固当前学习的内容。通过启发式教学,让学生做更多的练习,加深对语法和程序设计方法的理解,掌握课程的精髓。再辅以实验课,教学效果比较显著。

4.多媒体教学与传统教学方法相结合

随堂编程能够起到非常好的教学效果。教师先引导学生思考如何去编写例题中的程序,然后按学生的思路编程,也可以让学生上讲台来直接实现编程。当场编译运行,比如两个数交换,学生一般会直接进行a=b,b=a,程序结果就会令学生大吃一惊。然后再通过举例如何把一瓶啤酒和一瓶可乐里的液体反装,再进一步编程,学生又恍然大悟。这种方法能够拓展学生的想象空间,激发学生的学习热情。教师也可以在一些编程讲解中,加入一些预先设计好的学生最容易犯的小错误,

向实验课要效率

上机实验这一环节必不可少。教师应该注重够提高学生的积极性,使实验课更有效率。

首先应精心设计上机实验内容,把实验内容和课堂所讲知识有机结合起来,加强学生对知识的理解和消化。每次两学时的实验课,一学时以验证性实验为主,理解消化语法,增强学生信心。一学时以编程为主,教师设计实验题目,内容兼具趣味性和实用性,让学生先对题目感兴趣,再对编程感兴趣。把学生从被动学习逐渐转变为主动学习,让学生从成就中出效率。

其次,要求学生课前写好预习报告,课后完成实验报告,实验课堂随机提问,保证实验课质量。在学生有问题时,看清问题原因,不直接给出正确答案,给学生一定提示,启发学生独立思考。

5.结束语

要教好C语言,关键在于激发学生的学习兴趣,使学生积极主动、愉快地学。除了讲授语法,更要讲授如何去应用语法。在授课过程中开发学生的创造性思维,使学生具备自主学习的能力。

参考文献

何钦铭,颜晖.C语言程序设计[m].高等教育出版社,2008.

c语言程序设计实例篇10

关键词:C语言;专业相结合;计算思维

中图分类号:G642.0文献标志码:a文章编号:1674-9324(2017)02-0168-03

一、引言

目前很多高校都在推行为非计算机专业开设的程序设计类课程改革,研究如何全面提高教学效果。将计算思维融入程序设计是当前课程教学的研究热点[1];很多教育专家和一线教师都提出了以培养计算思维为目标的程序设计类课程教学改革方案[2,3]。C语言程序设计属于此类课程,在注重培养计算思维的同时,更重要的是将教学内容与学生本专业相结合。因此,提出一种融入计算思维、与专业相结合(以下简称S&C)的C语言程序设计教学模式。

二、计算思维的专业化培养

计算思维是信息时代中的每个人都应当具备的一种思维方式,培养计算思维能力已成为计算机基础教学的核心任务[4]。程序设计类课程属于计算机基础课程体系,但是学习的内容和要求是相对的,对不同的人群应该有不同的要求[5]。对非计算机专业学生而言,程序设计语言更像是一个工具,是其在从事本专业工作中可以使用的一个工具。因此,任课教师应考虑到专业需求,将计算思维与专业应用进行融合,让学生感受到利用计算思维求解问题过程中的魅力[4]。计算思维教育的目的是培养一种思维习惯,一种像计算机科学家思考问题那样的习惯[6],虽然计算本身也是一门学科,但是其具有促进其他学科发展的作用,不应该将计算思维局限于此,而是应用于各专业领域。

三、C语言程序设计与专业相结合

为非计算机专业开设的C语言程序设计课程,授课深度和广度有别于计算机专业,很多高校将它作为一门通识课程,使用同一个教学大纲,难以与专业课程紧密衔接。实际上,随着计算机的普及,程序设计语言的使用不再是it人的专利,很多行业都会涉及到软件开发、编写应用程序。如单片机等智能芯片的开发语言就是以C语言为主[7],学生程序设计水平高低可能直接影响他们的就业和职业发展[8]。因此,有高校教师提出自动化专业的C语言程序设计课程改由自动化教研室承担[9]。但这种做法是否有违开设C语言程序设计课程的初衷?C语言是程序设计的入门语言,最重要的是建立C语言与专业的关联,培养一种独特的处理问题的思维方式,更适合由计算机专业教师授课,在后续专业课程中再由专业课教师进一步引导学生的应用实践。但教学内容要向专业靠拢,能够认识到专业课程和C语言之间的联系点在哪里,并由此制定出相对独立的教学大纲和专业化教学方案。

四、S&C式C语言教学模式

(一)课程设置

虽然学习C语言不需要什么必须的先修课程,但经过授课教师分析[8],与计算机专业学生不同,非计算机专业学生只是孤立地学习C语言,建议将C语言与相关课程配套开设,以自动化专业为例,在同一学期内,先开设C语言程序设计,在课程中后期再开设单片机课程,这样既可以加强学生理论联系实际的能力,又使学生对C语言的学习目的和从业方向更加明确。

(二)教学目标和教学内容

C语言程序设计的教学目标应体现基础性与专业性。基础性是针对后续课程来讲的,学生通过该门课程的学习掌握一定的算法和常用子程序,学会用C语言编写程序,为后续课程打下坚实的基础;专业性是指学生在掌握C语言的各种语法与程序结构的基础上,不仅能够根据实际问题设计算法、编写出解决问题的程序,还可以运用计算思维解决生活中或专业领域的问题。计算思维主要不是靠讲课得来的,而是在学习和应用计算机过程中培养的[5],但理论依然是实践的基础。因此,应将思维训练融入到教学内容中,并将计算思维具体化为对以下几项能力的培养。

1.抽象。从本质上讲,程序设计语言是对人类问题求解过程的抽象,例如,数据与数据类型、表达式、流程控制、函数等都是数据抽象、计算、逻辑推理以及问题约简等人类问题求解思维方法的物化[10]。使用C语言进行程序设计的过程就是利用计算的手段求解问题的过程,这一过程中对问题定义和形式化,以及建立问题的逻辑模型就是对问题的抽象过程,而抽象是计算思维的基本方法。

2.多样性思维。C语言中变量的使用是编程的基础,也是最基本的概念。C语言提供了多种数据类型,如整型、浮点型、字符型、数组、指针、结构体及枚举型等。在求解实际问题时,会涉及到各种各样的数据,如整数、小数、字符,还有一些复杂的对象,如学生个人信息、考试成绩等,为处理这些不同类型的数据,除了要分析数据的对象特征,还要了解各种数据类型之间的差异及其使用方法,通过大量练习掌握并灵活应用这些数据类型,这对于训练学生多样性思维有极大帮助。

3.问题分解。C语言是一门模块化程序设计语言,在求解一个复杂问题时,一般采用逐步分解、分而治之的方法,即将一个大问题分解成若干相对较易求解的小问题,再分别进行求解。C语言的函数就是程序的基本组成单位,在编写一个复杂程序时,将整个程序的功能划分为若干功能较为单一的程序模块,即用函数实现每个单一功能,然后再将所有函数像搭积木一般,组合起来。函数有其独立性,即要保证高内聚,低耦合;但却不是孤立的,使学生理解调用函数和被调用函数的相关知识和二者之间的相关性。

4.算法。算法是解决问题的方法和求解问题的步骤。解决同一问题会有不同算法,算法设计是C语言程序设计的核心。引导学生学会利用已有知识,学会从多个角度分析问题,采用不同的类型、结构都能解决问题;同时,引导学生进一步分析各算法的差异,不仅可以巩固知识点,还能加深学生对不同数据类型、程序结构化的认识。在教学内容中设置一些与专业应用相关的案例,增加趣味性的同时,激发学生的学习兴趣,增强与本专业的联系。

5.递归。递归就是用自身定义自身的方法。C语言允许使用递归,以应用递归求解的问题为例,使学生理解递归的工作原理。例如,利用公式n!=n×(n-1)!求一个自然数的阶乘,可以用以下函数进行计算。

intfact(intn)

{

if(n

return1;

else

returnn*fact(n-1);

}

跟踪i=fact(3)这条语句的执行过程,从中了解递归函数逐层调用和展开的过程。

6.程序。程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合,在系统的ipo模型中,程序是算法的实现。C语言以顺序结构、选择结构和循环结构作为基本的程序结构。学生在求解问题时选取合适的程序结构,练习使用相应结构的语句,训练其结构化思维;编程过程中,为了实现程序的整体,要考虑如何协调各类函数,从而强化一体性思维;任何程序,无论是简单的还是复杂的,都按照一定秩序有序执行,为解决不同问题要采用不同要素、结构组成程序,这可以强化学生的有序性思维。

7.动态性思维。C语言中很多知识点的运用都体现了动态思维。例如,根据计算对象的类型使用不同类型的变量,在多种类型数值进行混合运算时,其结果又能根据精度要求动态地向高精度类型转换;循环结构中,循环变量值的变化是程序动态性的最佳体现,在单步调试时,能够清楚地观察到循环变量及相关变量值的每一步变化;在函数定义中形参的设定也是训练动态性思维的重要知识点,每次调用函数时,函数所接收到的实参都是不同的,只有具有动态性思维,才能真正理解函数实参和形参的概念。

(三)教学方法

在课程教学中,教师应具有不同的角色,课程前期,教师是讲授者、主导者,以讲授法为主,通过对比记忆等方法帮助学生接受C语言各种定义的方式和语法结构;课程中后期,教师是协助者、引导者,采用翻转课堂教学法,让学生成为课堂主体。教师应设计好课前任务,及时获得反馈以调整课上活动;课上进行分组讨论和以专业性案例为主的任务拓展,引导学生举一反三,研究规律,掌握方法,让学生认识到C语言程序设计与专业学科的密切关系。翻转课堂的有效实施需要一个过程,既是学生接受、适应和主动参与的过程,也是教师根据不同课程班逐步调整实施方案的过程。

教学方法的有效性以学生的学习自主性为前提,而激发学生的学习动机似乎一直是教师与学生之间的较力。C语言与专业相结合可以在一定程度上提高学生学习兴趣,因为大多数学生是依据自身兴趣选择专业的,但这还不够。依据aRCS模型,增强学习者动机的四个要素:attention、Relevance、Confidence和Satisfaction。在教学开始阶段,引入一个C语言开发的专业案例吸引学生注意,激发学生想进一步探究的好奇心;进而建立C语言与专业学科的关联,使学生清楚教学目标和学习内容的价值;在课前任务中布置一些较简单的任务,以此增强学生的学习信心,课堂上进行任务拓展时提供一些有些难度而学生又能解决的问题,让他们感觉到自己的能力“非凡”,最后让学生明确自己取得的成果是自己具有能力并付出努力的成果;在实践环节布置的项目任务为学生提供了在一种真实或模拟的情境中运用知识的机会,感受到学习的价值、学习的快乐,从中获得满足;对学生的学习结果提供反馈,如对课堂表现好的学生给予口头表扬,维持后续的学习动机,面对全班公布考核方式的评分标准,让学生感受到教师评价的公平性。

(四)实践环节

为了鼓励学生积极进行实践,应该不断加强C语言实验平台建设,在校内使用oJ(onlineJudge)系统[11]。但要使oJ系统更好地发挥效用,教师必须对题目进行正确描述和引导,以及对测试用例考虑充分,增加与专业联系密切的实验内容,减少验证性实验内容;布置合作式项目任务,并以此作为大学生研究性学习和创新性项目,训练学生在实际工作中协调、合作和创造能力。学生还可以利用oJ系统进行阶段性测试,促进自主性学习。

(五)考核方式

课程的考核方式决定着教师如何教这门课,也决定着学生如何学习。目前C语言程序设计课程的考核方式为“平时表现+期末考试”的形式,期末考试采用无纸化上机考试,是评定学生成绩的主要方面,排除了考试各环节中人为因素的影响。试题库涵盖教学大纲规定的所有知识点,难度适宜、重点突出。

但全面考核学生的程序设计能力不能仅依赖于期末考试,应重视平时课堂和实践环节的考核,采用作业自评和同伴互评的评分机制。自评是学生比对评分标准自查;同伴互评是学生通过相互批改作业相互学习,是形成性评价的有效手段,能够帮助学生更积极主动地参与课程学习,增加了再次回顾知识、温习知识和总结自身所得的机会,促进更深层次的思考。为了使这一评分机制能有效开展,教师要制定一个好的评分标准,不同的“评委”依据这个评分标准对同一个作业进行评判应得出同样的判断;考虑到同伴互评中可能出现的问题,如学生不遵照评分标准打分等,做出相应的对策,使学生能够自觉以评分标准为指导,高质量地完成作业,然后根据评语对照评分标准修改完善自己的作业。

五、结语

应用型大学非计算机专业的计算机应用教育,应以能力为导向,使学生具备在各个领域应用计算机的能力。作为应用性较强的专业基础课,C语言程序设计能否学好关乎到后期专业课程学习的效果。根据专业特点,采取与专业相结合的C语言教学模式,培养学生将计算机处理问题的思维方式运用于本专业领域的能力,为各学科问题求解带来一种思想、策略、方法和手段上的变化,促进各学科的突破性发展。

参考文献:

[1]刘军.面向计算思维的程序设计教学实践[J].计算机教育,2015,(14):116-118.

[2]乔淑云,黄刚.程序设计类教学改革与计算思维之培养[J].计算机教育,2012,(19):17-19,23.

[3]聂兰顺,战德臣,宋巧红.计算思维的教学内容与方法研究――以“算法”和“系统”两种问题求解的计算思维为例[J].工业和信息化教育,2013,(6):21-27.

[4]冯博琴.对于计算思维能力培养“落地”问题的探讨[J].中国大学教学,2012,(9):6-9.

[5]谭浩强.研究计算思维,坚持面向应用[J].计算机教育,2012,(21):45-49,56.

[6]陈国良.计算思维的表述体系[J].中国大学教学,2013,(12):22-26.

[7]卢振利.应用型本科院校自动化相关专业中51单片机项目C语言六步编程法教学研究[J].电工技术・理论与实践,2015,(5):228-229.

[8]俞敏.对自动化专业C语言教学的思考[J].高校教育研究,2009,(3):135,137.

[9]陈丽敏,邵长友.基于自动化专业C语言课程教学改革的研究[J].中国电力教育,2013,(31):76,90.

[10]郝兴伟.大学计算机――计算思维的视角[m].第3版.北京:高等教育出版社,2014.

[11]廖雪花,厉兰洁,唐思娩.基于onlineJudge的C语言程序设计实验课教学改革研究[J].计算机教育,2016,(6):130-133.

ResearchonteachingmodeofCprogrammingforStudentsofnon-ComputerScience

LUanRuo-xing

(ComputerCenter,LiaoningUniversityoftechnology,Jinzhou,Liaoning121001,China)