期刊大全 杂志订阅 SCI期刊 投稿指导 期刊服务 文秘服务 出版社 登录/注册 购物车(0)

首页 > 精品范文 > c语言程序设计实例

c语言程序设计实例精品(七篇)

时间:2023-03-01 16:29:08

c语言程序设计实例

c语言程序设计实例篇(1)

关键词:C#语言;课堂教学;示例教学;教学模式;案例讨论

中图分类号:G642.0文献标识码:A文章编号:1009-3044(2012)06-1351-03

Case Discussion Method in《C# Language Program Design》Curriculum Practice

LI Hai-bo,MA Ming

(Nanyang Institute of Technolgy, Nanyang 473004, China)

Abstract:According to C # language and the problems in the traditional teaching model, presents a case discussion teaching method. Class? room teaching will be dispersed sample combination, form a case module is introduced to the teaching practice, using case teaching method to arouse the students’ interest in learning, training students thinking of object-oriented programming and the ability to analyze and solve problems, in order to make students to learn in order to practise purpose.

Key words:C# language; classroom teaching; examples of teaching; teaching mode; case discussion

随着互联网技术发展越来越快,人们对网络应用程序的需求也越来越多,而C#(C Sharp)语言自从2000年问世以来,由于其安全、跨平台、面向对象、开发速度快等特点,很快得到用户和企业的青睐,成为当今最流行的网络编程语言[1]。为顺应社会需求,各高校计算机相关专业都将C#语言课程纳入到教学计划作为高年级的就业方向课程。但是在教学过程中很多学生反应C#语言涉及的概念比较抽象难懂,规则和类库繁多;知识点零散,容易出错;学生在遇到实际编程问题时感觉“无从下手”。作者从实际教学环境入手,对《C#语言程序设计》课程从教学方法、教学手段等方面进行了一些改革,并取得了较好的教学效果。具体改进措施和方法如下。

1案例讨论教学法对传统教学方法的改进

1.1传统教学方法存在的问题

目前,《C#语言程序设计》课程是我院07级、08级软件工程专业的就业方向拓展课程。该课程是C++语言的后续编程课程,目的是让学生在建立面向对象编程的基础能力上熟练掌握C#基本语法规则,并提高实际编程能力。以往的教学方法都是先从基础概念入手,再就C#语言所带的基本控件进行讲解,其中着重讲解C#如何操作数据库中的数据。每节课先以理论概念结合一些简单示例程序讲解,最后安排学生上机操作加以深刻理解。

在以往的教学模式中,教师按照教科书编排顺序进行教学,讲授大量编程知识,但学生遇到实际项目编程应用并不理想。平时的知识点和课堂示例过于分散,学生无法体会到各个知识点之间的联系;学生在学习过程当中感觉平时的知识点很抽象,课堂上掌握的只是些表面知识,并不能正确的理解和加以应用;即使课堂上听明白了,时间一长有些知识点又会遗忘。经常在实际的编程项目中感觉“无从下手”。久而久之导致学生逐渐失去了编程的兴趣和信心,觉得没有实际用途,并产生消极情绪[2]。

综上所述,产生问题的原因在于传统教学方法只是让学生掌握了基本编程知识,知识点之间的结合应用不够灵活,在实际项目应用当中想不到应该使用哪个知识点来解决问题,因此,为了改善这种现状,有必要对C#课程的教学模式进行改革和探讨。1.2案例讨论式教学方法

C#语言的课程内容既丰富又零散,要求学生既要理解一些抽象的概念、方法又要具备一定的编程、动手能力。这就要求教师在现有课堂教学时间当中充分调动学生的积极性、主动性和参与性,采用先进的教学模式和手段,师生共同配合较好地完成教学任务。

在传统教学中,当理论知识讲述之后,针对该知识点做出示例,可以使学生加深对该知识点的理解,掌握知识的使用方法。但 是平时的课堂示例只是单独的几个知识点,如何把相关的知识点联系起来完成某个功能模块,这是我们考虑的问题。

案例讨论式教学法是运用实际案例进行交互式教学的方法。在教学过程中,要求以实际的案例模块作为被解析对象,在教师指导下按照软件工程的思想将某一工程项目分析解剖,以其中某一模块为实现目标,学生共同参与案例的分析、讨论,寻找实现途径。通过这种教学活动达到学习知识、分析问题、解决问题的目的。

通常情况一个案例应用到多个知识点。比如一个登陆模块的实现,它需要熟练掌握C#的基本语法、IF…ElSE语句、数据库操作等知识点并结合使用。所以在本课程教学中,笔者经常在讲授一部分知识点后,把各个知识点串联起来放在实际的案例模块当中。先组织学生参与讨论,分析出该案例中某个模块需要哪些知识点来完成。学生通过文字描述整个模块的实现过程,最后指出知识点在整个案例实现过程中的具体环节,确定软件处理流程,上机编码。这种方法可以使学生遇到问题后回顾以前所学知识,并把知识跟实际案例相对应,从而解决实际问题。

经过一段时间的零散知识讲解之后,应该把几个零散的知识点贯穿起来,结合实际的项目需求,组织学生分析讨论。这样不但学到了知识,还可提高对案例的分析、解决问题的能力,能够达到学习与实践的统一。因此,案例讨论式的教学模式是一种帮助学生快速适应未来职业需求的学习形式。

3 C#课程案例讨论式教学实践与教学质量评价方法

3.1“案例讨论”教学模式的实践

在“案例讨论”的C#课程教学过程中,根据该教学程序将整个教学活动分为以下几个阶段:

(1)案例需求设计

案例应该是一项具有实际意义的工程任务,也是某一具体项目中的一个模块,它的选取是学习的关键[3]。首先,案例设计要目标明确,既要满足教学要求,又能有一定应用价值;其次,案例设计要符合学生的特点,案例中应该包含之前所讲授的部分知识点,难度要适中,在平时的教学情况下学生可以分组进行讨论、明确的目标后安排学生的学习,在这一过程中要对本班学生的具体情况进行分析,定义基本任务,还可以有延伸问题;最后,案例设计要符合面向对象和面向工程的要求,让学生按照软件工程的设计要求制定该案例的分析方案。案例整体结束后,师生可以共同评价其工作成果。

教师在设计案例时,设计一个案例,让每个小组讨论同一个案例,这样可以在后期进行组与组之间的对比,激励组内成员的团结性。

(2)案例讨论前的必要准备

在布置任务之前,学生已经学习了该案例模块的基本理论知识。但在实际教学过程中,每个知识点有可能都是独立的,缺乏知识点之间的联合应用,学生很难对一些理论知识系统理解,一旦马上进行项目应用往往难以适应,感觉“无法下手”等情况,因此教师在进行布置任务前有针对性的以前知识点进行必要的复习,同时也能对学生的学习情况,相关知识的掌握情况有一个了解。这样就为教学的开展做了必要的铺垫。

(3)组织学生讨论

案例讨论是以学生为主体,但一个案例模块如果让一个学生去思考,可能会在思路上受到限制、难度有时过大。如果让所有人都参与,则合作、分工难度过大,因此,学生的组织应以小组为单位,可自由组合也可由教师编排,每组5人左右,指定其中一人为小组组长,最后讨论出整个流程,并对整个流程分析出需要哪些知识来实现。这样既能锻炼学生的分析问题、解决问题能力,也能锻炼学生在项目开发过程中的沟通协调能力。

(4)采用“讨论式”教学方法,监控整个讨论流程

