公务员期刊网 精选范文 c语言程序设计范文

c语言程序设计精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的c语言程序设计主题范文,仅供参考,欢迎阅读并收藏。

c语言程序设计

第1篇:c语言程序设计范文

[关键词]C语言程序设计 改革 实践

引言

C语言程序设计课程足以C语言为平台,使学生全面了解程序设计的总体思路、程序没计的基本算法、C语言的语法规则以及使用C语言进行构化程序没计的方法,并具有一定的程序设计和程序调试的能力,为今后使用C语言解决实际问题打下良好的基础 由于C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,同时该课程又是学生首先接触的第一门程序没计课程,所以很多学生学习起来都感到困难和吃力.并不同程度产生畏惧心理。

在C语言程序设计的教学工作中,我们发现,学生的学习热情不高,更谈不上综合应用能力的培养与提高。我们C语言课程教学组通过对我校C语言程序设计课程教学现状的调查分析,总结出了教学效果较差的主要原因,并从教材内容、教学方法、教学手段和、上机实践和考核评价体系五个方面进行了大胆的改革与实践,并取得了较好的教学效果。

一、C语言程序设计课程教学现状分析

为了实时掌握学生的真实学习情况,任课教师对学生进行了问卷调查。根据问卷结果及各位教师的教学经验,总结出我校C语言程序设计课程教学效果较差的主要原因有以下几点。

(1)内容抽象、枯燥,学生学习兴趣度低。相比第一学期已经或多或少有所接触并有一定基础的大学计算机课程而言,第二学期开设的程序设计课程是一种截然不同的全新的课程,出现了大量的新概念、新名词和新方法。上机时好不容易敲上了一个程序,一运行就会出现一堆错误。62.4%的学生看不懂错误提示,84.76%的同学不会使用单步跟踪、Watch窗口等基本调试工具,22.3%的同学竟然根本不知道这些调试工具。于是学生对该课程的学习举步维艰,学习的热情急速降温。

(2)实用性不强。近80%的同学认为C语言的语法知识学了一大堆,但不知道学这些语法有什么用,和自己的专业知识有什么联系。因此,多年积累下来,对C语言程序设计课程的普遍看法是:这是一门无用的公共课,混混过去就算了。于是,很多同学上课不听讲、下课不预习、不复习,周而复始,形成恶性循环。

(3)进度过于缓慢。C语言程序设计每周4学时,其中,2学时多媒体教室的课堂教学,2学时计算中心机房的上机实践。计算中心机房为多个班级公用,且无屏幕转播设施,因此教师的教学仅限于2学时的课堂教学。课时太少,加上学生兴趣度低,往往一学期下来指针刚讲了基本概念就结束了。有些为参加全国计算机等级二级c语言考试而努力学习的同学也因为指针内容学习太少而难以过关。

针对上述C语言程序设计教学效果差的原因,我中心C语言课程组的各位教师认真研读了“研究式学习”、“CDIO教学模式”、“计算思维”等理论及各种教学方法和实践方式,借鉴了哈工大全国精品课程“C语言程序设计”课程的先进教学经验,并结合各位教师多年的教学经验,制定了C语言程序设汁课程教学体系的改革方案。该教学体系改革方案从教材内容、教学方法、教学手段、上机实践和考核评价体系五个方面展开。

二、编写优质配套教材,实施教材改革

我们按照研究性学习的内涵编写了《研究式学习——C语言程序设计》教材,目前正在进行面向“计算思维”的新版教材的编写。该系列教材具备以下特点:

(1) 编写理念科学性强

整套教材的编写以“研究式学习”理念为指导,研究性学习是一种建构性的、追求协商的、尊重个性的、以人为本的“体验式学习”。在2006年的《国家精品课程评估指标》中新增了一条指标:“重视研究性学习、探究性学习、协作学习等现代教育理念在教学中的应用;能够根据课程内容和学生特征,对教学方法和教学评价进行设计。”所以研究性学习是以人为本的高等教育价值观的体现,是社会变革和教育发展的要求,也是精品课程的要求。研究性学习的关键是要在学习的各个阶段提出适当的研究问题,以便在学习过程中为学生创造能亲临体验地进行研究学习的平台,问题的提出贯穿在课堂教学、实验教学、课后作业、综合性作业以及评价的整个教学过程中。我们自2004年开始就致力于打造C语言程序设计精品课程,所有的教学和改革都围绕该指导思想进行。2007年以C语言程序设计为主体的“程序设计与计算机语言”被评为省级精品课程,2010年由教材主编主持申报到了省级质量工程教改项目“Inquiry Learning体系在程序设计课程中的运用”研究。这一系列的改革和研究都是以学生为主体,以培养和提高学生的计算机素养为最终目的而制定的。在教学过程中我们经常与学生座谈和交流,了解学生的需求,完善我们的教学,使我们的教材和教学模式能与时俱进,保持很好的前瞻性和科学性。

(2) 内容组织创新性强

本教材用“提出问题—分析问题—给出相关知识—举一反三”的研究式学习方式来组织“C语言程序设计”这门课程,在注重语言知识培养的同时,更注重逻辑思维能力、程序设计能力及创新能力的培养。内容组织方式新颖,符合认识规律,富有启发性,便于学习,有利于激发学生学习兴趣及各种能力的培养。本教材每章都通过4个步骤来完成学习:

第1步,通过提出问题、分析问题来激发学生的兴趣,引起学生的思考。

第2步,通过问题的解决、相关知识点的跟进,使学生能逐步提升程序设计的能力,掌握C语言的知识,引导学生深入思考。

第3步,用一定数量的编程实例使学生深入理解和掌握所学知识,用具有趣味性的综合应用编程实例培养学生的逻辑思维能力和编程能力,挖掘学生的创新能力。

第4步,对每部分的知识进行小结,以便学生进一步巩固应掌握的知识。

每章后面都有“综合应用”部分,让学生对所学知识的具体运用有明确的认识,并能在此基础上进一步巩固和提升。

三、采取多样性方法,实施教学方法的改革

(1)任务驱动教学方法

大多数学生反映C语言概念众多,许多知识点抽象且难以理解,学生不能将理论和实际应用结合起米, 任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维巨动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案、解决问题。在c语言程宁没计课中.体现“任务驱动”就是让学生在一个个典型的程序“任务”驱动下,教师引导帮助学生完成一系列程序“任务”,把知识的学习和知识的应用有机地融合在一起,让学生达到融会贯通、一点带面的效果。例如,在讲授C语言循环语句的教学时,按任务驱动教学模式不是孤立地介绍格式、作用和使用方法,而是将这一知识点设计为“计算1+2+3+……+1 00=?”这一具体的任务。首先,教师通过提出“任务”让学生把握教学内容,同学们会想象怎么完成这个任务,头脑里对前而的所学内容进行回顾,但前面学过的知识没法完成这种任务。接下来教师再讲解如何使用循环语句等具体操作方法,这样教学,学生学得快、学得牢。通过实践发现“任务驱动”法有利于激发学生的学习兴趣,培养学生的分析问题、解决问题的能力,提高学生自主学习及与他人协作的能力,缩短了学习周期。

(2) 项目教学法

很多学生在学完C语言程序没汁课程后,其结果是听得懂、却编不出程序来。针对这一情况,我们在教学过程中采用项目教学法。项目教学法是通过实施一个完整的项目而进行的教学活动,其目的是在课堂教学中把理论与实践有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。在课程初期.主要是进行单项的编程练习,重在掌握C语言的基本数据类型、语句与程序结构等。在进入函数、数组、指针、结构体和文件内容教学时,开始综合实训项日的编程设计,每一个实训项日都呵以用前一个实训项目为基础。通过一个项目的层层递进,引入课程内容,使得学生的学习循序渐进,螺旋式地上升,效果很好,开阔学生的思维,使得学生在课堂上真正地成为“主体”,教师则扮演“主导”角色。该教学方法使学生积极参与到教学过程中,变被动为主动,有效地调动了学生学习的积极性,深受学生好评。

(3)比较教学法

