欢迎来到优发表网,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

c语言论文(合集7篇)

时间:2023-03-20 16:19:58
c语言论文

c语言论文第1篇

任何一个好的跨平台软件开发的实现,主要还是对整体设计的把握,跨平台程序设计要求实现与平台无关的代码,在设计和编写的过程中,还要对软件的架构和整体配置的合理性问题作出考虑。思路,我们可以结合自身学习和实践经验在程序设计方面充分利用开源的代码和程序,就可以让跨平台的设计更加地趋于成功。

2C++程序设计语言跨平台开发的策略

我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。

3处理器差异的控制

鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。

4利用wxWidgets开发跨平台软件

wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。

5结论

c语言论文第2篇

参考文献:

[1]裘宗燕.C++程序设计语言(特别版).北京机械工业出版社,2002.7.

[2]StandleyB.lippman.C++Primer中文版.人民邮电出版社,20006.3.

[3]谭浩强.C程序设计(第二版).清华大学出版社出版,2005.6.

[4]钱能.C++程序设计教程.清华大学出版社,2005.5.

[5]沈美明.IBMPC汇编语言程序设计.清华大学出版社,1993.9.

[6]钱晓捷.汇编语言程序设计.电子工业出版社,2003.

【参考文献】

[1]翟乃强,隋树林,汇编语言与C语言及VisualC++混合编程[J].青岛科技大学学报,2003,24(B09):136~138.

[2]钱晓捷,汇编语言程序设计(第二版)[M],电子工业出版社,2003.6.

[3]钱春英,浅谈C语言与汇编语言混合编程的一些技术[J].南通航运职业技术学院学报,2005,4(1):50~52,55.

[4]郭晓梅,汇编语言与C语言的混合编程及应用[J].南京农专学报,2002,18(4):49~52,62.

[5]普拉塔.CPrimerPlus(第五版)中文版[M].人民邮电出版社,2005.

[6]斯马尔迪诺.教学技术与媒体[M].高等教育出版社,2008.

[7]教育部考试中心.全国计算机等级考试二级教程——C语言程序设计[M].2010年版.北京:高等教育出版社,2010.

参考文献:

[1]周以真.计算思维[J].中国计算机学会通讯,2007,(3):77-79.

[2]董荣胜.计算思维与计算机导论[J].计算机科学,2009,(36):50-52.

[3]林旺.孙洪涛[J].基于软件应用的计算思维能力培养教学设计.中国电化教育2014,(11):122-127.

c语言论文第3篇

关键词:C语言;教学方法;思维转化;启发式教学;软件工程

一、前言

C语言是一种通用性计算机程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”部分学生甚至毫无编程想法,仅仅是为应付考试而死记硬背,完全背离了高职教育的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问理。以下是笔者在C语言教学中的一些看法,愿和同行探讨。

二、上好第一堂课

如何上好第一堂《C语言程序设计》课是至关重要的。因为学生都是初次接触C语言,C语言对他们来说是神秘的,“兴趣永远是最好的老师”,有了兴趣他们才会积极主动地去学习,所以第一堂课的成功与否直接关系到学生能否对这门课产生兴趣,所以我觉得第一堂课应为“趣味C语言导学课”。

(一)程序结果展示,激发兴趣

要激发学生的兴趣。首先要让大家知道C语言的强大功能,利用它我们能编写各种软件,通过幻灯片向学生展示各种结果画面,例如从50年代玩的摇杆游戏到如今的电脑游戏。相信这时有些学生已经有些“蠢蠢欲动”了。恨不得立刻学好C语言。

(二)强调C语言的重要性

C语言是学生今后学好后继课程的基础,比如数据结构。C++,JAVA等。虽然程序设计语言更新很快,但如果真正掌握精了程序设计思想,具备了真正解决实际问题的能力。语言再更新可程序设计的本质不会变。

(三)传授C语言的学习方法

C语言是一门实践性课程,要理论结合实践,加强学生的动手能力,解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:“C语言不是看会的,也不是听会的,而是亲自动手实践练会的”,强调实践的重要性。

(四)认识C语言的编译环境。

在visualstudio2005环境下,举出几个简单的小程序演示给他们看,并逐一讲解,引导学生自己去发现程序中存在的缺陷以及改进的方式。熟悉C语言源程序到可执行文件的整个操作流程。让他们仿照所列举的几个程序模仿着编一个小程序。

三、C语言教学方法

(一)抽象思维到形象思维的转化