学生以小组进行讨论时,教师可以指定整个讨论流程,规定时间限制,一般讨论30-40分钟时间,先让每个小组针对该模块确定工作流程思路,写出文字描述的软件工作流程,再次针对每个小组自己设计的软件工作流,指出流程中需要的知识点名称,最终提交整个流程文档。由小组成员提出自己的见解和工作计划并在这一过程中相互启发、相互学习,经过讨论最终确定出较好的解决方案。在这个过程中教师应采用“讨论式”的教学方法,组织同学们一起对方案和遇到的问题进行讨论,充分发挥学生的主动性和创造性。

(5)教师讲评

教师将每个小组的最终文档汇总,如果思路流程正确优秀的小组可以得到好评及表扬,对思路有问题的小组教师可以适当的指出其问题的所在,加以纠正。最后教师就该案例,说出正确的软件工作流程,在该流程中所应用到以前学习过的知识点,让整个学生明确思路和解决方案,布置模块编码任务,从而为功能编码的实现打下基础。

(6)实际编码环节,提高上机质量

在传统的教学模式中,上机实验由教师根据教材内容进行编排,主要以书上的例题、课后习题为主,学生只是将程序敲入计算机,运行一下即完成了上机任务。虽然程序运行结果正确,但对程序本身的设计理解并不透彻,只是掌握了该知识点的使用方法,无法理解在实际的案例工作中应该如何应用。

在“案例讨论”的教学模式驱动下,以案例讨论为主线,明确遇到问题首先应该考虑使用以前的哪些知识点解决,待思路和知识点完全确定后,再进行编码,这样可以有效的解决学生遇到实际项目时难以下手,也不知从何下手的问题。最终以讨论文档和案例程序为阶段考核和评价的依据,充分利用实验环境和条件,加强上机实验的应用效果,保证教学质量。

3.2教学质量评价方法

C#语言是一种面向对象的程序设计语言,针对C#语言及“案例讨论”中理论学习与实践并重的特点,在考核过程中采用新的教学质量评价方法,即将考试机制与案例讨论实现有效结合,综合评定教学效果。

以往的考核形式多为期末笔试+平时成绩(出勤、作业等),这种评价方式虽然能反映学生的学习态度及对一些基本概念、知识、理论的掌握情况,但无法全面反映出学生对知识点实际的理解和灵活应用,因此将考核形式变为期末笔试+案例讨论报告+案例程序,其中期末笔试主要检验学生对基本概念、语法、结构的学习和掌握情况,测试的是学生的基础理论部分,这部分成绩可占整个评价结果的50%;而案例讨论也作为一项考核内容,重点考核的是学生的分析问题解决问题的能力,最终以平时的讨论报告为主要依据,因此其成绩将占整个评价结果的25%;最后一个部分为项目源代码,主要考察学生的实际编码能力,按小组分工给出具体的分数,占整个评价的25%。

采用案例讨论为核心的教学模式,将原有的以“课堂、教师、书本”为中心的架构变为以“课堂示例、案例分析、实际应用”为中心的架构,将所学知识与实际应用紧密结合,学生既学到了知识又得到应用锻炼;教师既完成了教学又培养了学生的能力,达到了“教书、育人”的双重目的[4]。

4结束语

案例讨论教学对于语言程序设计课程来讲是一种比较有效的教学模式,它突破了传统教学模式,让学生学习一段基础理论知识之后,通过对实际案例问题的分析来理解掌握知识点,这样不仅能快速地掌握所学知识,也为代码的实现打下了坚实的基础,而且能够培养学生的社会责任感和团队合作能力,提高学生的具体分析能力和解决实际问题的能力,培养出的学生能很快适应市场需求,有助于解决学生的就业问题。因此,案例讨论教学方法不仅适合计算机程序设计语言教学的需要,也是应用型软件开发设计人才培养的一个有效途径。

参考文献:

[1]吴晓艳. C#语言程序设计精品课程建设的探索[J].科技信息,2010(25):48-50.

[2]蒋卫祥,朱利华.项目教学法在JavaWeb程序设计教学中的应用[J].科技信息(学术版),2006(9):410.

[3]李桂琼.程序设计课程的教学改革初探[J].计算机时代,2007(8):73-74.

[4]吕晓华,李素朵,张燕.任务驱动教学模式在java课程教学中探索与实践[J].北京:硅谷,2008(9):180.

[5]张悦.项目驱动教学法在C语言课程中的应用[J].职业教育研究,2007.

[6]吕晓华,李素朵,张燕.任务驱动教学模式在java课程教学中探索与实践[J].北京:硅谷,2008(9).

c语言程序设计实例篇(2)

关键词 “C语言程序设计” 教学组织 教学方法

中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdks.2016.03.041

Abstract As a fundamental and central course of computer profession, the C programming language directly affect training goal of computer profession. Therefore, Adapting to the development of Computer profession in new situation, the traditional C language programming teaching method and implementation strategy need to reform. In this paper, the author summarize some views on the teaching reform from the teaching experience of C programming language course.

Key words C programming Language; teaching organization; teaching method

“C语言程序设计”课程是计算机专业学生的一门程序设计入门课,是培养学生程序设计思想和能力的技术基础课,同时也为后续的专业课程奠定了坚实的基础。其中专业核心课程“数据结构”一般以“C语言程序设计”为辅助教学工具,学生在具备了“C语言程序设计”的基本程序设计思想和方法以及数据结构的基础知识后,才能进一步学习Visual Basic、Java等高级语言程序设计。因此,必须将“C语言程序设计”课程的教学作为计算机专业培养的核心任务。

1 “C语言程序设计”教学现状分析

目前,计算机专业“C语言程序设计”课程的教学大多还停留在传统的教学模式上,主要以教师的“教”为主,教师根据教学内容的组织讲授基本的概念、讲解例题、布置作业给学生进行上机练习,学生在教师的指导下完成编程练习。在教学的过程中,学生完全处于被动接受的状态,无法发挥学习的积极性和主动性,以至于大部分学生普遍反映“C语言程序设计”枯燥、难学,缺乏学习兴趣,学生普遍的编程能力较差。

由于新生入校后已有的计算机专业基础知识薄弱,学习方法欠佳,以至于学生在初次接触“C语言程序设计”这样抽象难学的程序设计课程时,都会难于正确把握课程的学习方法。因此,任课教师应该准确地分析学生的学习现状,深究原因,找到解决方法,能够最大限度地激发学生的学习兴趣,引导学生合理有效地学习,并且培养学生分析和解决问题的能力。

2 “C语言程序设计”教学改革

依据培养目标的定位,教师应以培养学生基础能力和提高学习兴趣为原则,合理地开展“C语言程序设计”课程的教学改革。为此,笔者结合“C语言程序设计”的教学体会,提出如下的观点。

2.1修订“C语言程序设计”的教学大纲,编写和选用适合计算机专业的教材

首先,教师应准确定位课程的教学目标和任务,“C语言程序设计”课程的教学目标主要体现在知识、技能和素质三个方面。其知识目标要求学生较好地掌握“C语言程序设计”的基本语法、语句、控制结构以及结构化程序设计的基本思想,这是学习本门课程的核心要求。课程的技能目标体现在使学生认识到算法、良好的程序设计方法及上机实践的重要性,并且掌握算法设计和结构化程序设计的方法。另外,在素质目标方面要求培养学生利用“C语言程序设计”分析和解决实际问题的能力。其次,教师应结合教学目标和任务合理组织教学大纲。鉴于“C语言程序设计”课程实践性较强的特点,教师还应根据教学大纲的要求,制定合理有效的实践教学大纲,制定实践教学内容和实施方案。实践教学内容应紧密联系实际应用,并强调充分调动学生的积极性、主动性和一定的团队协作能力,另外还应注重培养学生分析和解决实际问题的能力。