C语言中的概念比较复杂,规则繁多.而且内容前后联系紧密,教学过程中教师通过对比的方式对相关的概念或类似的程序代码进行比较,进而明确差异,然后进行归纳总结,方便学生理解,将会收到事半功倍的效果 例如,C语言中的指针是教学中的一个难点.这一部分涉及的概念较多,如指向变量的指针、指向数组的指针、指向字符串的指针、指向函数的指针等。这些概念很容易混淆,但是将这些概念对比起来讲解,学生就很容易理解了。这些概念的共性都是指针,那么它们不同的地方在哪呢?关键在于指针变量的指向不同,指针所指向变量的数据类型决定了指针变量的用法。通过这样的讲解,概念的定义就很容易理解,概念的用法也就可以统一了。再如,数据的排序问题有多种算法,典型的有冒泡排序、选择排序、插入排序等,求解方程的根的算法也有多种,有迭代法、牛顿迭代法、二分法和弦截法等。这些算法之间既有联系又有区别,讲清楚了算法的联系和区别,也就解决了整个问题。

(4)启发式教学法

启发式教学法就是通过教师的启发教学充分调动学生的积极性、主动性和创造性,引导学生主动学习。例如,在学习printf()和scanf()函数时,通过比较式启发方法讲解两函数的功能、格式、使用特性等方面的异同,通过比较使学生更好地把握两函数的特征。在学习选择排序算法时,使用模拟式启发方法,让l0个学生随机坐在相邻的l0个位子上,然后现场模拟排序过程;在学习数据交换算法时,使用比喻式和问题式启发方法,将两个变量比喻成两个瓶子,将里面存放的数据比喻成醋和酱油,然后提问:如果将两个瓶子中的醋和酱油交换一下,应如何操作。

(5)“鱼渔兼授式”教学方法。C语言只是一种表述工具,如果只有扎实的语法知识,没有程序设计思想,根本就不可能写出程序;而如果有程序设计思想,但语法知识不扎实,势必在程序的编写、运行过程中遇到一系列的问题,从而影响学生的学习热情。而“鱼渔兼授式”教学方法可以在基础语法知识和程序设计方法之问找到一个平衡点,使之相辅相成。例如,在讲解数据类型时着重讲解为什么数据要分不同的数据类型,需要从哪几个角度学习不同数据类型的特性;讲解具体算法时着重讲解遇到类似问题时应从哪些角度分析问题,用什么方法进行程序设计从而解决问题;在课前精心设计一些错误,尤其是逻辑错误,然后讲解遇到错误可以采用什么手段去剖析、定位错误。

四、建立立体化教学体系,实施教学手段的改革

我们从2006年就开始了立体化教学体系的建设,我们建立了精品课程网站,实现了“在线教育”,现在我们课程的课件、课堂教学录像、软件、二级等考及相关阅读等教学资源都放在了网络上,作业也通过网络来实现布置、提交和批阅。师生之间可以通过教学邮箱和课程论坛进行交流,任课教师可以自己定制调查问卷,随时了解学生的动态和需求,还可以随时进行在线测试,课程考试已经完全实现了网络无纸化模式。学生可根据自身的情况进行课后自主学习、自测学习、互相学习或下载资料、上交作业,有助于学生的个性化发展和创新能力的培养。设计出包含验证型、引导型、扩充型和设计型等多种类型的实验,在实践中充分体现学生的自主性,有目的、分层次地培养学生的实践能力,使学生学会从实验过程中获取知识,积累经验。通过综合设计,为学生自己构建、发展并完善自己的知识体系创造机会,使学生具备获取知识和应用知识的能力,激发学生的创新精神,培养学生的团队精神和协作能力,全面提高学生的实践能力。

教学实践证明:学生在课程网站上作业及报告的提交率达到98%以上,问卷调查的访问量达到了85%以上,优秀设计作业的访问率达到90%以上,其他资料的访问率也高于60%。由此可见,立体化教学体系很好的实现了不受时间、地点限制的开放式教学。

五、上机环节的改革与实践

上机环节是教学活动的重要环节,是对学生进行基本技能训练、增强学生实践能力的关键环节,是培养学生创新精神的重要手段。本科实践教学的目的是优化学生的素质结构、能力结构和知识结构,让其具备获取知识、应用知识的能力和创新能力。对于《程序设计与计算机语言》课程,以往的实践教学内容和题目以验证型和设计型为主。验证型的题目只要求学生按照书本上的指示,输入程序,填写结果即可,学生处于被动接受的地位,学生觉得无趣,毫无创意;设计型的题目对于非计算机专业学生来说,难度太大,学生无从下手。为了全面提高学生的实践能力和应用能力,使实践教学能满足不同层次学生自主学习的需求,我们制定并实施了以下改革措施:

(1)改革上机实践的教学模式:将以理论教学为主的教学模式改为由理论教学和实践教学相互联系、相互交叉、彼此渗透、有机结合、同步发展的教学模式,确立了实践教学在《程序设计基础》课程中的重要地位。

(2)设计多种类型的实验题目:针对学生存在基础不同、接受能力不同、个性有差异等问题,设计出包含验证型、引导型、扩充型和设计型共四种类型的实验,题目尽可能做到覆盖知识点,切合实际、生动有趣。通过完成不同类型的实验,有目的、分层次地培养学生的实践能力,使学生学会从实验过程中获取知识,积累经验。

(3)在实践中充分体现学生的自主性:实验课的实验任务由规定实验内容和自主实验内容两部分组成。学生在完成规定的实验任务后,可根据自己的兴趣和爱好,自主设计一些实验任务,在教师的指导和帮助下加以完成和实现。通过自主学习和自主设计,能有效地培养学生应用知识的能力和探索精神,极大地激发学生的学习主动性。

(4) 启发引导学生的创造性,培养学生的团队协作精神:本课程要求学生以小组(3~5人)为单位进行综合性程序设计,设计题目主要由学生自己按综合设计要求来确定,每个小组推选出一名小组长,负责协调程序的开发、与教师和组员的联系、提交总的设计报告和完整的源程序等工作。在综合设计过程中,学生处于主导地位,是核心。学习小组的组建,综合设计题目的选择或确定,各组员任务的分配与协调,任务完成后的总结与成绩的自评等,主要是按学生的意愿来进行。教师只负责宏观指导和一些条件支持。当学生的选题不符合要求或系统功能设计不合理时,教师会立即指出,并帮助他们修改和完善;当学生调不通程序或程序中有错误时,教师会向他们介绍调试方法和查错方法,教会他们调试程序。对学习好、能力强的优秀学生,教师会注重开扩他们的思路,启发他们的思维,引导他们去获取新知识、去探索新问题,激发他们的创新欲望,使他们能完成高水平的综合设计。通过综合设计,可充分体现以学生为中心的教学方法,为学生自己构建、发展并完善自己的知识体系创造机会,使学生具备获取知识和应用知识的能力,激发学生的创新精神,培养学生的团队精神和协作能力,全面提高学生的实践能力,从而有效地提高《程序设计与计算机语言》课程的教学质量。

六、考核评价体系的改革

我校C语言程序设计课程的成绩分为理论和实践两个分数,各2个学分,两项成绩都合格即可获得该课程的4个学分。其中:

理论课综合成绩(百分制)=平时(百分制)*(50%)+末考(百分制)*50%;

上机实践综合成绩(百分制)=平时(百分制)*(60%)+综合设计(百分制)*40%;

理论成绩由平时成绩和末考成绩组成。其中:平时成绩由上课考勤、作业提交、阶段性实验报告组成,占总成绩的50%;末考指的是期末闭卷无纸化考试,末考侧重于基础知识测试,考核学生对基本概念的掌握。题型包括:判断题、选择题、填空题和编程题,判断题题型重点考察学生对基本知识点的掌握程度,选择题和填空题重点考察学生对程序的阅读、理解和分析能力,编程题则重点考察学生编写程序的能力。

无纸化考试采用的是我们中心自己研发的考试系统,但该系统存在一点缺陷,就是编程题需要人工阅卷。因此,我们于2012年开设了一个试点班,本着提高学生编程能力的目的出发,从平时的教学和最后的考试都试用了哈工大研发的《C语言编程题自动评分系统》。该系统允许学生借助于 C编译系统调试程序,学生将自己编写并调试过的程序由客户端提交给服务器端后,服务器端立即根据学生程序的结构和语义进行评分,并将评分返回给客户端,使学生在提交程序之后立即看到自己的分数。

上机实践成绩则由平时成绩和综合设计成绩构成。其中:平时成绩由上机考勤、在线单元测试组成,占总成绩的60%;课程最后提交的综合设计则占到了40%。

该考核评价体系涉及到教学实施过程中的每一个环节,有利于对学生进行科学、客观的评价,从而避免了一张考卷定乾坤带来的弊病。