让学习过程变得轻松有趣是激发学生兴趣的关键所在,C语言本身是一门极其抽象难懂的学科,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以收到良好的效果。

(二)采用问题启发式授课,激发自主学习

针对C语言概念多,语法繁的现状,采用问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,学习积极性调动起来,达到师生互动的效果,教师自问自答为主,有问有答,互问互答,改变单调死板、照本宣科的牧师讲法。这种启发式、讨论式、交流式的教法,不仅改变原来的灌输式,而且增强了学生自主学习的能力。

(三)“引申法”“框架法”和“求异法”相结合

所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维。提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。

“框架法”可培养学生的全局思维和算法的整体设计能力。具体体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过此框架,可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,利于培养学生的编程思路。二是在学习重点章函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。

“求异法”:一个固定的问题。解决的方法可能不唯一,如果能启发学生多角度、多侧面去寻求解决问题的办法,则可激发学生思考的积极性,提高其学习兴致。在C语言中一题多解的情况有很多,有意识地引导新思路,鼓励新方法,以培养学生在编程中的求异思维,而不是死记硬背,墨守成规。超级秘书网

(四)理论教学与学生实践相结合,提高程序调试能力

对程序设计课来说,理论学习和上机要两手抓,两手都要抓硬。实验课不能流于形式,让学生照抄照搬,甚至身在曹营心在汉。必须给学生思考、创新的启迪,训练其实践能力,实验课要生动活泼,使学生既掌握书中的重点算法,又有充分的思考空间,让学生充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,都应该配有相应的学生上机实践的机会。这样学生既锻炼了动手能力,又巩固了所学的知识。还应该让学生养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,学生就有的放矢,主要精力放在调式程序上需。对于普遍存在的问题,进行集中提示、讲解、演示以增加学生的印象。井及时检查总结学生上机实验的完成情况。

(五)在整个教学环节中,巧妙地引人软件工程的基本思想

计算机科学属工程技术科学,为使学生有良好的编程思维,应注重软件工程思想的渗透。对软件生存周期的几个阶段,即问题定义、可行性研究、需求分析、概要设计、详细设计、编码、调试、运行与维护,可以通过常规的C程序设计实例来体现,以培养学生编程中的工程思维。这样并没有费很大力气讲抽象的概念,却可培养学生在程序设计中从软件工程角度去系统分析问题的良好习惯。虽然问题小了些,但“窥一斑而知全局”,经反复强化问题求解中所蕴含的基本思想,将有效地训练学生程序设计中统筹全局的工程思维能力。

c语言论文第4篇

  优秀C语言学论文致谢词(1)篇

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

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

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励

特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历2015优秀C语言学论文致谢词(3)篇论文。

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

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

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

还有很多我无法一一列举姓名的师长和友人给了我指导和帮助,在此衷心的表示感谢,他们的名字我一直铭记在心!

最后,衷心感谢在百忙之中抽出时间审阅本论文的专家教授。

Acknowledgements

MydeepestgratitudegoesfirstandforemosttoProfessoraaa,mysupervisor,forherconstantencouragementandguidance.Shehaswalkedmethroughallthestagesofthewritingofthisthesis.Withoutherconsistentandilluminatinginstruction,thisthesiscouldnothavereacheditspresentform.

Second,IwouldliketoexpressmyheartfeltgratitudetoProfessoraaa,wholedmeintotheworldoftranslation.IamalsogreatlyindebtedtotheprofessorsandteachersattheDepartmentofEnglish:Professordddd,Professorssss,whohaveinstructedandhelpedmealotinthepasttwoyears.

优秀C语言学论文致谢词(2)篇

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

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

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

感谢我的朋友louis,dick,iris,tracy,sawyer,joe,jason,icebear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

优秀C语言学论文致谢词(3)篇

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

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

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励

特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历。

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

感觉计算机学院研028班的我的同学,感谢他们在学习和生活上给予我的帮助。感谢生我养我的父母,他们给了我无私的爱,我深知他们为我求学所付出的巨大牺牲和努力,而我至今仍无以为报。祝福他们,以及那些给予我关爱的长辈,祝他们幸福、安康!

还有很多我无法一一列举姓名的师长和友人给了我指导和帮助,在此衷心的表示感谢,他们的名字我一直铭记在心!

c语言论文第5篇