依据教学大纲中教学内容的组织和实践教学的设计,教师应合理地编写和选用课程的教材。目前,“C语言程序设计”方面的教材甚多,以清华大学谭浩强教授编写的《C语言程序设计程序设计》一书为代表的一系列优秀教材为课程的教学提供了较好的导向作用。但根据计算机专业的培养目标和课程的定位,教师应对教材的内容进行适当的调整。

另外,在教学过程中教师应严格按照程序设计的规范和方法分析和解决应用问题,应培养学生规范的程序设计方法和严谨的编程习惯。例如要求学生在日常程序设计练习中按照“问题定义―问题分析―算法设计―编写程序―上机调试运行”的流程实施,并且在算法设计环节使用规范的程序流程图描述算法。这样一系列的措施有助于培养学生良好的编程风格和习惯,为后续其它的程序设计语言的学习夯实基础。

2.2改革教学组织和实施策略,优化教学结构

由于“C语言程序设计”课程的实践操作性较强,学生在上机实践的过程中,不仅可以消化和巩固课堂所学知识,还可激发和提高学习兴趣、锻炼逻辑思维能力。教师应注重将课本上的理论知识和实际应用问题进行有机结合,提高学生的程序设计能力,进一步培养学生分析问题和解决问题的能力。因此,课程的教学组织主要分为理论教学、上机实践教学和课程设计教学三个环节。

其中,理论教学主要遵照教学内容的要求, 采用多媒体教学与传统板书教学有机结合的方式,实施理论与实践一体化的多媒体教学环境,实现交互式教学。其次,教学中应重视“兴趣引导”,激发学生学习热情,引导学生主动学习。另外,应注重以模拟实践教学为主线,提高课堂教学的教学效果。

上机实践教学以课堂理论教学为前导,内容设计应以巩固和综合运用主要知识点为主线,内容具备实用性,以循序渐进的任务驱动方式指导学生从简单的程序设计开始逐渐扩展到完成综合的程序设计,以由浅入深、由单一到综合的过程展开,符合学生的认知习惯和知识的拓展,使学生利用所学知识解决实际的问题,培养程序设计的能力。

结合课程的特点,课程设计环节应利用“C语言程序设计”的基础理论和上机实践课中学到的编程知识和编程技巧,通过布置具有一定难度、一定编程量的课程设计任务,使学生通过课程设计掌握高级编程语言的知识和编程技术,具备分析问题和解决问题的能力。

2.3秉承合理有效的教学理念,改革传统的教学方法

传统的“C语言程序设计”教学方法一般采用灌输式的单向教学法,学生被动地接收知识,并且教学知识点零散,建构系统的知识体系,另外理论教学和实践脱节,学生只会纸上谈兵,动手实作能力较差,不能利用所学的知识解决实际问题。因此,在教学过程中应重视教学方法的改革。“C语言程序设计”教学主要采用“任务驱动”、“案例教学”、“讲练结合”的教学方法,三种方法有机结合,合理地组织课程的教学。

“任务驱动”教学法要求按照教学目标的要求,围绕教学内容,合理地安排一个任务。其主要分为三个基本环节,首先提出任务,例如设计判定学生成绩等级的程序;进一步分析任务,提出问题的解决方法,主要设计程序的算法;最后解决任务,讲授解决任务运用的知识点,例中主要的知识点为选择控制结构的语法及应用。

“案例教学法”以综合的“C语言程序设计”程序案例为主线,贯穿所有章节的知识,课程教学具有系统性和连贯性。例如,提出“学生成绩管理系统”案例,实现成绩的录入、添加、修改、删除、查询、统计和排序等功能。通过分析案例,明确系统的基础知识和各个功能模块的相关知识点,如表1所示。

另外,“讲练结合”的教学方法主要应用于上机实践教学环境中,采取边讲边练的教学互动形式,完成程序设计实例。教师先讲解和演示与本次实践任务相关的应用问题和注意事项,学生按照要求动手完成实践任务,教师及时了解学生在实践中出现的问题,加以正确的启发和指导。最后教师对本次实践任务的完成情况进行总结,集中反馈出现的问题并提出解决方法。

2.4完善课程的考核方案,合理评价学生的学习成果

鉴于“C语言程序设计”课程理论和实践并重的特点,课程考核应主要分为理论考核和实践考核两大方面。其中理论考核以笔试为主,考试内容应遵照教学大纲和考试的要求,突出课程的主要知识点;实践考核主要以上机实践教学环节制定的任务和课程设计为考查对象,客观地反映学生掌握知识和运用知识的能力。

“C语言程序设计”的课程设计考核应采用学生答辩的形式,从学生运用知识的能力、分析和解决问题的能力、创新能力等方面进行综合考核。

3 结束语

计算机专业的“C语言程序设计”教学改革是一个不断深入的过程,应该结合教学实际,制定出一套符合学生学习特点和需要,同时又遵循专业培养目标的特色化教学模式,切实提高学生的专业素养和实践动手能力。

参考文献

[1] 陈卉娥.项目化教学在高职C语言程序设计教学改革实践中的探索[J].福建电脑,2008.12:211-211.

[2] 叶健华,黎峰.“项目驱动+案例教学”模式在C语言程序设计教学中的应用[J].济南职业学院学报,2009.3:18-23.

[3] 叶建龙.任务驱动法在C语言程序设计教学中的应用[J].廊坊师范学院学报,2010.3:132-133.

[4] 庄焕.案例教学法在高职C语言程序设计教学中的应用[J].电脑学习,2009.8:94-95.

[5] 李冶,姜岩. C语言程序设计课程教学探索[J]. 电脑知识与技术,2010.12:10426-10427.

c语言程序设计实例篇(3)

关键词:课程改革;C++;教学内容;教学方法

中图分类号:G642 文献标识码:B

1目前教学中存在的问题

“C++程序设计”现已成为大多数院校理工科学生必修的程序设计基础课。非计算机专业对程序设计的要求不同、学时不同,对学生的逻辑思维和基础知识结构要求也不同,所以教师不能只是沿用计算机专业的教学理念与教学方法。

C++具有繁多的数据类型以及复杂、灵活多变的语法结构,对于第一次接触程序设计的学生来说,要理解这些概念比较困难,容易挫伤学生学习编程的积极性,因此应对C++的教学内容进行适当删减,以满足非计算机专业学生的学习要求。

目前开设的“C++程序设计”课程,大部分教师还是沿用“C程序设计”的讲授方法,对面向对象的知识只是局限于教材上的例子,例子只局限于某个知识点,不利于面向对象概念的理解,传统的教学方法和教学内容已不能满足学生的需求。为此,必须找到一种适合学生学习特点的教学方法,使学生在有限的时间内迅速掌握C++的基本概念、基本技能和应用,激发学生对本课程的兴趣。

“C++程序设计”是一门实践性很强的课程,但目前的实践课教学存在很多弊端。传统的教学方法中,程序实验环节只是配合每一章所学的内容进行实践,这样的方法让学生只是孤立地了解程序设计的知识,所涉及的知识面较窄,缺少学科的综合性,造成学生实际动手能力很差,无法将实际的具体问题和程序设计知识联系起来。因此我们应对“C++程序设计”实验教学进行改革和实践,将教学的目的变为理论和实践并重,以提高学生的编程能力。

2教学内容的改革

C++语言内容繁多,在有限的课时内不可能也不必要面面俱到,所以教师要有效地组织教学、突出重点、把握难点,不要过多钻研语法细节,而要把握C++程序设计的算法思想、基本原理,由整体到具体,培养学生对C++语言的兴趣及正确的思维模式。在确定教学内容和方式时,要根据学生的计算机基础、专业背景、学习目标来安排。我们首先尝试将课程重点划分为三个层次:

基础层重点:数据类型、C++运算符、逻辑表达式及常用的C++内部函数;

中间层重点:控制结构、数组、指针、结构等知识及基本应用;