该体系在实施过程中显现出了其科学性,但是目前存在的问题就是教师的负担太重。一个学生一学期一般要提交12份报告,每位教师一般带两个班,每个班约88位同学,这样每位教师一个学期只报告一项就要批阅约2000份,工作量太大。现在正在努力寻求更加合理的解决方法。

七、结束语

教学实践证明,以上改革措施能够有效解决我校C语言程序设计教学过程中存在的问题。此教学模式下,教学内容符合学生专业特点,能够满足理工科专业学生对计算机技术的需求;教学方法行之有效,教学效果有明显提高;教学实践方法与措施切实可行,能够有效促进学生分析问题解决问题能力、实践能力及团队合作能力等能力的培养与提高。当然,该模式仍然存在一些不尽如人意的地方,这就需要我们坚持不懈,继续努力去改进和完善。

项目来源:云南省高校质量工程教改项目“Inquiry learning体系在程序设计中的运用”(云教高[2010]96号)。

[参考文献]

[1]王刚.CDIO工程教育模式的解读与思考[J].中国高教研究,2009(5).

[2]谢延红.C语言程序设计公共课教学模式改革与实践[J].计算机时代,2010(12).

[3]马新.《C语言程序设计》课程教学方法与手段的改革与实践[J].科技信息,2010(33).

第2篇:c语言程序设计范文

关键词:C语言 程序设计 算法 兴趣

中图分类号:G64 文献标识码:A 文章编号:1672-3791(2012)09(b)-0164-02

《C语言程序设计》是我校计算机类各专业开设的一门专业基础课程,也是非计算机专业理工科开设的一门公共基础课程。主要讲授C程序设计语言的基本知识和程序设计的方法与技术。通过本课程的学习,使学生掌握计算机程序设计的思想和方法,初步具有在各领域应用计算机的能力,并为后续课程的学习创造条件。但从教学过程来看,学生们普遍反映C语言难学,概念难理解,学完后编程不知如何入手等问题,因此,学习失去兴趣,挂科率一直高居不下,使学生对该课程产生了畏惧心理。教师教学效果不理想。在此,结合教学实践,根据遇到的一些问题提出自己的解决思路。

1 激发学生的学习兴趣

要想学生学好C语言,提高学生的学习兴趣,首先必须让学生对课程有个全局的认识。学生在接触一门新课程前,最关心的问题就是这门课程是学什么、学完之后可以做什么[1]。因此,在教学之初,教师应首先使学生明确学习这门课程的目的、要求以及目标,使学生初步了解该课程在本专业中处于什么位置,为什么要学习该课程,学好该课程对于个人的专业发展有什么作用,教师可以结合程序设计在本专业中应用的实例,使学生明白学习该课程的重要性和必要性,从而激发学习兴趣。另外,由于C语言的概念比较抽象,在每一章初期概念讲解阶段,可以多举一些与生活密切相关的例子,为概念的引入做准备,以激发学生的学习兴趣。例如,在介绍数组这个概念时,由于数组是一种新的数据类型,为加深学生的理解,可以提出一个问题让同学们思考:一个班学生的学习成绩应该如何存储呢?并提示学生这些数据有何特点,从而引出在C语言中如何存储,从而引出数组这个概念。这种方法能够发展学生的探索能力,避免了直接的理论说教,不仅能激发学生的学习兴趣,还能加深学生对新知识点的理解。此外,在教学过程中,布置一些有趣味性的编程题目,积极鼓励有能力的同学参加软件设计大赛,使学生通过独立或团体完成一个软件设计,增强他们的学习自信,调动学习热情,提高学习兴趣。

2 注重知识的归纳总结

和自然语言一样,许多字词可能是相近的、相反的或者是相同的,字词间存在着内在的联系[2]。在C语言中,涉及到此类的知识点时,可以采用归纳总结的方法进行教学。例如,循环结构中的while语句,do-while语句和for语句。在学生充分掌握三种语句的基础上,教师对这三种循环语句进行归纳总结,归纳三种语句的异同点,并针对同一程序详细介绍如何用这三种语句分别实现。便于学生对循环结构的灵活掌握。另外,C语言中学到的知识点都是零星、片面的,有些甚至是容易混淆的,比如说运算符的优先级和结合性,教师在课堂中对此类知识点进行归纳总结,方便学生的比较与记忆。并且在新的一章开始学习之前,对上一章的内容进行重点、难点以及小结的归纳总结,便于学生温故而知新,避免学生边学边忘,前后知识不衔接的问题。

3 注重算法思维的培养

算法是程序设计的灵魂,在程序设计中要设计一个好的程序首先要对程序的算法有较详细的了解,其次才是采用编程语言对算法的实现。但很多学生学完C语言课程后不会编程,甚至不知道从何下手。造成这一现象的主要原因是由于程序设计的思想与学生传统的思维方式不一致,学生缺乏对算法的抽象思维能力,因此不会分析问题,无法写出算法,这就需要教师在介绍程序范例时注重学生算法思维能力的培养。教师首先提出问题,可以选择一些与实际生活贴近的小例子,如鸡兔同笼问题,引发学生进行思考,然后详细分析问题,启发学生用现有的思维方式去思考如何解决,得到解决问题方法后再启发学生将其转化为算法,并可以改变现有条件,使学生在对新问题的思考过程中,培养学生对算法举一反三的能力,最后教师对算法进行总结归纳,加深学生对这类问题的理解。将具体问题和学生的现有知识联系起来,有利于克服学生的畏难情绪,也有利于使学生快速掌握算法。

4 认真上好实验课

《C语言程序设计》是一门实践性很强的课程,“边学边练”是掌握这门课程的最好方法。因此,我们根据理论教学进度安排了实验课,并制定了专门的实验指导书,实验指导书明确了上机实验目的和要求,制定了实验内容和详细的操作步骤,并为程度较高的学生设置了选做题目。在实验过程中,注重以学生为主体,教师为主导,安排的实验内容循序渐进,采用模仿-改正-编程的实践训练思路来培养学生[3],使学生在运行程序和调试程序中锻炼分析问题和解决问题的能力,对于实验过程中学生提出的疑难问题,教师首先加以引导或者提示,启发他们独立思考解决问题,经过自己思考解决问题往往印象比较深,也能激发学生的学习热情,对于实验中存在问题比较多的题目,教师及时进行总结,并在课堂中统一进行指导,不仅节约时间,满足同学们的需要,而且对知识的掌握起到巩固加强的目的。

5 提高教师素质

由于《C语言程序设计》课程教学任务较重,所以计算机专业老师难以承担所有的课程教学任务,造成许多任课老师都是各个院系的非专业老师,缺乏系统的程序设计思想。针对这一情况,学校每学年都多次组织计算机学院多年从事课程教学并且经验丰富的专业老师对任课教师进行培训,针对课程内容进行串讲,在串讲过程中,任课老师可以对在教学过程中的疑难问题以及教材中出现的问题进行讨论。促进教师之间的教学交流,并创建了QQ群以及网络平台,便于老师们之间的信息共享以及交流,努力提高教师素质。另外,学校每学年组织《C语言程序设计》教学竞赛,教师教学的积极性显著提高,使教师不断扩充自己的知识水平和能力,不断学习新的教学方法和手段,从而提高课堂教学效果。

6 改革考核方式

为了扎实推进学校教学改革,切实提高《C语言程序设计》课程教学质量,对《C语言程序设计》课程考试环节进行了改革,在传统的考核方式理论成绩(70%)和平时成绩(30%)基础上,新增了上机考试环节,课程成绩由平时成绩(15%)、理论成绩(70%)、机试成绩(15%)等3部分组成。理论考试重点考核学生的C语言基础知识、编程思想和算法分析能力,上机考试重点考核学生的动手编程操作能力和程序调试能力。机试的考试系统由学校自主开发,学生考试时由系统自动从100套试题库中随机抽题进行考试,做到了严格的公平公正。实践后表明,这种考核方式能够更加客观地反映学生的知识掌握程度,同时能够促进学生主动学习,提高学生的动手操作能力。

实践证明,C语言的教学改进可以提高学生的学习兴趣,有利于学生对相关概念的理解以及编程能力的培养,使学生逐步掌握分析问题、解决问题的思维能力,同时也为非计算机类专业学生将程序设计思想灵活运用到自己的专业领域打下了基础。

参考文献

[1] 胡丹.非计算机专业《C语言程序设计》教学探讨[J].电脑知识与技术,2011,7(34):8983-8985.

第3篇:c语言程序设计范文

关键词:C语言程序设计;教学改革;创新教育;自主创新;现代教学

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)26-6310-03

The C Language Program Design Teaching Strategies and Effect