内容单一无趣,教学过程中使用的教材案例是刻板的案例,不仅约束了学生的创新思维,学生不能够按照自己的方法和观点参与课堂互动,而且C语言教学的效果也大打折扣,所以教学过程中案例的选择非常重要。由于学生C语言编程课程的基础参差不齐,有些学生对C语言抽象思维的理解非常困难,更不要说进行独立的编写程序。这同时也给老师的教学带来了困难,现阶段的C语言教学基本上是老师占用整个课堂时间进行讲解,时间紧迫,与学生的几乎没有互动,导致学生容易走进学习的误区。老师在课堂上比较注重单一知识点的讲解,没有把知识和现实运用相结合,应该把教材中的知识点和平常应用结合起来。然而在过去到现在的教学中,老师往往把重点放在了两种表达形式的不同上,而忽略了两个表达式相同的本质意义。这样的教学方式就造成了学生对知识点非常的了解,但是就是无从下手进行程序设计。实践环节的重视力度不够,C语言课程是一门技术类课程,在我们以后的工作,生活中的应用非常广泛,我们学习C语言是为了解决实际生活中的问题,最终的目的就是要回熟练的应用C语言进行编程。目前的教学过程中,我们更加侧重的帮助学生面对考试,其实,我们更应该加强学生编写程序能力的培养。忽略了应该加强培养学生的动手编程能力,导致学生会说不会做的尬尴局面。

二、C语言课程新的教学方案设计

(一)教学内容的重组首先,我们要选择一本适合大部分学生的基础的教材,该教材不是呆板木讷的传统教科书,我们应该选取生动形象的教学材料,结合多媒体教学手段,激发广大学生的学习热情,提高C语言课程教学的质量。老师要明确C语言与后续课程之间的关系,从而制定本课程的教学计划,另外,要根据社会需求对教学内容进行删除和增加,在课堂教学过程中还有在教学计划的基础上对内容进行微调。一个对教学内容重新确定,把知识的讲解和实际编程相结合,以及进行一些有趣的竞赛或者互动,这样可以加深学生对C语言的理解,提高教学质量,并且激发学生的学习积极性。

(二)教学过程的设计在本科教学中,C课程语言的教学大多开设在大一,学生基础普遍薄弱,没有系统的只是结构,所以教学过程的设计至关重要。首先要激发学生的学习热情,和对未知的好奇心,大部分学生在学习一门课程之前,大脑中都会闪现这样一个念头,学习这门课程对我有什么好处,老师在第一堂课时,应该直接明了的告诉学生学好C语言的好处,比如就业市场上对软件人才的需求缺口比较大,学好C语言可以增加就业的砝码,而且C语言是很多理工科专业的基础课程,在以后还会学习很多后续课程,在教学过程中,我们还有加强与学生的互动,及时的为学生答疑解惑。C语言的教学过程是一个由浅入深,循循渐进的过程,教学过程中应该从简单的语法学习入手,慢慢的积累知识,直到能自己独立的编写程序为止。

(三)C语言教学中学生和老师联系目前的C语言教学中,比较普遍的是课堂学习和上机操作相结合的教学方式,特别是在课堂教学中,呈现的是老师滔滔不绝的讲,学生麻木不仁的听的刻板画面,老师与学生之间的互动性差,缺乏有效的沟通和交流。而作为本科学生的第一门编写程序的基础课程,学生在学习中难免会遇到很多困难,有的学生上着上着就走神,或者就产生了放弃学习的心里。另外,在上机实验部分,老师要求学生进行的实践往往是老师课堂上讲过或者是指定的某些课后习题,学生往往很容易就能找到答案,导致学生遇到困难就放弃,寻找答案,无法培养学生刻苦钻研,独立解决问题的能力。首先可以通过案例带动教学,我们可以从简单的案例入手,再到一般的案例,最后到综合应用案例。其次,在课堂教学中,可以进行小组讨论加强团队合作,鼓励学生多提问题,这种教学方法提高了学生的团队合作精神,提高了学生协作解决问题的能力,在发现问题并和同学的讨论中,不但可以相互帮助解决问题,还增强了对概念的理解。还应该鼓励学生在课堂之余自学以扩展知识面,在未来的教学过程中应该采用多媒体投影和现在的板书模式相结合的教学手段。缺点是每页幻灯片包含的内容有限,不便于学生对前后两页幻灯片知识的联系,还有就是幻灯片变换速度快,基础差的同学跟不上老师的思路,而传统的黑板粉笔模式教学方法可以很好的弥补多媒体教学的这个缺点,所以把二种教学方法结合起来会达到意想不到的教学效果。在上机操作调试的过程中,尤其应该注意学生创新和思考能力,最终获得自己动手解决问题的能力。实践环节应该以巩固知识点为主线,结合趣味性和实用性,以循序渐进的任务驱动方式,达到提高自主编程能力的目的。