核心层重点:函数、类及构造、继承、多态、C++流。

三层重点教学体系更加科学地使学生在循序渐进中有效地学习C++基础知识,掌握程序设计的基本技能,有重点地加强了对学生编程能力的培养。

其次,我们将课程内部结构进行了改革:弱化指针,将指针内容浅化,并移到函数之前讲授;面向过程部分占60%比重,面向对象部分占40%比重。

再次,教学方法上采用案例式教学,教学内容应围绕教学案例进行划分,每一知识点内容均通过生动、有效的示例讲授相关知识点内容,我们将教学案例一般划分为三个层次:

(1) 基础案例:采用简洁案例验证基础知识,此类案例着重于较高的教学效率,使学生以直接的方式掌握基础语句使用格式及系统内部函数使用格式,理解相关基础知识。

(2) 简单程序案例:包含多个知识点的小型程序示例。

(3) 单元综合案例:每一章主要知识点及已学内容的综合案例。其示例内容为实际应用程序设计内容的某一模块或某一功能部分,使学生所学内容紧密地结合实际应用。

基本型案例、设计型案例及综合型案例相辅相成,使学生更快速、更准确地掌握相关知识点内容。

3教学方法的改革

“C++程序设计”中很多知识比较抽象、枯燥,学生不容易接受理解,教师在课堂教学中应该巧用生活中的实例化繁为简,以实例引导,讲解语法规则。我们在教学方法上尝试采用案例式教学,在每一章节、甚至每一节课均以要解决的实际问题为主导,构建问题情境,引导学生运用计算机语言描述解决问题的方法与步骤。案例教学法打破了以教材为中心的传统教学模式,不按教材的顺序授课,而是以精选出的程序设计案例为中心,把学习的重点放在具体案例的讲述上,把要学习的语法和概念融入到具体案例中讲解。每一案例的教学方法采用以下三个步骤:

第一步:提出实际问题;

第二步:介绍解决问题的方法;

第三步:归纳出一般规律和概念。

采用“提出问题――介绍解决问题的方法――归纳出一般规律和概念”的新教学三部曲,使学生在学习每个新知识点时都有一个完整的、实际的、具体和有形的项目作为知识的联想和应用载体,进一步介绍C++程序设计的理论和方法。它不同于以前教学中“提出概念――解释概念――举例说明”的传统三部曲,整个教学过程强调在应用中学习,从而避免了枯燥、繁杂的理论说教,这不仅能增进学生的学习兴趣和积极性,而且对提高学生综合分析和解决实际问题的能力也大有帮助。

在学习的不同阶段应采用不同的训练方式,教学方法改革的第二点是将学习C++划分为以下三个阶段:

初期阶段:教师应以演示编程为主,学生模仿编程训练的方式,在此过程中教师详细地讲解程序设计思路、程序设计方法及程序设计步骤;

中期阶段:教师演示部分难度较大的代码编写过程,学生在教师启发下完成其余的代码编写过程;

后期阶段:以教师简介程序设计思路、程序功能模块设计特点及主要技术运用特点,学生完成全部代码编写,教师则起辅导学生作用,教师充分注意因材施教。

教学方法改革的第三点是采用“三语”教学并用,“三语”教学是指以中、英及C++三种语言描述程序代码功能及实现方式,使学生易于理解每一代码行,从而理解整个程序。

“中”是指用我们正常的语言描述某一代码行;

“英”是指在对代码行中每一个英文单词正确发音基础上,讲解其单词原义及在代码行中的意义;

“C++语言”是指在中、英语言讲解的基础上用C++语言实现代码行,并解析其功能特点等。

4实践教学的改革

“C++程序设计”语言是实践性很强的一门课,培养学生的实践能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。我们为学生安排1:1的上机实验课时,其中2/3的上机实验是有老师辅导的,其余1/3由学生自主完成。上机作业要求与课堂内容有很好的衔接性,并且难易程度有机结合。在上机实验前,教师要讲清内容与算法,布置相关的编程作业,由学生单独动手编写程序,上机调试,培养学生自己解决问题的能力。教师在上机时要发挥其主导地位,可以提出改进算法的思路,让学生自己操作。实验完毕,教师对实验结果加以检查,并对出现的问题及时加以讨论和讲解。

“C++程序设计”实验教学的目的应是:(1)紧密配合理论教学,通过相关实验,帮助和加深对语句功能的理解;(2)通过实验可以将各门课程学到的知识融会贯通,思考利用C++程序设计语言解决实际应用问题的有效方法,从而使学生分析和解决问题的能力得到锻炼和提高。因此我们将实践教学训练体系划分为以下三个层次:

基本实验:占整个实验学时的60%。包括两个部分,一是验证操作,教师在讲授过程中学生直接操作验证的内容,如C++语句语法基本格式、C++系统函数的基本验证,约占整个课程学时数的25%以上。二是验证型实验,对C++语法和函数的基本应用,要求掌握程序的基本调试技能。

设计型实验:占整个实验学时的30%。例如循环应用、数组应用、排序问题、类与对象应用等,要求能编写简单应用程序。

综合设计型实验:例如结构化方法编程应用、面向对象方法编程应用、C++流应用等,约占整个实验学时的10%。

综合设计型实验由教师布置或由学生结合本人的兴趣,从实际应用中选择有具体应用背景的实验题目,安排学生分组共同完成。综合设计型实验的具体内容如下:

(1) 教师给学生讲解综合设计型实验的题目要求,要求学生在选好题目的基础上,认真研究题目要求,自行查阅有关资料,写出系统的需求分析,总体框架设计。

(2) 将系统的需求分析,总体框架设计交给教师批阅,师生一起讨论,确定系统的详细设计方案。

(3) 在限定的时间内完成C++语言的代码设计,完成各个功能单元的实现和调试。

(4) 联编调试,要求把各个功能块联编起来进行调试。

(5) 写出相关的系统分析、设计、实现等实验报告。

综合设计型实验建立起以学生为中心的教学模式,这样既锻炼了学生的动手能力,也加强了他们交流与团结协作的精神,全面提升学生的程序设计与软件开发能力。

另外,我们建立了互动式教学体系,通过建设“C++程序设计”课程网站,包括课程资料、实验指导、网上答疑、知识自测等子系统,形成功能强大、教学资源丰富的网络教学环境,开辟新的教学与复习手段,使学生学习和巩固知识的渠道多样化,进而提高我们的教学质量。课程资料提供了包括章节重点、教学课件等,用于配合课堂教学起到相辅相成的作用;通过网上答疑突破时空的限制,实现了教师与学生之间交流新思想和解决学习中遇到的难题。知识自测提供了试题的在线考试和模拟训练,试题类型包括判断题、选择题和问答题,学生在学完相应章节的内容后,可自行选择测试内容和题型进行在线测试。

5结论

程序设计课程的教学目的是要通过一门程序设计语言的教学,使学生掌握程序设计语言的本质,包括基本结构和基本算法等,从而掌握程序设计的一般方法。“C++程序设计”首先应重新组织教学内容,将课程重点划分为基础层、中间层和重点层三个层次,我们对课程内部结构进行调整,在教学方法上采用案例式教学,对教学案例划分为基础案例、简单程序案例和单元综合案例,采用“提出问题――介绍解决问题的方法――归纳出一般规律和概念”的新教学三部曲,将深奥的理论讲得通俗易懂,增进学生的学习积极性。在教学过程中,应采用中文、英文及C++三种语言共同教学,强调学生实际应用和实际动手能力的培养,加强实验教学环节,注重启发式教学与综合作业的结合,提高学生的综合编程能力。