WANG Xiao-xia

Abstract: Using the full text discusses the idea of the innovation education C program design science research and practice teach? ing reform. First of all this teaching reform theoretical basis and purpose. Analysis C language program design characteristics. Based on this the independent innovation of teaching reform mode.

Key words: C program design; education reform; innovation education; independent innovation; the modern teaching

随着科学技术和社会的发展和进步,教育作为社会文化的重要载体,人们对高质量的现代教育需求尤为突出。我国的传统的教育模式是已经远不能满足当前受教育者的需求,特别是《国家中长期教育改革和发展规划纲要》中提出了“创新人才培养模式。适应国家和社会发展需要,遵循教育规律和人才成长规律。深化教育教学改革,创新教育教学方法,探索多种培养方式。注重学思结合。倡导启发式、探究式、讨论式、参与式教学,帮助学生学会学习,激发学生的好奇心,培养学生的兴趣爱好,营造独立思考、自由探索、勇于创新的良好环境,适应经济社会发展和科技进步的要求,推进课程改革。充分发挥现代信息技术作用,促进优质教学资源共享。把改革创新作为教育发展的强大动力。教育要发展,根本靠改革。把提高质量作为教育改革发展的核心任务。”

《C语言程序设计》课程是计算机专业中重要的专业基础课,它是计算机专业和相关专业的必修课,是广泛应用的高级程序设计语言之一。它具有功能齐全强大、结构性能强、内容抽象,概念很复杂、规则比较多,易于出错,具有丰富的数据类型等。《C语言程序设计》的重要特点给教学带来极大难度。

依据《教育规划纲要》和教学现状突出问题,在《C语言程序设计》课程教学中进行深化改革更具有重要性和必要性。教学改革的关键是自主创新。自主创新是相对于技术引进、模仿而言的一种创造活动,是指通过拥有自主知识产权的独特的核心技术以及在此基础上实现新产品的价值的过程。因此,《C语言程序设计》课程教学应着重于创新教学方法,不断提高自主创新能力,提升教学品质,创新人才培养模式,构建自主创新的现代教学模式。

1现代教学观

教学是培养学生的创造性活动。现代教学不仅是传授知识,更重要的是全面提高学生素质,发展学生的智力和潜能。这就要求创新教学方法体系。深化教学改革的目标是全面育人。因此,教学中应具有教育性、创造性、科学性和实践性,应是教师主导作用与学生主体作用相结合的过程,应是从“以教师为中心”转向“以学生为中心”和“做中教,做中学”的过程,教学应培养学生自主学习和促进学生的全面发展。

2现代教学手段

科学技术的进步和发展使陈旧的教学行为与现代社会要求不相适应的。现代教学手段就是将现代的先进科学技术引用到教学活动中,运用多媒体技术进行教学授课、演示操作、测试、制作教学课件和电子教案等。将各种教学手段有机融合在教学活动中,使教学科学化、规范化和现代化,并提高“质重于量”的教学效率,现代教学手段是现代科学技术在教学中的重要应用,是教学技术的重要进步。

3现代教学法

3.1以突破“函数、数组、指针”作为教学切入点

C程序是由函数组成的,函数是C程序中的重要概念和核心部分,也是程序设计中的重要手段,使用函数可以提高程序设计的效率。数组是C语言提供的一种常用的结构型数据类型。指针是C语言具有代表性特征的功能之一,使用指针可以编制出简洁明快、功能强的程序,指针的概念比较复杂,使用也很灵活。数组和指针在《C语言程序设计》中具有极其重要的作用,是《C语言》程序中重要核心内容,是学习C语言的难点和重点之一,学生很难于理解。因此,突出重点讲解和强化突破“函数、数组与指针”概念的理解和运用是学生深刻理解和熟练掌握《C语言程序设计》的关键,起到化解难点的作用,使学生学习《C语言》获得事半功倍和非常轻松的效果。

3.2组合式教学法

组合式教学法就是将启发式、探究式、讨论式、参与式、实例式、课题式和实验式教学法有机结合并贯穿于全部课程教学中。

3.2.1启发式教学

教学中引用相关的知识和实例并运用多媒体技术现代教学手段等进行演示讲析。

3.2.2探究式教学

教学中提出课题进行探索研究。

3.2.3讨论式教学

教学中针对学习课题师生之间进行研究分析和解决。

3.2.4参与式教学

教学中引导学生进行解析学习课题。

3.2.5实验式教学

教学中引入实验、课程设计等,对教学课题进行实际操作。

教学中针对教学课题内容适时运用组合式教学法,其重要特点是教学方法灵活、有的放矢,培养学生自主学习和学会学习,培养学生的动手能力和实践能力,提高学生的分析问题和解决问题能力,做中教和做中学相结合,理论教学和实践教学有机结合,课堂教学与学生自主学习相结合,调动学生学习的积极性和主动性,增强学生的学习兴趣,突破C程序的教学难度,以多媒体技术为主,图文动态演示,增强学生对C程序设计的感性认识,多种教法有机融合、优势互补。有效的体现了师生互动、启发引导、因材施教、精讲多练和理论与实践相结合的教学方式和教学过程。

3.3实例教学法

实例教学法是选择适合课题的并具有典型性、规律性、代表性和示范性的范例融入到教学中。面向学生,针对学生的好奇心理,利用典型实际案例讲析,举一反三,深入浅出。

实例教学法非常适合《C语言程序设计》课程教学,特别是程序设计核心部分更为明显。C语言是一种结构化的程序设计语言,它的基本结构是顺序结构、选择结构和循环结构。其中,循环结构是程序基本结构中很重要的核心部分并具有很大的难度,它是C语言程序中的重要内容。教学中重点突破理解循环结构功能和正确灵活运用循环结构进行程序设计是进行高效编写高质量程序教学的重要关键性教学技术。针对此问题引用实例教学法是最佳有效的实现方法。

实例教学法实施过程:

1)讲析循环语句格式和功能。

格式和功能;演示课件。

2)引例计算1+2+3+…+100

分别用while语句、d0一while语句、for语句编写程序。

程序:演示课件

在C环境下运行程序,演示运行结果,学生察看运行结果。

3)导析画出流程图,讲析语句的执行过程。

演示课件

4)引导学生依据流程图分析语句的特点和各语句间的不同点

5)导题:如果i初值设为l0l,以上例子运行结果是多少?

在C环境下运行程序,演示运行结果,学生看到运行结果,印象深刻。

6)总结:

①3种循环可以互相代替。

②在while和do—while循环中,循环体应包含使循环趋于结束的语句。

③其它

7)导题:选择合适的循环语句:

①输出100~200内能被3整除的数。(使用for语句合适)

②输出用“$”号组成的图形,如每行有10个号组成的长方形、等腰三角形状。(使用for语句合适)

③输出九九乘法表。(使用for语句合适)

通过运用实例教学法,增强学生的学习积极性和兴趣,强化学生主动学习,深刻理解知识点,提高学生分析问题和解决问题的能力,有效突破教学难点,为学生学习其它程序设计打下坚实的基础。

3.4课题教学法

课题教学法就是将具有多功能和典型范例的研究课题引入到教学实践活动中。其特点是将学生自主学习融入到教学中,教师对学生学习进行引导和指导,从“教学生学”到“教学生学会学”转变,贯穿“做中教和做中学”,着重实践性,使学生深刻理解和掌握《C语言程序设计》功能和特点,突破学习《C语言程序设计》难度,提高学生的程序设计能力和操作技能,培养学生探索创新的能力,以适应现代社会需求。

通过《C语言程序设计》教学改革探究实践,获得更高的教学质量。教学改革是新世纪现代社会发展的需要,现代教学模式是切实可行的。自主创新是现代教学实效性的关键,基于自主创新的现代教学方法是创造性的教学实践。教学实践展现了教学改革的重要意义并凸显较好的教学效果。面向未来,教学要以科学发展观的教育思想向高新科学技术不断挑战并伴随可持续性教育发展不断创新。

参考文献:

[1]林东,陈琳.编程语言基础——C语言[M]. 2版.北京:高等教育出版社,2006.

第4篇:c语言程序设计范文

关键词: C语言;常见错误;程序调试;实例

中图分类号:TP312文献标识码:A文章编号:1009-3044(2009)35-9969-02

Analysis of Common Error Based on C Programming Language

GAO Ya-xia1, ZOU Hai-rong2

(1.Shaanxi Commercial School, Hanzhong 723000, China; 2.Shaanxi Institute Of Technology, Hanzhong 723000, China)