(四)新的成绩考核制度除了在期末考试进行理论的考核外,还应该注意实际编程能力的考核,建立并执行创新鼓励加分制度,对那些在课堂勇于探讨问题,在编写程序过程中创新做得比较好的学生加分。提高C语言教学效果还应该注意在教学过程中相互间的探讨,在教学过程中以提高学生的编程能力为中心,让学生明白C语言课程的重要作用。这些方法使学生编写程序的能力,上机调试程序的能力和编程习惯得到有效的改善,显著的提高了C语言的教学质量。

三、结论

c语言论文第6篇

大一的新生对编程的逻辑思维不熟悉

作为计算机专业大一的必修课,C语言程序设计课时少,内容多,逻辑思维严密,实践性强,多数学生从高中进入大学,对老师依赖性较强,自学能力不足,此外对计算机专业的学习方法不适应,对编程的逻辑思维方法还没有形成,VC++上机操作不熟练,对编译、调试过程中出现的专业英语不熟悉等各方面的因素,导致这门课程学生学习起来有一定困难,容易形成成绩两极分化的结果。因此更需要教师提高教学水平,激发学习兴趣,使得枯燥难懂的编程变得生动有趣。

过分强调语法,忽视算法

C语言的学习类似于外语,要先会词、句,然后才能写出段落,C语言也必须掌握常量、变量、运算符、顺序、选择、循环语句等,才能写出程序来。但要写出好的文章光有词汇和语法是不够的,还需要流畅的思路,编程也是如此,算法才是程序的灵魂。大多数C语言教材中通常先给出一般的语法格式,然后讲解语法要点,再举例说明。很多教师对语句语法进行深入的教学,而对算法教学却偏少、不重视。加上应试教育的选择题、填空题题目侧重于语法细节,与程序设计的实用性偏离甚远,使学生产生了学习误区,导致了学生会读程序,但自己上机写程序时有种无从下手的感觉。学习程序设计语言的真正目的是编程解决问题,必须大量练习编程题,在编程的过程中掌握语法。

教学内容与解决实际问题有差距

C语言的教学目的是要熟练掌握C语言的用法和培养结构化程序设计的思维方式,培养编程能力,因此理论联系实际是教学改革的一个重点。在高校中普遍存在着注入式教学方法,学生为学习而学习,而忽视了学习的目的,C语言程序设计是一门理论性和实践性都很强的课程。当前,在程序设计实践常用的模式中,基本遵循着前几十年延续下来的习惯做法,即教师布置与程序设计语言教材的知识点相符的任务,学生通过上机来验证教材和讲课的内容以及自己所编的程序正确与否。这种做法与实际完全脱节,学生只会解决书上的问题,如求最大、最小值、平均值、排序、交换数组元素位置等,而对于现实问题却很茫然。很少有教师仔细斟酌实验的内容,以使其与实际联系更紧密,导致学生学完了不理解学了C有什么用处。因此讲解和练习要多引入日常生活中的实际问题:如计算器、小游戏、具备插入、查询、删除、保存等基本功能的学生管理信息系统等,通过这些编程问题使学生综合应用各章的知识,如循环、数组、函数、指针、文件,达到解决实际问题的编程能力。

教学重点

C语言是函数式的语言,因此C语言的重点一是函数、二是指针。而数组与指针是密切联系的,因此在C语言程序设计的教与学中一定要抓住数组、函数、指针这条主线,掌握数据在内存中的存储和变化,就有利于突出重点和突破难点。与其他编程语言相比,C语言中数据类型和运算符众多,指针概念抽象复杂,函数参数用法灵活,概念、语法规则和例子众多,不易掌握。通常学生对单一的知识点能够掌握,但对于知识点的联系理解不深,难以形成完整的知识体系。