进行“C++程序设计”课程的改革,主要是将现代计算机程序开发的主要手段传授给学生,淡化程序设计理论,强化实验及实训过程,培养学生抽象思维能力,训练学生初步的编程能力,强化训练调试程序技能,使其具有一定的程序开发能力,有利于学生将计算机这种现代化工具运用于今后的学习工作中。

参考文献:

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

[2] 刁成嘉. C++面向对象编程基础[M]. 1版. 北京:机械工业出版社,2008.

[3] 金丽. C++语言课程教学改革[J]. 科技信息:学术研究版,2007(35):201.

c语言程序设计实例篇(4)

0 引言

c语言程序设计是计算机及应用电子技术相关专业开设的一门课程,具有一定的难度。目前比较流行的基于“行动导向”的“项目教学法”“项目驱动+案例教学”教学模式是教好和学好这门课程的有效途径,但问题的关键是教师如何选用一些符合学生专业和企业实际的真实项目,在教学中真正做到“工学结合”。

近年来学院新进青年教师较多,多数人缺乏实际工作经验,只是针对课程理论知识按部就班讲解,虽然也按照章节布置一些相应的实训项目,但很少涉及社会实践和企业应用内容,久而久之使学生处于被动学习状态,感觉内容枯燥,难以激发学习兴趣,不利于培养学生的职业能力和创新精神。在项目产品c程序设计教学中,笔者根据多年的教学与科研实践经历,采用科技攻关项目案例,如针对林业企业木材生产、经销环节中应用的专用计算器的软件设计,进行c语言程序设计的项目案例教学示范,旨在指导青年教师做好高职c语言项目课程开发,通过丰富教师自身的社会实践,提高学生解决各种实际问题的意识和培养学生应用C语言进行编程的能力,从而提高青年教师和高职学生的创新意识与实践能力。

1 让学生了解课程的目的是什么——What(做什么)

在课程伊始,首先向学生交代清楚C语言是什么?学习C语言程序设计有什么实际作用?由此引入C语言是目前常见的高级编程语言基础。通过学习C语言的发展和演化,学生了解到C是一种面向过程编程的语言,c++是一种面向对象的语言,C#融合Java又对c++进行简化。由于C语言在可读性和可移植性上比汇编语言有优势,因此许多应用项目、电子产品的应用软件多源于c语言程序设计,使得C/C++语言编程已成为高级语言程序设计教学、单片机嵌入式编程发展的方向和潮流。其次,让学生了解如何针对社会需求和企业生产实际,运用C语言开发项目产品。项目是指以生产一件具有实际应用价值的具体产品为目的的任务。课堂以“原木经销专用计算器的研究”项目产品的软件系统开发为例,通过具体介绍从用户需求调查、产品立项到软件开发、产品应用的整个过程案例,说明c语言程序设计在项目产品软件开发中的实际作用,帮助学生真正理解c语言程序设计课程的学习目的,以调动学习积极性。

黑龙江生态工程职业学院过去曾是培养森工林区管理干部和专业技术人才的成人高校,建校时间长,具有林业行业背景,因此目前相当一部分在校学生来源于森工林区,对于林业企业木材生产、经销等有所耳闻。在原木生产、缴库、销售中,检尺是木材生产经营中的重要环节,其准确性对木材生产中各环节的衔接、管理及企业经济效益都有重大影响。为改变传统、落后的木材检尺方式,我们把现代信息技术应用到木材检尺中,通过开发原木经销计算器可离线存放每根木材的全部信息,包括生产林班、材种、材积、等级、采伐日期等10余项内容,再通过接口传输到计算机中,在检尺、缴库、销售环节通过计算机联网在线操作将每根木材的信息录入信息中心服务器,实现木材检尺现代化、精准化、数字化,达到有效控制木材检尺环节中所造成的效益流失,可降低生产成本,提升企业竞争力。

专用计算器项目是为了解决林业企业木材生产和销售检尺中的实际问题而提出,最初软件解决方案为汇编语言。据此可对学生设问:现在如何以c语言改造并创新?由此引出C语言源程序的编辑、编译问题。由于目前高校程序设计教学中一般选择运行于DOS环境下的Turbo c2.0作为初学c语言的首选编译器,往往使学生对其产生“过时”的错觉,认为现在计算机操作系统早已进入“视窗”时代,Turbo c教学软件档次太低。这时教师首先要向学生说明,Turbo C是经典的程序设计软件之一,由于它对运行环境要求较低,早期的PC均可满足Turbo c要求,继续保留和沿用Turbo c 2.0作为c语言通用模块的选修课程教学内容和实训环境仍然必要。

鉴于目前全国计算机等级考试(NCRE)二级c语言考试已改为VC++6.0这一环境,我们可以将VC++6.0作为计算机软件及应用电子技术两个专业的必修课程,让这两个专业的学生可以通过“学c语言考二级”引导“课证结合”,调动学习c语言程序设计的积极性,在学校学习期间就有一种就业意识,学好理论知识并掌握实践技能,以适应未来人才市场的选择,为企业技术创新储备能力。对于相关专业学生需要强调的是,针对Turbo c、VC++6.0环境中c语言程序编译后在电脑磁盘上保留的“主文件”名称相同但扩展名不同的4个文件(.c,.BAK,.OBJ,.EXE),除了要知道c语言程序编译后可在PC操作系统下运行.EXE文件外,还需要了解单片机c语言的“软件固化”过程,即在开发环境下通过编程器使.OBJ被“烧录”到单片机的EPROM中进行固化,令产品具有所谓的“智能”,这也是基于项目的c语言课程设计的最终归宿。

2 让学生学会如何进行软件功能分析——How(怎么做)

这一项即如何通过产品功能分析确定软件模块。c语言程序设计课程的传统教学模式是以语言的语法系统为主线,以小型练习为训练手段,只对一两个语法要点进行有针对性的练习,与企业应用项目联系较少。在c语言程序设计课程介绍到结构化程序设计方法时,教师可通过讲解图1所示项目产品的“轻触式薄膜按键”操作面板功能,绘制出图2所示的软件系统结构流程图,让学生学会应用流程图工具分析产品功能,引导他们对软件系统进行模块化设计,进而掌握从产品的操作面板功能设计到软件系统模块设计的普遍方法,培养系统分析与设计能力。

3 让学生学会如何按照软件模块分工——Who(谁来做)

这一项即如何按照软件模块进行算法流程设计。c语言是一种结构化语言,重点在于算法和数据结构。教师可在课程伊始,系统讲述c语言的各种数据类型和输入输出格式,这需要花费大量时间,但又没有足够多的例子印证这些内容的重要性。许多学生就是在这个阶段失去学习的耐心和兴趣,造成后续学习的困难。尤其对于算法,许多学生感觉枯燥无味。这时我们可以考虑通过项目让学生学会针对软件模块进行小组分工,按照系统模块设计流程做好子模块算法设计,培养团队协作意识。

由图2可见,产品的软件系统采用模块化结构程序设计,第一模块“数值计算”功能是模拟常见的数字计算器,用于解决通用的四则运算,可以作为一个独立的子模块由专人负责模块细化,挑选一组对计算器功能及操作比较熟悉的学生按照加、减、乘、除子函数设计进行分工,逐步合并后再用主函数调用子函数完成该子模块设计。第二模块“查材积表”功能主要用于林业企业木材生产中的原木材积计算,可挑选一组来自林区对木材生产和销售比较了解的学生,在“查材积表”模块的程序设计中采用“选择型”算法,通过输入原木材长和径级计算原木的材积,完成相应模块的子函数设计。依据现行的国家标准GB48 14—84,原木材积统计算法公式分以下两种情况。

(1)检尺径自4-12cm的小径原木材积。

V=0.785 4L(D+0.45L+0.2)2÷10000

(2)检尺径自14cm以上的原木材积。