Abstract: In recent years, not only the computer professionals use C language, but also the majority of staff computer applications favorite and use. In the use of C language application development, due to C language has a flexible programming style, grammar constraints are less stringent and program design large degree of freedom and so on. This C language to a number of beginner and causing a number of difficulties, in order to be able to quickly identify and correct errors in the program; this paper, the C language program design issues common mistakes analysis and research. Gives some examples and reference solutions, in order to learn C language program designed users to provide with convenient.

Key words: C Language; common errors; debugging program; example

C语言是在国内外广泛流行、使用的一种计算机高级程序设计语言。它的主要特点是:概念简洁、数据类型丰富、表达能力强,运算符多且使用方便灵活。与其它程序设计语言相比较,具有灵活的编程风格,语法限制不太严格,程序设计自由度大(例如:一个语句可以采用多种方式,分多行撰写;对数组下标越界不做检查;整型、字符型和逻辑型的数据可以通用等)。这就给程序设计人员留下“灵活的余地”,但是由于这个灵活往往给程序调试,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的实例。看着有错的程序,不知该如何进行修改。通过在C语言的教学与研究过程中,分析了一些关于C语言程序设计时容易犯的错误实例,提供给学习C语言的同学及相关人员参考。

1 C语言常见错误实例与分析

实例1.Printf语句中“控制字符串”部分分写在不同的行。

例如:main()

{ printf(“* * * * *”\n

Very good!\n

* * * * * \n);}

该程序的目的是为了显示这样的结果: * * * * *

Very good!

* * * * *

但程序运行后却出现错误信息:“Unterminated string or character constant in function main”,对上述错误,只要在程序第二行、第三行的最后分别加上“\” 即可得到正确的结果,也就是说printf语句中的“控制字符串”部分分写在不同的行时加“\”连接。

实例2. 忽略了“=”与“==”的区别。

在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写if (m=10) then …,但C语言中,“=”是赋值运算符,“==”是关系运算符。

例如:if (m==10) m=n;

前者是进行比较,m是否和10相等,后者表示如果m和10相等,把n值赋给m。由于习惯问题,初学者往往很容易犯这样的错误。

实例3.定义变量的位置不正确。

例如:#include

main()

{ char ch,filename[10];

scanf(“%s”,filename);

FILE *fp;

fp=fopen(filename,“w”);

ch=getchar();

while(ch!=‘#’)

{ fputc(ch,fp);putchar(ch);ch=getchar();}

fclose(fp);}

程序运行后出现错信息“Improper use of a typedef symbol in function main”,只要把第六行:FILE *fp;放到第四行前,程序通过。原因是:说明部分要放在其他语句之前。

实例4.将字符常量与字符串常量混淆。

char ch;

ch="M";

在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,而字符串常量是一对双引号括起来的字符序列。C规定以‘\0’作字符串结束标志,它是由系统自动加上的,所以字符串“M”实际上包含两个字符:‘M'和‘\0',而把它赋给一个字符变量是不正确的。

实例5.输入变量时忘记加地址运算符“&”。

int a,b;

scanf("%d%d",a,b);

这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。“&b”指b在内存中的地址。

实例6.输入数据的方式与要求不符。

1) scanf("%d%d",&x,&y);

输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:

1,5

输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。

2) scanf("%d,%d",&x,&y);

C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:

1,5

此时不用逗号而用空格或其它字符是不对的。如下面输入不合法:

1 5 1:5

又如:scanf("a=%d,b=%d",&a,&b);输入应如以下形式:

a=1,b=5

实例7.输入字符的要求与格式不一致。

在用“%c”格式输入字符时,“转义字符”和“空格字符”都作为有效字符输入。

scanf("%c%c%c",&c1,&c2,&c3);

例如:输入O K !

则字符“O”送给c1,空格字符“ ”送给c2,字符“K”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。

实例8. 同时定义了形参与函数中的局部变量。

int max(x,y)

int x,y,z;

形参应该在函数体外定义,而局部变量应该在函数体内定义。应改为:

int max(x,y)

int x,y;

{int z;

z=x>y?x:y;

return(z);}

实例9. 误用变量定义数组。

int n;

scanf("%d",&n);

int a[n];

数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即C不允许对数组的大小作动态定义。

实例10. 被调用的函数未在主函数中进行声明。

例如:main()