因此C语言在讲解时在介绍完数据类型、变量、常量、运算符、表达式和面向过程的三种基本程序设计结构以后,要围绕数组、函数、指针这一主线展开程序设计,这样的话才能抓住C语言的重点,将纷繁的知识点形成清晰的脉络。我们知道,数组是相同数据类型的变量的集合,函数的作用是将程序模块化,而函数的参数可以是普通变量,数组名和指针变量。当在函数间传递数组和字符串时就可以用指针变量或数组名作函数参数进行地址传递,这样实参与形参就有四种组合,即:(1)实参、形参均为数组名;(2)实参为数组名,形参为指针变量;(3)实参为指针变量,形参为数组名;(4)实参、形参均为指针变量。数组、函数、指针通过这一主线就贯穿和联系起来了,学生既懂得它们之间的区别也懂得它们之间的联系,学习起来轻而易举。例如编写swap函数(指针法):交换数组a和数组b中的对应元素并输出a、b数组。该例子既用到了函数调用,又用到了数组,还用到了指针变量作函数参数,函数、指针、数组三个重要的知识点都联系起来了。四、课程改革

(一)案例教学,语法与算法结合

C语言程序设计课程是C语言与程序设计相结合的一门课程,这就要求教师在授课过程中,既要讲解C语言的一些语法规则,又要重视程序设计。如果上课的老师不能准确把握,把重点简单放在讲述一些语法规则方面,往往会使学生丧失学习兴趣,另一方面也没有达到教学目的,有损教学质量。通过典型的例题既讲了语法,又掌握了算法,可谓一举两得。如果按照章节的顺序,往往是先讲变量、运算符,才讲顺序、选择和循环结构,但孤立地讲变量,常量,运算符学生往往学了就忘,理解不深,这时可以引入后面的实例。例如可用循环的例子指出变量要先定义后使用,定义数据类型的作用是为变量分配相应大小的内存空间,p为n!其值可能会超过基本整型变量的表示范围-32768~+32767,因此p要定义为长整型,++是自增运算符,它的作用是i=i+1,for循环的功能是完成累积,乘数i从1至n,每循环一次i增加1。通过具体的实例使学生理解语法不是孤立的规则,而是互相联系,使得一个功能得以实现的不可缺的组成部分。

(二)总结归纳,深入本质

在C语言中,指针是C语言中的重点和难点,概念抽象,学生不容易掌握。要启发学生多进行对比,归纳总结,深入本质,透过现象看到本质,培养和提高分析和解决问题的能力。例如,指针是地址,通过指针可以间接访问它所指向的目标变量,但为什么要用指针?还要引导学生深入思考。函数之间传递数据要依靠参数,而且只能由实参向形参传递,有值传递和地址传递两种方式。如果将数组名或指针变量作参数就是地址传递。在函数间不仅可以传递变量的值,变量的地址,还可传递数组,字符串等。形参是局部变量,函数调用结束形参变量就释放掉了,而函数返回值又只能有一个,那如何才能够从调用函数带回多个不同数据类型的数据呢?带着这样的问题,让学生思考通过指针进行地址传递的作用,其好处就在于可以通过形参的指针变量间接访问实参变量,达到了“双向传递”的效果,这样在函数调用时对形参变量的操作就等价于对实参变量的操作,理解了这一点就可以明白指针的重要性和好处了,学习也变得轻松和简单了。例如交换两个数的例子,用指针作形参。当函数调用结束后,形参空间虽然释放了,但在函数调用过程中通过形参对实参的影响却留了下来。

(三)以图示方法形象化算法

在教学中只要抓住数据在内存的存储和变化这个关键点,结合适当的图形教学,例如数组元素的内存分配,指针操作数组元素时,指针的自增与自减运算,指针的交换,目标变量的交换,链表的创建、插入、删除和输出等,都可以画出内存单元的图示来,一步一步地操作,循序渐进的学习,学生就容易理解和学好C语言了。例如用图示法形象化上例中的swap函数交换两个变量,如图1所示:

(四)多种编程方法开阔思维

同一个问题,鼓励学生用几种不同的方法编程实现,并让学生去分析它们的异同,从而加深对知识点的理解,掌握本质的算法思想。例如求1到100的累加和,可以用while,for和dowhile循环三种方法实现,输入字符串时可以用scanf,getchar,gets函数来实现,输出字符串时可用printf,putchar,puts来函数实现,输入、输出数组元素时可以用下标法,也可以通过指针法等。通过让学生尝试用不同的方法解决问题,一方面使学生对相近知识点的异同有了深刻的理解,培养了学生发现事物之间内在联系的观察能力,另一方面锻炼了学生编程的能力,培养了学生主动学习,积极思考的学习习惯,并且能将所学知识融会贯通,可谓一举两得。

c语言论文第7篇

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