V=0.7854L[D+0.5L+0.005L2+0.000125L

(14-L)2(D-10)]2÷10000

公式中:V——材积(m3);

L——检尺长(m);

D——检尺径(cm)。

据此计算公式,可以绘制出图3所示的“查材积表”模块算法流程图。

对于c语言选择程序设计教学内容,这是一个很好的“模块化”算法设计案例,可以让学生学会按照“模块分解”进行项目分工协作,掌握“逐步求精”的程序设计方法。2005年初,项目组成员作为任课教师曾在黑龙江生态工程职业学院带岭分院计算机应用成人大专班的c语言程序设计课程中运用此案例。由于多数学生来自林业生产一线,因此学生容易理解,接受理论较快,实践效果也较好。此外,在讲解上述教学内容时,教师还向学生介绍了一些林业生产管理知识,突出黑龙江生态工程职业学院的行业特色。

这种采用项目案例结合企业生产实际进行教学的方法,不仅符合林业成人职业教育规律,还符合高职院校培养高技能应用型人才目标的实际,有利于激发学生对c语言程序设计的学习兴趣。2007年末,项目组成员作为评委在黑龙江生态工程职业学院举办的“青年教师基本功大赛”中,对部分计算机技术系青年教师主讲的“c语言选择程序算法设计”课程进行讲评,建议教师尽量采用企业生产中的一些应用实例,对提高青年教师实践能力、带动和提升学生的职业能力起到一定的指导作用。

4 让学生学会如何选择软件开发工具——Where(在哪儿做)

这一项即如何根据实际条件合理选择软件操作环境和开发工具。目前多数高职院校比较重视在多媒体教室PC上进行程序设计教学训练,但是较少能够做到在实验室进行软件产品模拟仿真,更不用说结合相应电子产品进行底层编程,因此应该向青年教师和学生指出c语言程序设计在学好理论、掌握方法、运用工具3个方面是有连贯性的。企业在运用IT工具方面往往领先一步,使科技真正发挥“第一生产力”的作用,因此软件开发工具首先要看IT企业选择什么,这也是“工学结合”的基本要求。

许多学生在“工学结合”实习过程中,看到IT企业应用Microsoft Visual c++软件开发环境,误以为Vc++是一种语言,从而产生一种错觉。项目课程通过介绍“计算机及图像识别技术在原木检尺中的应用研究项目”案例,可将师生引入VC++这一具有较强图形函数功能、可视化的C++语言开发环境。VC++包含在Visual Studio 6.0集成开发环境中(还有VB等),作为一个集成开发工具,它不是一种语言,是基于c++的一个开发平台。与Vc++类似的c++程序开发工具还有Borland公司推出的c++Builder等。c语言有标准的函数库,它们是松散的,只是把功能相同的函数放在一个头文件(h)中;而vc++大多数的函数都是集成的,特别是vc++中的图形处理,它和c语言的图形函数有很大区别,c语言中的图形处理函数基本上不能用于vc++中。此外,VC++还可以写基于DOS的程序以及DLL等。

在明确了系统模块分工、算法流程之后,学生便可以运用软件工具进行c语言具体语句的程序编写和编译,实现相应的模块功能,如通过运用if和switch语句实现两向选择模块(如图3所示)和多向选择结构(如图2所示)程序设计,真正进行实战练习,完成相应模块的程序编写和代码编译。在编写中需要注意的是c++除了能够使用c语言的所有标准函数外,还有自己的另“类”,如在C语言中,输入输出使用scanf()和primf()函数实现,而在c++中使用cin,cout等对象实现,即在c++中也可以不使用c的固有函数而只使用c++的类。教师要通过一些简单的说明,讲清C/C++语言的联系与区别,指导学生看懂c++程序,提高他们对IT企业运用c++开发软件的实习环境的适应能力。

对于侧重学习单片机c语言的学生,可以给他们提出一些未来发展方向,如可以参加IBM的c++国际认证培训,提高就业竞争力。这些学生在学习时可能会感觉有较大难度,因为一要有编程器、仿真器,二要学习编程语言,还有众多种类的单片机需要选择,这就要求教师掌握好C语言程序设计方法和开发工具的运用,对外首先做到“工学结合”,对内做好实验室建设,这样才能较好地指导学生进行实践。项目组成员通过参与科技攻关项目的产品研发,熟悉和掌握了单片机c++程序开发环境及C51编程器应用等开发工具,如开发原木经销专用计算器是采用AT89C51单片机,通过PC的RS232接口连接EMP100编程器,在UCDOS下运行批处理程序,可较快完成C++程序编辑、编译和目标文件“烧写”。目前,c++应用程序开发一般采用可在Windows下运行的KEIL51软件,即在一个集成环境下进行c++程序编辑、编译仿真,再烧写固化、上电运行。

c语言程序设计实例篇(5)

课程衔接 层次性教学 任务驱动教学

一、引言

设计、实现一个复杂或者高级项目的软件项目,可能需要涉及程序设计语言、数据结构、算法设计与分析、计算机网络、数据库等许多课程。而计算机科学技术专业的每一门课程都是从基础理论入手,复杂、高级项目不适合作为课程的学习案例或者习题。

不少课程选用比较简单和容易理解的小项目作为例题讲解知识点或者作为习题巩固学生所学知识点。比如约瑟夫程序,在程序设计语言中是链表操作习题,而数据结构课程中又作为线性表的习题或者上机题目;图书馆管理程序,可能作为数据结构课程的线性表的课程设计题目,也可能作为数据库课程范式优化的例题;集合的交集和并集可能作为离散数学课程的习题,也常被选做数据结构课程线性表操作的算法优化例题;网络蜘蛛常被作为计算机网络课程的课程设计题目,也常因为其中的典型树形结构关系被数据结构课程选作综合性课程设计题目;多优先级作业调度既是操作系统课程的主要研究内容,也是数据结构课程队列内容的习题。

以往的教学实践反映,很多学生学完课程之后并没有达到预期的目的。究其原因,一是对学生动手能力的培养没有到位,以至于部分同学对课程的学习还停留在“纸上谈兵”的阶段;二是对学生自主学习能力的培养没有到位,以至于涉及讲授范围之外的问题学生就不知从何入手。可以采用分层次教学,就是要因材施教,根据大多数学生的情况,正确处理教学中难与易、快与慢、多与少、应知与应会的关系。充分发挥学生学习的主体作用,转化差生、培养优生,全方位增进教学效果。

目前的教学活动,主要考虑的先后关系,而没有建立良好的课程的衔接关系。需要研究、整理他们直接的衔接关系。

需要整理本课程案例,考虑与先修课程或者后修课程的关系及所选题目的价值和意义,同时对案例采用层次性分解方法,满足层次性教学需求。

鉴于计算机专业本科教学课程数量多,本文针对计算机两大具有紧密关系的核心基础课程《数据结构》和《程序设计C语言》进行探索,并期望扩展到其他课程。

二、课程的衔接关系

C语言程序设计与数据结构是工科院校计算机专业中开设的两门重要的专业基础课。在以往教学中,这两门课程是相对独立、分开授课的,因此导致内容脱节,教学效果差。一般C语言程序设计课程只注重C语言的语法体系,因此学习后却不能用C语言进行程序设计;后者则注重讲授抽象的数据关系和算法在计算机中的表示及实现,学生能进行抽象算法的描述,上机实践应用时却无从下手。然而,这两门课程都以培养学生解决实际问题的程序设计能力为共同目标。因此,如何将这两门课程有机地结合起来,构建C语言与数据结构的新体系,改革教学方法,提高教学质量,成了当前教学改革中亟待解决的问题。