{ int a,b,*p1,*p2;

Scanf(“%d,%d”,&a,&b);

p1=&a;p2=&b;

if(a

printf(“5d,%d\n”,*p1,*p2); }

void swap(int *p1,int *p2)

{ int *p;

P=*p1;*p1=*p2;*p2=p; }

程序运行后出现错误信息:“Type mismatch in redeclaration of ‘swap’”,只要在程序的第二句int a,b;前加一句:void swap();程序运行通过。也就是说:被调用函数的定义出现在主调函数之后(除了函数的值是整型或字符型的),要在main()函数中对被调用函数进行说明,void型函数也不例外。

2 结论

通过上面这些实例的分析,可以看出,由于C语言的开放式编程风格,让C语言初学者,在进行C语言程序设计时往往会出现一些微妙的、不易觉察的错误。C语言作为一门完善的编程语言,具有它的科学性与严谨性。因此,只有在充分掌握和熟练运用C语言的基本概念、语法规范及结构的基础上,才能真正享受到C语言灵活自如的编程风格的魅力,这也是学习一切科学知识的基本方法。

参考文献:

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

第5篇:c语言程序设计范文

[关键词]模式;方法;手段;改革

引言

我们都知道,C语言概念比较复杂,规则较多,使用灵活,容易出错,学生掌握起来有一定的难度。传统的C语言程序设计教学中,主要以课堂讲授为主,且在教学过程中采用的大多是纯理论的抽象案例,这对于高校学生,尤其是职业院校的学生而言,既抽象又枯燥无味,不能充分体现职业教育的特点,另外内容难以理解和接受,学生学起来自然没有动力,从而导致课堂教学质量不高,学生学习兴趣不浓,学习效果不佳,不能真正理解程序设计的精髓,因此普遍反映C语言难学。《C语言程序设计》是电子各专业都开设的一门非常重要的专业基础课,掌握好C语言程序设计技术为学生学习后续一些较高级的变成语言打下良好的基础。针对以上情况,对《C语言程序设计》进行了教学改革,主要对教学模式、教学方法以及教学手段等几方面进行了改革,变老师主导型教学为与学生交互型学习的教学过程,在教学过程中不断探索新的教学方法和尝试先进的教学手段。

一、教学模式的改革

首先,改变了以往的授课方式,从以前的合班上课方式改为单班微机室授课。这种授课方式,可以使学生先理解老师所讲授的理论内容,然后可通过上机实践,加深理解并真正掌握课堂内容,同时也提高了学生的动手编程能力,充分调动学生学习的积极性和主动性。学习程序设计的最佳方法就是自己进行编写程序,在实践中发现问题解决问题并逐步提高水平。而这种授课方式,正好可以将理论与实践相结合,由于单班进行授课,老师可以对每位学生进行一对一辅导,做到“教学做”一体化,所以教学效果良好。其次,我们针对这种新的单班微机室授课方式,重新编写了教案。在教案的组织上遵循的原则主要是理论与实践相结合,组织方式是,对于每一个项目,首先介绍概念、原理、算法、语法和注意事项,然后通过适当的案例来讲解,立即让学生上机实践,教师当堂辅导学生编写和调试程序,使学生能够对课程内容当堂理解,当堂消化吸收。再次,对考核方式进行了改革,将期末成绩划分为平时成绩+项目考核成绩,+教学科成绩,考核成绩的方法是平时成绩占20%,项目考核成绩占20%,教学科成绩占50%。这种考核方式即可以考核学生的平时表现,又可以考核学生对课程的掌握程度。既考察了理论知识的掌握情况,也考察了学生的实践动手编程能力。通过综合学生的意见反馈,学生对这种考核方法也表示赞同和认可。

二、教学手段的改革

首先,在C语言程序设计课程教学过程中,考虑到本门课程的特点,对于要讲解的案例进行分析,发挥传统教学的优势,进行课堂讨论、板书讲解、结合提问,将问题层层剖析、层层深入,充分调动学生的积极性和主观能动性。另外,充分利用多元化、现代化的教学手段。在教学过程中,运用多媒体技术进行辅助教学,有利于激发学生的学习兴趣,能发挥学生的主体能力,优化教学过程。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。要充分利用计算机网络开展网上答疑、网上测试、网络教学,及时解决学生在学习与生活中遇到的种种问题,使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。对C语言程序的调试过程及运行机制学生很难理解,很难想象其过程,如果将其做成课件,以动画的形式模拟其过程,学生就能很快地掌握。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。其次,对以往上机考试模式进行了改革。以往上机考试为教师出几道程序设计题,全班学生都答一样的题,这样存在一些弊端。现在上机考试模式改为采用c语言程序设计题库抽题,每位学生进入考试系统,系统具有自动出题、随机组卷、计时收卷、实时评分和记录成绩功能,大大提高了考试效率。每名学生的3道考题是随机产生的,与旁边学生的考题都不相同,所有考题题目都来自于国家二级考试模拟题题库,具备一定的针对性,同时c语言程序设计题库有两种使用方式,平时练习和正式考试,学生可以在平时练习,系统自动会给出所有练习题的答案,这样学生能在练习的过程中逐步提高自己编写程序的水平。因为是电脑计时评分,时间一到马上就收卷然后给出成绩,因此在练习的过程中就迫使学生必须经常练习,不知不觉中也就提高了C语言程序设计的能力。

三、教学方法的改革

在教学方法上主要采用多种教学方法相结合的方法。首先利用问题探究教学法引入本节课要学习的知识,这种教学法能够充分发挥学生的主动性,突出学生的主体作用,有效地培养学生分析问题与解决问题的能力,以“冒泡排序”为例,可以采取先跟学生讲解什么叫“冒泡”,然后让学生设计冒泡排序的算法思路,然后让学生讨论并写出算法流程图,最后讲解如何用for程序结构实现算法,完成整个程序的编写。其次,可利用和采用归纳教学法和案例教学法。归纳教学法引导学生对c语言中的定义、概念、语法规则进行归纳,将会起到事半功倍的效果,例如:getchar与putchar函数,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。笔者将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍,然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,最终在课堂上教师扮演“主导”角色,而学生真正地成为“主体”。再次,由于每个学生学习的动机、兴趣、能力存在较大的个体差异,所以决定了C语言课程必须因材施教。针对学习能力较强的学生,鼓励他们自学,并给予方向性指导,让他们超前学习。针对学习能力较弱的学生进行单独辅导,加强学生学习的积极性。对于大多数学生,精力主要放在最基本、最常用的内容上,让他们学好基础知识,领悟程序设计的方法,为后续其他课程的学习打下基础。另外,教学过程中,应不时地进行换位思考,从学生的角度来考虑问题,注意师生的互动效果,以提高学生学习的积极性和主动性。总之,《C语言程序设计》教学改革取得了非常理想的教学效果,无论是在学生成绩的提高上,还是学生的反映上,以及考试的效率上等均达到了教学目的,但仍存在一些不足,以上是对C语言程序设计教学课程的心得体会,希望对广大的同仁能有一定的参考价值。

参考文献:

[1]谢志江等.案例教学法在工科教学中的应用[J].高等工程教育研究,2003(5):12-17.

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

[3]陈国英.提高计算机语言课上机实践教学的改革与实践[J].洛阳农业高等专科学校学报,2002.

[4]全国计算机等级考试二级教程C语言程序设计[M].北京高等教育出版杜.

[5]孔垂柳,田地.基于程序设计思想的C语言教学方案.吉林大学学报(信息科学版),2005,23(8):5-6.

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

[7]李明等.C语言程序设计教程[M].上海:上海交通大学出版社,2007,26-32.

第6篇:c语言程序设计范文

关键词:计算机;C语言程序设计;教学改革;教学实践

中图分类号:G433 文献标识码:A 文章编号:1672-7800(2012)003-0194-02

作者简介:刘桂玲(1976-),女,内蒙古赤峰人,硕士,天津职业技术师范大学附属高级技术学校讲师,研究方向为计算机应用技术。

0 引言

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,还可以直接访问内存的物理地址,进行位(bit)一级的操作。C语言在很多方面都可以应用,不仅在软件开发上,而且在各类科研工作中都是需要用到C语言的。C语言是入门的课程,也是非常重要的课程。

目前,计算机专业的基础课都会有《C语言程序设计》,可见这门课程的重要性。学习这门课程,可以培养学生的逻辑思维能力以及形成一种程序化的思想。这门课程在内容上并不是很难,但在现实中却发现,教学效果并不是很理想,很多学生都觉得这门课程枯燥乏味。在这样的情况下,能学好C语言的学生很少。但我们却必须要学好这门课程,不然后续的课程会更加难学,或者说几乎就听不懂也不会写。下面我们先分析现实教学中存在的一些问题。

1 C语言教学中存在的问题

一般来说,教学中存在的问题都是包括几方面的,因为教学是教师和学生共同的活动,即有教师方面的问题,同样也会有学生方面的问题、教学方法上的问题、教学过程中的问题、水平评价中的问题,还有学科本身特征所导致的一些问题,同样。硬件设备、教学环境等外在的条件也是教学中存在问题的因素。

正确认识存在的问题,把问题找出来,再根据不同的问题寻找出每一个问题背后的真正原因,然后对症下药,就可以把问题解决好。在教学过程中,笔者发现C语言教学主要存在以下几方面的问题:

(1)在教学的过程中,主要体现为教学方法上的问题。现在很多教师还采用传统的较单一的教学方式,过于注重理论知识的讲授,在教法上墨守成规,很少有创新,本来内容就比较枯燥的一门课程,如果教师在教学过程中不能使它变得有趣一些,就很难调动学生的积极性和激发学生的兴趣和信心。

(2)在教学内容上,教师过于注重C语言的理论教学,也就是对一些概念和语法规则等的教学偏重。概念本来就是比较枯燥的内容,如果过于讲概念的话,更容易让学生对这门课程失去兴趣。现实中的大部分教学都是讲理论讲语法为主,一个学期可能只有三、四次上机动手实践,而这门课程很重要的一方面就是动手实践能力。如果在教学中过少实践,则很难提升学生的能力,无法达到培养学生程序设计和调试能力的目的,就难以学好C语言。

(3)在水平评价方面,水平评价制度是否合理是否科学,很大程度上就决定着教学质量的好坏。大部分教学都是为了准备考试,考什么就学什么,怎么考就怎么学,怎么教。比如,考试是考笔试、考定义,那么教师就会在平常的教学中注重概念及定义的学习、理解和记忆。如果考的是上机操作,这就要求教师在教学中要注重学生实践操作能力的培养,注重逻辑思维能力的培养。

2 教学改革建议

2.1 综合运用各种教学方法

由于C语言课程本身的特性,学生会觉得这门课程比其它的科目更枯燥。其实只要懂得去调动学生的积极性,学生还是会喜欢上这门课程的。在平常的讲课过程中,我们要善于运用不同的方法来教学,根据实际需要灵活使用各种不同的教学方法和手段,以求取得好的教学效果。

如数据类型的概念、流程控制、函数的定义与调用、指针的概念等采用教师主导的传统教学方法会更好一些。但在其它一些方面,如理解性的知识,教师一定要充分利用好教学资源,合理使用多媒体教学,有效弥补传统教学的不足。可以将难以理解的内容或不容易观察到的事物用媒体充分显示出来。如可以借助flas模拟排序,运用多媒体教学事先设计好教学课件。这样可以节省板书时间、实现资源共享和提高效率。但在多媒体教学环境下,板书设计的重要性被大家弱化了。理论教学主要进行课件的演示,这种方法对刚接触程序设计的学生是非常不利的。在程序设计的初级阶段,教师应该适当地利用板书来讲解,因为程序编写是有思考过程的,利用板书逐步写出程序,这样在整个过程中能够随意控制需要显示的内容,并且和语速、回顾、提问等环节有机结合起来.从而促使学生的思路与教师的讲解保持同步,而利用课件演示事先编写好的程序则由于给予学生的思考时间不够导致学生的印象不深刻,从而导致教学效果不佳。所以在进行理论教学时,要将多媒体与板书设计相结合,充分发挥各自的优点,从而使学生在直观感受和思维训练等不同方面都能获得最好的授课效果。

2.2 注重动手能力的培养

C语言是一门以实际操作为主的科目,学习C语言程序设计应当充分重视实验环节。很多教师实验时间安排很少的原因是:还有很多基本语句没学好,或者说还有很多结构没有掌握,因此不适合上机操作。在这里,笔者认为教师不应该等到学生把所有要用的知识都掌握了才让学生去上机,如果学生掌握得慢的话,无形中就压缩了上机的时间。即使有些语句学生还不会,还是可以让学生上机,在操作和编程的过程中,学生不但可以巩固课堂上所讲的理论知识,不懂的那部分还可以在操作的过程中通过实践和摸索自己总结出来。通过不断去试,得到不同的结果,这种直观的结果可以让学生马上领会到不同的结构不同的语句所产生的效果。这样的上机操作比单纯讲理论更有趣更容易。

教师在上实验课时尽量要求学生多编写程序,多上机调试程序,从最简单的编程开始,再慢慢让学生不断扩展。上机也不能仅仅为了编程的正确性,更重要的还在于让学生熟练掌握上机操作要领和调试程序技术,积累编程经验,加深学生对讲授内容的理解。尤其是一些语法规定,光靠课堂讲授比较枯燥又难以记住,但它们又很重要,通过多次上机就能自然地熟练掌握。通过上机来掌握语法规则是行之有效的一种方法。

在实际教学中,笔者发现了一个有趣的现象,如这门课程的第一个实验就是按任意键输出一行字如:你好。这是书本上提供的实验,在上机过程中发现有的学生把它改成了“我是笨蛋”,编好之后让同学来测试,结果引起一阵轰笑。其实我觉得这种时候学生能这样开些玩笑反而更好。不但可以提高上机的趣味性,还能激发他们用C语言来比拼的欲望,一边玩笑一边学习,效果将会更好,可激励学生多创新。

2.3 革新水平评价体系

考核在教学过程中起着非常重要的导向作用,考核是了解学生学习状况的依据,学生和教师都非常重视。目前计算机专业教育的改革力度很大,但在考核方面,多年来进展不大。《C语言程序设计》课程的考核方式是以笔试为主,考试的重点是语法和基本的逻辑推导能力,忽略了学生对所学知识的综合应用能力的考核。因此,必须建立以学生解决实际问题能力为考核基准的考核模式,坚持理论教学与实践相结合,坚持学与用并重,实践操作应重视创新,培养学生灵活运用知识以及创新知识的能力。考核方式应该以实践和操作为主,笔试为辅,平时的上机操作成绩也要纳入到期末的水平评价中。在实际教学中发现,学生们更喜欢项目式的考试与平常的作业和上机相结合来定成绩,他们认为这样就减轻了期末考试的压力,因为很大一部分考核在平时的学习和上机过程中就完成了。

此外,作为教师,在教学的同时也应该不断提升自己,与时俱进,站在新知识的最前端,这样才能更好地教授学生知识。如果教师不充电,不提升自己,在讲课中将很难体现一个教师的魅力和感染力以及这个教师的知识水平。在这个计算机技术高速发展的社会,不学习新知识只会被社会甩在后面。

3 结束语

《C语言程序设计》是计算机专业的基础课程,一定要注重程序设计思维的培养,在教学过程中应积极探索符合各层次培养目标的教学方法、教学内容及考核方式。要建立良好的师生关系,充分发挥教师的指导作用,使学生在学习中不仅能掌握编程的知识和技术,还具备利用计算机求解实际问题的基本能力。这才是教学的目的,也是改革的目标。

参考文献:

\[1\] 谢竟博.C语言程序设计教学中的问题及改革建议\[J\].重庆邮电大学学报,2008(2).

\[2\] 魏青.C语言教学中学生学习兴趣的培养\[J\].电脑知识与技术,2010(21).

第7篇:c语言程序设计范文

[关键词] 教学方法 案例教学 教学效果

C语言程序设计是计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教法和学生学法的差异,对教学效果都会产生直接的影响。针对学生学习语言课程的一般思维规律和思维模式,进一步探讨适合专科院校学生的教学方法,对以后的C语言程序设计教学有所帮助。

一、C语言教学中的问题

C语言程序设计是一个逻辑性很严谨的课目,学生在设计程序时常常感到无从下手。其原因可分为两个方面:一是所使用的教材,在每一章节介绍完概念之后,提供一些例子加深学生对概念的理解,针对本章中出现的内容提供一些练习题。用来测试学生对各章节中的基本概念记忆和理解程度。二是学生更多关注的是教材中的典型例题,对于程序的系统概念没有真正掌握理解,没有整体设计的概念,在做练习题时涉及到综合编程部分感到困惑。学生在学习的过程中,没有注意到如何综合运用相关内容解决具体问题,以导致学生在学完程序设计课程时,进入应用阶段,面对具体的专业设计要求无从下手。

二、提高教学质量的途径

通过C语言课程的学习,学生应正确理解C语言的基本概念,掌握语句的格式及用法,编写出优化的实用程序。我们知道C语言课程强调的是实践性,对于计算机语言课程的教学不应仅仅是传授知识,应该以培训能力为主,过分强调该语言的系统性和完整性可能会转移学生对课程重点的注意力。在规定的课时内教师讲解不可能面面俱到,所以授课时必须突出重点,突出实用性,遵循理论与实践相结合的原则。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和学习能力的培养。

程序设计课程具有很强的实践性,要以社会对编程能力的需求和技术发展为依据,调整教学内容,以适应技术岗位能力要求。在课程设置与建设中,要充分体现教学内容在培养学生实践能力方面的需求,适当增加实训教学内容,以强化学生的实际开发和应用能力。

C语言程序设计,注重由设计算法到书写程序并进行调试的整个过程,显得抽象复杂。在教学过程中,应该先介绍一个较完整的程序例子,该例子包含了语言中的主要语句,目的是使学生先对程序有个初步的印象,再简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

三、突出教学重点

算法是程序设计的灵魂,是教学重点,也是教学难点,一个优化的程序必有一个好的算法。而语言只是表示形式,没有正确的算法,计算机将解决不了任何问题,对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,讲解程序设计的思想和方法,将课程内容分为若干个主题,以程序设计做为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习上机实践”和“疑难解答”三个阶段组成。基于问题的教学提出问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力。将C语言的知识点溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目的编程实践,逐步组建“教师管理系统”,并且添加文本菜单,整合扩展记录添加、排序、查询、统计和记录浏览等内容形成课程设计。

四、激发学生的学习兴趣

第8篇:c语言程序设计范文

作为一种新型的教学模式,多媒体教学已经成为课堂教学的发展趋势,在《C语言程序设计》教学中发挥着重要作用。许多老师都喜欢使用多媒体教学,实际上,多媒体只是为达到教学目的而使用的一种辅助手段。目前,《C语言程序设计》多媒体课堂教学中存在以下问题,对教学造成了一定的影响。

1.教师在使用多媒体教学中有较大的盲目性和依赖性。有些教师在制作多媒体课件和课堂授课过程中,出现忽视学生对象特点、不考虑学生人数、与学生交流少或缺乏交流满堂灌的情况。过于注重形式,忽视了教学目的。

2.教师教学方式过于单一。有些教师运用的教学模式单一,讲课速度太快,讲课节奏平铺直叙,对于程序的分析,缺乏必要的运行演示。

3.部分多媒体教学课件制作质量差。一些多媒体教学课件制作水平偏低,缺乏教学设计,从而影响了教学效果。一些教师准备的教学课件存在信息量过大、简单材料堆积、照抄书本、材料来源混乱等现象,所制作的课件不符合教学实际需要。

4.学校对多媒体教学管理缺乏宏观管理和质量控制。一些学校在推行多媒体教学模式过程中,缺乏课程课件建成后的管理和更新机制,结果是许多教师的教学课件多年不变,没有引入新的学科新进展。

二、多媒体课程教学中注意事项

结合《C语言程序设计》教学中存在的问题,我们认为,多媒体课程教学中应注意以下事项。

1.突出教学重点。突出教学重点是多媒体教学的基本前提,要避免所设计的多媒体教学课件只注重于图、文、声、像等信息的有机结合,华而不实,花里胡哨,造成重点不够突出的情况。

2.提供良好的交互环境。交互环境包括整个人机界面所用的颜色、文字大小、动画、背景音乐等信息单元。所有这些信息单元都将直接为人体的感官所感知,学习者是很难在感觉很差的环境中对学习有兴趣的。多种媒体信息可能使用户和系统的交互作用产生混乱,直接同时使用多种人机通信形式往往会产生负作用。多种媒体信息不能简单混合。

3.坚持一致性与相关性原则。在多媒体教学中应采用相同或相似的用语、提示、组织形式和顺序,这样可以避免分散学习者的注意力和浪费学习时间,从而影响学习者的学习效率。同时,在多媒体教学过程中,授课者要注意将与所涉及内容有关的一些知识同时传授给学习者,使学习者能够较轻松地获取一些与此有关的知识,达到事半功倍的效果。

4.注重多媒体课件的开发。多媒体课件是多媒体教学的一个重要载体。好的多媒体课件内容丰富、布局合理、构思精巧,可以很好的调动课堂气氛,也有利于课后学生的自学,从而提升学生的学习效率。反之,如果采用的多媒体课件只是书本知识的简单展示,则会使学生产生念书的感觉,起不到相应的效果。在平常的授课中,应注意多媒体课件素材的收集,精心制作多媒体课件,提升教学的质量。

5.把握好多媒体教学与传统教学的关系。实际教学实践表明,多媒体教学并非能完全代替传统的教学方式及内容。一些抽象的算法原理等需要运用逻辑思维方面语言来论述的问题,用视觉形象语言表达相当困难。课堂常用的口头表达方式,是人类交际中最基本的也是最重要的行为之一。无论传播媒体多么先进,都不可能完全代替传统教学手段。在授课过程中,要避免产生两个极端:一种是固执认为多媒体教学花里胡哨,不像传统教学方式那样实在,从而不愿意采用多媒体手段授课。另一种则片面强调多媒体的优越性,试图以“机授”代替教师传授。无论哪一种情况,对于我们的教学都是不利的,应该把两者有机地结合起来,提升教学质量。

6.建立宏观管理和质量控制机制。多媒体教学质量建设是一项系统工程,需要学校制定一系列相互关联、行之有效的措施,按照严格管理、过程控制和目标考核的原则,制定多媒体教学管理办法。建立系统、规范的评价体系,使学校对于多媒体教学的教学状态、教学条件、管理水平等决定教学质量的关键环节进行自我控制、自我约束、自我保证。

三、结束语

第9篇:c语言程序设计范文

关键词:职业技术学院;教学目标;开放性考核;教学方法

1 项目化教学的重要性

C语言是目前最为流行的一种程序设计语言,是程序设计的入门语言,也是C++、C#等程序设计语言的基础。其高效、灵活、功能强等优点使它不仅成为计算机专业的一门必修课,也是其他理工科专业的一门基础课。但是C语言极强的抽象思维要求、灵活的语法规则、繁多的基础知识给学生的学习带来了许多困难。因此,对C语言程序设计进行课程改革,实现项目化教学变得尤为重要。

2 项目化教学的优点

“项目化教学”是以教师提出一个问题(找出几个数中的最大值),学生在教师的指导下,通过对整个课程知识的学习和应用实例的理解,以小组为单位完成一个项目的教学方法。

“项目化教学”中,学生是主体,也是项目的实践者。学生通过所学知识分析解决实际问题,通过项目的实践更好地掌握知识。教师是“项目化教学”的间接参与者,在学生完成项目的过程中指导学生,帮助学生解决疑问,从传统的知识传播者转变为项目指导者。

“项目化教学”中学生通过实践的方式学习知识点,其优点可总结为以下几点:

(1)学生根据项目内容明确学习目标。

(2)学生通过项目实践提高知识的应用能力。

(3)“项目化教学”可促进学生学习的积极性。

(4)教师可通过项目针对性地向学生传授知识。

(5)教师可通过观察学生项目的完成情况了解学生对知识点的掌握程度。

3 教学现状

(1)教学目标设置过高

尽管C语言是众多理工科专业开设的一门基础课,然而其教学目标应以学生层次的不同而不同。高职教育主要培养学生的实操性,只需学生掌握基础知识足已。浙江安防学院是一所普通的高职院校,以培养安防类人才为主,但其C语言的教学目标设置与计算机专业相差无几,学生学习效果一般。

(2)学生缺乏学习兴趣,学习效果差

浙江安防学院作为全日制高职学校,在校学生的层次不高。C语言内容枯燥,知识点多,概念复杂又容易出错,学生初学时便有畏难情绪,给教学带来了不少困难。

(3)考核方式单一,不符合课程性质

传统C语言的考核方式是平时成绩加笔试的形式,这种考核方式单一,对学生知识掌握程度的把握不准。C语言作为一门实操性强的课程,应注重学生动手编程的能力,因此需采用多样化的考核方式。

4 教学改革

针对上面所提到的C语言教学中存在的不足之处,笔者对15级安全防范技术专业学生进行了教学改革,改革的内容主要为以下几点:

(1)结合专业实际,明确教学目标

安全防范技术专业学生作为普通的高职学生,对纯理论学习的积极性不高;相反,对动手实践的积极性却很高。本专业开设的C语言课程是作为单片机的前修课程,学生学习单片机时需要懂一些简单的编程知识,对于数组和指针等的要求却不高。此外,C语言中所涉及到的基础知识繁多,而高职学生普遍不喜欢多记多背,过多知识点的讲解只会消磨他们学习的积极性。结合以上情况,笔者在做教学改革时进行了如下改革:1)简要介绍了常量中的整型、实型和字符型。2)舍去了变量中的动态变量,静态变量等不常用的知识点。3)数据操作中只涉及到了算术运算和赋值类运算。4)输入输出语句的内容进行了大量的缩减。5)数组做了简要的介绍。6)指针和结构体进行了删除。