在传统的教学模式下,C语言程序设计与数据结构这两门课程分开教学。C语言程序设计的学习主要在语言语法的层次上,数据结构难度较大,注重思维训练,造成学生不能结合有效结合这两门课程运用到实际中去。通过不断探索,认识到这两门课程有很多内在联系,如软件是用一种程序设计语言编写解决该问题的算法,通过编译、链接成为可执行程序而成,而算法是通过处理输入数据转换为输出的解决方案,因此数据结构和程序设计语言密不可分;再比如数据结构讨论的抽象数据关系和算法要用C语言去实现等。

针对差异化的学生现状,整理课程关系,精巧的设计教学案例和习题实现任务驱动式教学法,对于调动学生学习兴趣,先修课程的简单案例让学生能够逐渐独立实现,有助于学生产生满足感,增加学习自信心;对于案例的扩展性引导,启发学生深入思考和逐步掌握自学方法,通过自学后修课程,提出的较难的问题又有助于激发学生参与后修课程学习的积极性。

三、拟解决的主要问题

数据结构与C语言课程的结合方式的探讨,针对探讨结果设计实际结合方法,并在学生中实践,选择最佳结合方式。

数据结构与C语言,每门课程需要有经验的任课教师结合本课程特点,探讨并确定各个案例与各知识点和其他课程关系,针对学生差异性现状和任务驱动式及层次性教学需求,对选择的案例采用递增式设计;确定跨课程案例及相关课程名,涉及的知识点。探讨选择的习题(包括课堂练习题、课后思考题、课后作业、上机实验题和课程设计题目)于知识点及其他课程的关系,标注习题难度级别,以达到层次性教学目的。

针对这两门课程的案例和习题,深入探讨相互关系,特别是相互的衔接性,C语言课程首先需要讲解基本语法知识,帮助初学者建立简单的程序设计过程思想,但由于教学时间限制,只依靠课内学习和课后作业及上机实验是不能充分达到熟练运行C语言解决问题,编写项目程序的目的。

C语言是大一学生首先接触的程序设计语言,加上许多学生还存在中学时期的一切依赖老师的学习方法和观念,未能进一步学习并提高程序设计能力,因此在后续课程中,比如数据结构课程中需要在讲解数据结构抽象数据类型及解决问题的时候,学生应该尝试借用C语言编程实现抽象算法。因此,应该结合学生的这个实际情况,进一步细化和分解选择的案例和习题,让学生在C语言学习过程中学会应用C语言解决和数据结构简单问题相关任务,为数据结构课程打下坚实基础;而数据结构课程中有意识的安排一些案例和习题,让学生能够有运用C语言解决简单问题的能力,并通过数据结构课程的学习和培养,掌握复杂问题的解决方法和更加熟练的应用C语言工具。

四、总结

根据计算机课程关系,设计优化与其他相关课程有关系的案例与习题,一来可以引导学生理解后修课程部分内容,引起学习兴趣,二来在一些先修课程已经介绍本课程该知识点的基础上,提出新的解决方案或者优化方法,更容易激发学生探索问题的好奇心和解决复杂问题的满足感,加强学生理解课程相互关系和培养计算机创新思维。

以数据结构课程和程序设计语言课程为例整理课程关系,研究和设计教学案例及习题,满足学生差异化需求和对学习内容的兴趣,进行层次性教学,将其经验和方法最终推广到计算机本科教学的各课程。

参考文献:

[1]黄迪明.C语言程序设计(第2版)[M].成都:电子科技大学出版社.

[2]吴跃,李树全,尚明生.数据结构与算法(第2版)[M].北京:机械工业出版社,2010.

[3]萨师煊.数据库(第3版)[M].北京高等教育出版社,2000.

[4]傅彦,顾小丰,王庆先.离散数学及其应用.北京:高等教育出版社,2007.

c语言程序设计实例篇(6)

【关键词】C语言 计算机 软件编程

C语言应用建立在简单编程语言的基础上,是一项新型的编程语言确保了编程任务的顺利完成。使用者在实际的应用过程中,不受各项限制条件影响,可以结合自身的实际使用需求,严格按照C语言的编程要求进行编程。通过编程运行应用软件的实施结果上可以看出,C语言是计算机中的高级编程Z言,对提升计算机技术应用效果具有重要作用。

1 C语言下的计算机软件编程实验技巧

1.1 熟练掌握指针运用方法

指针是C语言编程中一种特殊的类型变量,能够快速处理编程设计过程中存在的复杂问题。指针的三要素主要包括指针名、值和类型。在对指针编程过程中,主要确保一般变量和指针的相同性。将指针应用于数组表示和函数的参数返回值中。

1.2 明确C语言特有函数功能

特有函数在C语言编程中被广泛应用,需要充分展现出函数的功能,编程设计人员需要将返回值、函数名字和参数名等项目进行定义。编程库中的函数主要是由C编译系统提供,需要确保函数系统的合理定义,确保程序调用的合理性,将“#include指令”包含到所用文件中。例如,在程序运行过程中,通常会运用sqrt函数,为了确保程序的合理运行,需要将#include“string.h”应用到头文件中。

1.3 掌握算法程序设计技巧

算法是程序设计的灵魂,需要明确算法技巧的应用方法,运用自然语言和流程图合理表达算法。要求程序设计员需要熟练掌握流程图符号,将其作为计算机之母,通过对数学知识的牢固应用,有助于提升计算机编程效率。

1.4 掌握位运算及文件知识

位运算是C语言之间的重要特色,也是计算机中的高级语言运算方法,自身具有唯一性和独特性特点。需要将位运算作为二进制位对象,严格按照程序要求进行运算。程序设计员在编程时,需要将所写的程序存储到文件中,提升数据查找效率。

2 计算机软件C语言编程案例

2.1 混合软件编程方法

随着科学技术的快速发展,需要加大对语言混合编程技巧的应用,对提升系统编程开发效率具有重要作用。在对混合软件编程方法进行研究时,主要包括以下两方面研究内容:

(1)需要将汇编语句嵌入到C语言源程序中,例如,在将asm汇编语句嵌入到C语言源程序中,需要将asm mov as,5/*将5发送到ax寄存器*/,将汇编语句嵌入到C语言源程序中时,需要利用大括号将嵌入程序括起来,例如:

Main( )

{asm{

mov ah,2

mov bh,5

int 10h

}

}

本次实验在实施过程中,在对程序进行嵌入式设计时,需要严格按照固定的格式进行嵌入式输入,并且需要在嵌入的各行代码前加“asm”。程序设计人员在进行嵌入式程序设计时,需要满足以下条件要求:“asm”关键字不可少,并且需要将其放置在指令代码前,需要确保嵌入汇编语言指令代码能够与正常的C语言程序混合使用,用“;”作为C语言的分隔符;将“/%”和“*/”作为C语言的注释分界符。

(2)做好C语言程序和汇编程序的编写工作,确保编译目标代码模块的独立性,确保链接的合理性。首先,明确C语言程序汇编语言中各种子程序和定义变量的合理性,确保汇编语言的合理调用。由于混合编程语言由若干个功能模块共同组成,各功能模块语言能够独立完成编程工作,并且通常会以函数的形式展现出来。设计人员需要结合每一模块的特点,来合理选择独立的语言编程系统,并形成目标性的文件,确保能够形成可视性的文件。其次,需要加大对参数传递问题的合理解决,从参数传递原则方面对C语言的程序调用汇编程序进行分析,运用推栈将参数传递给汇编程序。例如,在对voidaa(char*p,inti)函数进行编写时,主要是利用汇编语言进行编写,确保编译工作能够在小内存模式下开始,系统在调用时,将其编写成aa(&q,n)。

2.2 混合软件编程实例分析