(2)上好第一堂课,激发学生兴趣

C语言作为学生在大学时遇到的第一个编程类课程,其内容枯燥、概念复杂、知识点繁多,往往会打击学生学习的积极性。此外,C语言中涉及到许多英文字母,很多学生会将其与英语等同起来,这对于本身就不擅长英语的学生来说无疑是一个沉重的打击。因此,教师应该认真对待第一堂课,将C语言这门课程的性质解释清楚,大致可以从以下三个方面来解释:

第一,什么是C语言。对C语言课程做简要介绍,撇清它与英语之间的关系,将学生带入到神奇的编程世界。笔者的做法是给学生展示了一些简单的编程例子:(1)显示自己的基本信息;笔者在第一堂课向学生介绍C语言时,教学生如何用C语言程序输出自己的基本信息,并让学生动手实践,大大提高了学生动手实践的积极性。(2)做一些简单的算法;笔者在第一堂课中还向学生展示了乘法口诀表以及一些简单的图形等,很好地阐述了C语言的功能。

第二,为什么要学C语言。结合专业特点,阐述开设课程的必要性。安全防范技术专业开设C语言是将它作为单片机的先修课程,使学生具备安防设备安装调试和维修的能力,同时也鼓励学生参加计算机等级考试。在第一堂课中,笔者向学生介绍了C语言程序设计这门课的课程性质,并阐述了课程与专业之间的关系,提升学生对课程的重视度。