在开展混合软件编程工作时,需要纯5个数中寻找最小值,将主程序设为“min.c”,汇编子程序设为“qiumin.asm”。主程序的编写形式主要是利用C语言进行编写,汇编子程序的编写形式主要是利用汇编语言编写,在实际的应用过程中,通常会被主程序所调用,以便完善对最小数的寻找,程序代码如下所示:

/*文件名为:min.c*/

#include

Int extern qiumin(int count,int vl,int v2,int v3,int v4,int v5);/*声明qiumin为外部函数*/

Main()

{

int min;

Min=qiumuin(12 ,54,8,4,23,9);

Printf(“The min is%d\n”,min);

}

主要是利用C语言和汇编语言混合的编程反复发,确保应用程序能够满足运行速度的要求,编程人员需要做好寄存器的合理分配,明确影响程序的因素。为了确保程序的合理运用,需要确保程序预报语言设计之间外部接口的相互协调性,提升外部调用效果。

3 结论

近年来,信息技术发展迅速,计算机软件是信息化社会的必需品,需要加大对C语言的应用力度,将其应用到各个领域中,确保行业的高效运营,为计算机软件的发展奠定良好的基础。同时,确保C语言软件能够广泛的应用到计算机编程实验中,强化C语言的实践效果,利用简单的C语言编程,提高软件的功能性,拓宽计算机软件的应用领域,确保计算机软件的多样化发展,向网络化和信息化方向不断迈进。

参考文献

[1]龚晨.基于C语言的计算机软件编程实验研究[J].电脑编程技巧与维护,2016(02):36-37.

[2]芮素文.基于C语言的计算机软件编程分析[J].信息系统工程,2015(01):40.

[3]王志超,赵越.基于C语言的计算机软件编程实验研究[J].科技创新导报,2015(11):45.

c语言程序设计实例篇(7)

关键词:C语言 案例教学法 高职院校

C语言是目前国内外广泛使用的计算机语言之一,是国内外大学都开设的重要的基础课程之一。C语言功能丰富、表达能力强,应用面广,但C语言牵涉到的概念比较复杂,规则繁多,使用灵活,容易出错,导致学生无法深入理解。

一、目前高职院校C语言教学模式

在高职院校,C语言通常的教学模式是先介绍语法,然后围绕语法举一些例子。一般大致上是根据教材章节内容,按照“数据类型-基本结构-数组-函数-指针-文件”这样一个顺序来组织的。在课程的起始阶段,系统地讲述C语言的各种数据类型和输入输出格式,极为琐碎,需要花费大量的时间,又没有足够多的例子来映证这些内容的重要性。再加上高职院校的学生普遍基础较差,学习认知能力不够强。因此许多学生在这个阶段就失去了学习的耐心和兴趣,造成了后续学习的困难。因而,有必要引进新的教学方法。实践证明,将案例教学法应用于C 语言程序设计课程教学,可以有效的提高学生对C 语言理论知识的理解和掌握,更能够充分调动学生积极性和参与性,挖掘学生思维创造潜力,从而提高学生分析问题、给出精度较高的算法、编写程序的能力。

二、案例教学法在C语言教学中的实施

1、案例的选择

在案例教学的过程中,关键点是案例的选择。既要能把教材提供的知识和学生本身具有的知识有机结合起来,又要能突出本节课的重点所在,即要围绕教材的基础理论,又要贴近于学生的生活实际。考虑到高职学生的知识水平比较低,选取的案例的难度和大小要适中,比较好容易理解。难度和规模太小,难以丰富编程内容,达不到应有的效果;难度和规模太大,又会超出学生的实际知识水平与能力,使学生产生挫败感,同样影响教学效果;其次是指要在案例教学中贯穿编程风格的训练。编程风格并不是可有可无的东西,它是编程内容中不可或缺的一部分,它反映了一个人的思维品质。编程风格的训练应该从一开始就加以重视,并贯穿整个课程的始终。

一般而言,具有图形界面的问题较能引起学生的兴趣。如果能有一个基于C语言、简单易学的图形界面编程框架,是最理想的。但目前在Windows平台上,学习设计一个具有图形界面的程序,涉及许多操作系统相关的知识,需要较长的学习曲线。因此,案例的设计要以字符格式的输入输出形式为主,而在可能的情况下,应力争建立易于使用的图形界面编程框架。同时,应建立案例库,实现资源共享,以提高案例教学的实效性。

2、案例教学的实施

在教学的最初阶段,应该以较快的速度,让学生接触程序基本结构、数据类型、数组、函数等编程基本概念,但不必追求系统化和细节化。这时就应该精心选择提出一两个较大的案例程序,让学生对C语言编程的概貌有所了解,进而通过解释程序中各个语句的作用,使学生掌握程序语言的一些细节知识。在这些知识积累到一定程度后,应加以梳理和总结,使之达到一定程度的系统化。

在具体细节知识的讲解过程中,可精心选择与大学生生活息息相关而又易于理解的案例,合理的把教学内容整合到案例程序中来,让学生带着好奇心去主动获取新知识,带着目的性去分析算法编写程序。例如运用“案例:学生奖学金评定”来向学生介绍选择结构程序设计中if 语句及嵌套使用;运用“案例:教师工资所得税计算”和“案例:自动饮料贩卖机”等案例来讲授switch 语句break 语句的使用;运用“案例:银行钱币兑换”和学生非常感兴趣的逻辑游戏来使学生掌握循环结构程序设计中while 循环、do while 循环、for 循环、break 语句、continue 语句以及循环的嵌套等知识点;此外,还可以根据学生心理,设置一些能够解决他们曾经在其他学科中遇到的难题,运用循环语句变成就能快速而方便的解决了。

在学生具备初步的编程经验后,应尽快进入提高阶段。这时可以延续前面的教学模式,用少量的时间对知识要点进行大致的讲述,不过多涉及细节问题,然后提出较大的案例程序进行分析和练习,最后在适当的时候总结所学到的知识。在案例教学阶段,要本着循序渐进的原则,先要求学生看懂程序,能够修改程序的片断,观察程序的运行行为,然后要求学生模仿已有的程序去作相似的问题,最后提出完全陌生的问题让学生去解决。

采用上面的教学模式后,我们发现,许多原来花费大量时间也难以讲清的问题,现在学生很容易就接受了。比如数组和指针作为函数参数的传递问题,由于实际案例本身在实现时就需要涉及这些内容,学生领会和理解这部分知识就相当自然,应用的能力也提高了。

3、案例举例

(1)案例导入:现要统计学生期末总成绩,每个学生的总成绩等于课程设计等级(A,B,C,D) 加上期末考试成绩(占80%),先要将课程设计等级换算成对应的分数 (A-20,B-15,C-10,D-5),然后加上期末考试成绩的80%,请你帮助老师设计一个小程序,计算某个学生的总成绩。

(2)算法分析:

① 输入一个学生的课程设计等级和期末成绩;

② 如果输入的是小写字母a、b、c、d, 将其转换成大写字符;

③ 根据课程设计等级,确定应换算成什么分数;

④ 计算学生总成绩= 课程设计等级的对应分数+ 期末成绩*80%;

⑤ 输出学生总成绩。

对于算法的第二步,可以在开始分析算法的时候并不只直接给出,而是让学生先尝试编程,在调试过程中,学生主动发现输入的字母大小写不同对程序的影响,进而主动思考并分析解决这一问题的途径,在此过程中,既锻炼了学生主动分析、解决实际应用中问题的能力,又能够把前期“字符数据”一节中大小写字母ASCII 码不同及转换等问题联系起来,逐步建立一个更加完备的学习体系,使学生的知识架构得以明晰,激发学生学习主动性与参与性。

(3)课程教学:讲授“if 语句”、“switch 语句”的格式及执行过程,同时对将要涉及到的前期相关知识点“关系运算”、“逻辑运算等”进行回顾。

友情链接