第三,如何学好C语言。学好C语言的要点就是“多思考,勤实践”。因此,笔者将C语言的授课环境选在了机房,鼓励学生多上机练习,多参与项目实践。此外,笔者将学生以小组形式分组,方便学生相互讨论、共同进步。

(3)改革教学方法,项目化教学

传统的教学方法是老师在上面讲授,学生在下面听课,课后完成书面作业。本实验中,将课堂转移到了带多媒体设备的机房中,采用循序渐进、实例化教学以及项目化教学的方法。首先,C语言中基础知识是很关键的,但高职学生却并不喜欢记忆,因此,笔者采用循序渐进、放缓脚步的方法,花了大量的时间帮助学生学习和巩固基础知识。其次,笔者采用实例讲解的方法,将理论知识与实际问题结合起来,把抽象思维转变成具象的问题。最后,笔者找了一些相关的项目让学生练习,同时作为指导者指导学生完成项目。学生作业以实训报告的形式上交,便于教师了解学生对知识点的掌握程度。

(4)开放性考核方式,加大实践考核力度

传统的C语言考核方式是平时成绩加期末考试。但是C语言是一门实践性很强的课程,这种简单的考核方式并不能全面地评价学生的编程能力。因此,笔者将上机实践也纳入到了考核方式中,可同时考查学生动手编程的能力,也为学生参加计算机二级等级考试打下了坚实的基础。

5 教学改革取得的成果

上述的教学改革方法笔者已应用到了日常的教学中。实践证明,学生学习编程的积极性明显得到了提高,对知识点的掌握程度和应用能力也得到了显著提高,后续学习单片机也变得更轻松。通过本次教学改革,笔者将14级和15级学生的期末成绩进行了比较,结果如下:教学改革前学生的优秀率(90分以上)为12.5%,合格率(60分以上)为75%。而进行项目化教学改革后学生的优秀率为29%,合格率为90%。由此可以认为项目化教学取得了一定的成果。