c语言程序设计十篇

时间:2023-04-03 18:40:58

c语言程序设计

c语言程序设计篇1

中图分类号:G642

摘要:分析C语言教学中存在的普遍问题,从教学内容组织形式、教学方法以及考核方式等方面提出一系列有针对性的教学方法,指出这种教学方法能有效地提高学生的学习效率和质量。

关键词:C语言程序设计;公共基础课;教学方法

0 引 言

为提高大学生利用计算机解决问题的能力,全国高校普遍为理工科专业的低年级学生开设了C语言程序设计这门必修的公共基础课程。一方面,该课程是学生接触的第一门程序设计类课程,其编程思维的养成是一个较长的过程;另一方面,该课程具有内容繁多、知识点关联性强、算法抽象、实践性要求高等特点,学生在学习过程中易产生畏难心理,进而出现学习动力不足、积极性不高等问题。C语言程序设计是一门难学也难教的课程,目前在教学上普遍存在很多问题。文献对C语言程序设计的教学方法给出了建议,但都不够系统和全面。

1 C语言程序设计教学方法研究

1.1 理论教学

对于大多数课程而言,从宏观上将课程知识点及其关联讲授给学生非常必要,这便于学生更加系统深刻地理解所学内容。笔者以文献作为教材讲解C语言程序设计的知识点结构。如图1所示,知识点之间的关联可以层层细化,教师首先从宏观上给学生介绍C语言程序的整体组成结构(如图1一(a),然后针对图1.(a)中一个源程序文件的组成成分举例介绍,如图1一(b)所示。在图1一(b)中,教师对涉及的知识点进行归类,共包含预处理命令、数据类型、运算符、语句和函数等5部分,然后图1.(c)至图1一(i)依次层层展开上述各类知识点的组成,逐步细化。

从宏观上梳理C语言与程序设计课程的知识点是非常必要和重要的,这样可以避免学生“只见树木,不见森林”,最后只学到一堆零散的知识点,只有从宏观上把握各个知识点在知识体系中的位置和作用,才能学得深、记得牢。

对于程序语言课程,如果仅仅介绍语法的运用,学生往往对知识点理解不深刻。我们在教学实践中的体会是:在讲解C语言语法的基础上,适当地剖析编程语言在计算机中的运行机制,会让学生的理解更加透彻。因此,我们的课堂教学方法分为如下两部分。

1)课件讲解。

课件讲解包括两部分,即知识点要点总结和知识点运行机制剖析。知识点要点总结就是告诉学生该知识点如何使用;而知识点运行机制剖析则告诉学生该程序在计算机内存中的执行过程。由于绝大部分高校在开设C语言程序设计之前都会开设计算机文化基础等课程,因此学生有足够的计算机基础知识来理解C语言程序的运行机制。

2)实例演示。

作为一门编程语言,C语言需要在实践中理解和掌握,因此,课堂教学中,在具体的编程环境(如VC++6.0)下演示十分必要。通过在具体的软件环境下编程,告诉学生应该做什么和不应该做什么,并总结该知识点的注意事项。相比传统的脱离编程环境,只在PPT或黑板上进行板书的教学模式,该方法的教学效果要好得多。在课堂教学中,具体的教学步骤如下:①使用PPT或者板书列出该知识点的注意要点;②在编程环境(如VC++6.0)下演示该知识点的用法,给出正确的和错误的使用方法,并进行对比;③通过幻灯片动画或Flas等形式演示程序在计算机内存中的执行过程,让学生更加深刻地理解程序的运行机制。

3)教学难点与重点――“复合知识点”。

从C语言的教学内容来讲,数组、函数和指针是教学的重点章节,这些章节之间相互关联的部分又是重点中的难点,如数组和函数结合,数组名做函数参数,数组和指针结合,指向数组的指针变量,函数和指针结合,指向函数的指针变量等。在教学过程中要反复强调各个知识点的注意事项,如果基本知识点能够理解透彻,上述难点内容也就迎刃而解了。

1.2 上机实践教学

在实践教学中,教师可以通过实际教学案例循序渐进地强化学生对C语言知识点的理解。上机实践的教学内容通常分为两部分:基本知识点练习和综合训练。首先通过基本知识点的练习,让学生掌握该知识点的使用,即巩固课堂所学内容;然后通过一个综合性的大作业,训练学生综合应用C语言知识点的能力,例如,通过编写“学生课程成绩统计系统”考查学生对数组、结构体、指针、函数、文件等知识的综合掌握情况。

对于初学编程语言的学生,往往没有养成良好的编程习惯,出错的可能性较大,而出错之后进行调试又将耗费较长的时间,这势必对学生的学习热情产生负面影响。因此,一开始就给学生制定科学的编程步骤和规范,使学生养成良好的编程习惯,将大大减少程序出错的可能。在C语言教学实践中,我们总结了“五步编程法”:①定义变量,如“int a;”;②对变量进行初始化,如“a=0;”,对变量进行初始化操作是一种良好的编程习惯,可防止未对变量赋值而引起的隐性错误;③通过scanf语句赋值,如“scanf(“%d”,&a);”;④实现程序的主要算法,该部分是程序的主体;⑤通过printf语句将结果输出在显示器上,将结果输出在显示器上便于比较程序运行结果是否正确。

下面是按照上述五步编写的一个完整的C语言程序,用来比较两个整数的大小。按照上述五步进行编程,经过一段时间的训练之后,学生出现语法错误的可能性大大降低,此时学生更多的精力将集中在程序算法的设计和实现上。

1.3 考试形式

对于C语言程序设计的考核方式,我们采用知识点考核和编程实践相结合的方式。知识点考核偏重于C语言基本语法,用于检验学生对知识点的掌握是否全面,此项考核约占总成绩的40%;编程实践考核用于检验学生的实际动手能力,学生将在规定的时间内根据题目在机器上编程,此项考核约占总成绩的60%。为了实现知识点的考核,我们将考试与计算机二级C语言上机考试紧密结合,采用题库平台进行上机考试,学生直接在机器上答题并提交,知识点考核多采取客观题,如填空题、程序修改题以及读程序题等,编程题在实战编程中考核。C语言程序设计课程的重要特点就是实践性强,学习该课程的目的就是为了编写程序。因此从考试的角度讲,进行编程实践是最合适的方式,通过上机编程来考核学生的学习情况也是最公正和客观的方式。

2 C语言程序设计教学实践结果分析

中国矿业大学(北京)每年都有40多个班级同时开设C语言程序设计课程,因此该课程教学质量的高低将直接影响全校理工科学生对C语言的理解和掌握。中国矿业大学(北京)C语言程序设计教学团队经过长期的探索总结出一套行之有效的C语言教学方法,我们将上述方法在学校越崎实验班中进行了试点。如图2所示,采用上述教学法的越崎实验班的C语言程序设计课程考试成绩要明显好于其他班级,其中90分以上的学生占10.7%,80分以上的学生占总人数的53.6%。另外,学生的学习积极性比采用上述方法前得到明显提高,很多学生都对计算机编程产生了浓厚兴趣,实践证明我们提出的上述方法是行之有效的。

c语言程序设计篇2

关键词:案例教学;现场编程;分组教学

中图分类号:G642.3 文献标识码:A 文章编号:1674-9324(2012)05-0239-03

一、引言

程序设计类课程是大学生计算机基础教育的必修课,目的是培养学生的计算思维,培养学生利用计算机解决实际问题的能力。由于“C++语言”在工业控制领域应用较多而被选为理工类大学生的计算机语言程序设计课程,并安排在一年级学习。大学一年级的学生大多数延续高中的学习和思维方式,但是“C++语言程序设计”的学习方法和思维方式与物理数学都不一样,学生碰到了课程学习的第一个难题,教师必须引导学生转变思维方式尽快适应C++的学习。在教学过程中,我们发现“C++语言程序设计”与高等数学和大学物理等课程有明显的区别,高等数学和大学物理等课程偏重理论教学,而“C++语言程序设计”除了理论教学之外还有大量的实践教学,是一门突出实践性的课程。因此,在教学设计中应该突出培养程序设计基础理论知识的应用和动手编写程序,不能只关注知识点的讲解和检查,而忽视程序编写调试能力的培养。为此我们针对如何在程序设计中培养学生的动手能力,对“C++语言程序设计”这门课程的教学目标定位和教学方法选择进行了一些分析和研究,并应用于2010级的机械实验班的“C++语言程序设计”课程的教学实践中。

二、教学目标

人们在学习人类自然语言的时候,强调语言的语法是基础,学习的目标是和其他人进行交流。相应的,在学习“C++语言程序设计”时,C++的语法也是编写程序的基础,学习的目标是使用C++语言编写程序。而对于大多数大学生而言,C++程序设计语言和英语一样,是未来工作中的一个重要工具,因此,我们要告诉学生把C++语言当作工具来学习,强调实用性,不要过多地关注内部细节和繁杂的语法。在讲授基本语法之外,我们重点放在教会学生如何写C++程序,如何优化程序,以及学习怎么去学习C++语言的新领域。计算机语言的语法不是计算机语言学习的全部,一个熟练的BASIC程序员学习新C++语言的语法,也许只需要3-4个小时,但是要熟练使用C++这门语言,特别熟练使用C++的类库时,就必须认真阅读类库参考和相关的例程,并进行大量的上机编程练习。所以,在“C++语言程序设计”课程教学过程中,我们既要让学生知道常用的语法现象,又不能局限于C++语法的掌握。同时我们也充分认识到语言只是一种表达工具,自然语言亦是如此。程序设计语言可以用来表达需要解决的问题和解决问题的方法,但是方法本身不属于语言的范畴,要在其它课程中学习。例如:计算方法、数据结构等。学习语言需要实践,因而离不开对分析问题和解决问题方法的学习。但是初学者的目标应定位在编写小程序、解决简单问题。我们的教学目标是通过《C++语言程序设计》课程的学习,学生能掌握一些常用的经典算法和相应的例程。可是仅仅掌握这些经典算法和相应的例程是不够的,我们还希望通过“C++语言程序设计”课程的学习,让学生掌握从算法到程序代码的转化,使他们能够将一个实际问题,先描述为一个计算机算法,然后再编写相应的C++代码。同时强调“自顶向下”和“细分”的程序设计思想的培养,让学生充分了解任何看似复杂的算法,都可以分解为若干个简单算法的逻辑组合。所以任何一个题目,在编写代码之前,都要认真分析,分解成若干的小问题进行处理。

三、教学方法

1.案例教学。在以前,“C++语言程序设计”课程的教学围绕C++的基本语法知识来展开。而从本质上来说,计算机程序设计的最终目的是为了用计算机解决实际问题,因此“C++语言程序设计”课程的目的是培养学生的计算思维能力、创新能力和综合能力。要提高学生的学习“C++语言”的兴趣,就必须让学生亲生感受并体会C++语言程序设计的无穷魅力。而“案例教学”这种教学方法,改变了“满堂灌”C++语法的做法。通过一个有趣的案例吸引起学生的注意力,从而将学生的眼、手、脑全部调动起来,培养学生学习《C++语言程序设计》的兴趣。因此,我们在《C++语言程序设计》课程的课堂教学中采用案例教学法来组织教学。课堂教学以C++程序为主线,通过使用多媒体教学设备,在VC6.0的编程环境下现场演示程序的运行结果。在讲课过程中,将教学内容分为不同的几个主题,用C++程序设计作为贯穿期中的主线。通过对案例例题的分析,着重讲解C++程序设计的编程思想和编程方法,同时介绍相关的C++语言的语法知识。然后在机房上机实验的时候,教师针对学生在上机实际编程中的突出,进行有针对性讲解。通过案例法教学,教师在课堂上通过分析程序设计的原理和程序设计的过程,使学生一步一步熟悉C++语言的语法,学会应用相应的C++语句,进而培养学生分析问题和解决问题的能力。

2.当堂编程。在课堂上当堂编写程序可以让学生看到编写C++语言程序过程中所出现的各种问题,从而重点讲解用C++语言编写程序时要注意的细节问题。我们首先用PPT分析各种例题的关键算法、类的结构或函数定义,然后在VC6.0的编程环境中当堂编写相应的C++程序。教师一边输入代码,一边讲解代码的含义,同时要控制编程的节奏,使得学生能跟上教师的编程思路。在整个过程中,教师要时不时提出一些问题,与学生进行互动。在2010级机械实验班的《C++语言程序设计》的课堂教学中,我们从第一节课开始就实施了在课堂上当堂编写C++程序的做法,取得了很好的课堂教学效果。在课堂上当堂编写程序的时候,将教师良好的编写风格在不经意间传递给学生,让学生注重诸如如何命名标识、如何正确使用注释和换行。通过教学实践,我们发现教师在课堂上现场编写的程序比其他书本的例题,对学生的示范性更强,对学生培养良好编程习惯的作用更强。在课堂上现场编程对于教师来说也是一个重大的挑战,它要求教师能及时解决C++编程中遇到的各种问题,修改程序错误,并调试和运行程序。教师对于学生容易出错的地方,常常有意留些错误,然后让学生去分析错误,从而加深学生的印象,让他们知道碰到类似的问题如何处理。为了教学生如何正确调试程序,教师还要讲解VC6.0编译器常见的警告和错误信息,并告诉学生错误产生的原因和相应的处理办法。

3.程序调试。《C++语言程序设计》课程的学习中,影响学生学习积极性的最大难题是无法正确处理调试过程中遇到各种错误。例如学生编写的C++程序,编译时编译器报告了若干个错误,但是学生不知道如何修改;或者编译通过了运行的时候却出现死循环,但是学生也无法发现。一旦学生编写的程序经常不能正确运行,就会影响学生的学习兴趣,进而使学生失去学习《C++语言程序设计》课程的信心。所以,教师应该让学生学会常用的调试方法和步骤,并且鼓励学生主动和老师一起帮助其他同学调试程序,一起解决C++编程中遇到的问题。要解决C++程序在运行中所碰到的错误,正确的调试方法和手段是学生必须掌握的。只有通过使用正确的调试方法和手段,才能让学生在最短的时间之内找到程序中出错的语句及其原因。在VC6.0的编程环境中,学生要学会使用单步跟踪技术,熟练使用相应的快捷键,例如F9、F10、F11、Shift+F1等。并配合使用内存变量查看工具“Watch”和“Variables”等来查看相关变量的值,从而找到错误发生的原因。4.分组教学。分组教学是把学生分成若干小组,每个小组可由5~6名不同能力的学生组成,以小组合作的形式,在教师的指导下,通过组内学生的互助活动共同完成学习任务。分组教学与传统的班级授课制相比,有很多优越性。分组教学可以增加学生之间的互动交流,从而可以实现学生的优势互补。通过开展小组合作学习,有意识地培养学生的合作意识和合作,也能减轻学生的学习压力;通过互帮互学还能增强学生的自信心,促进全体学生的个性发展。在实验环节和项目设计中,采用我们分组教学的模式来组织教学。项目设计全过程基本上让学生以小组团队的方式独立完成,教师只是提供相应的辅导和监督项目的进展。经过了这种模拟实际项目开发过程的训练,不但可以提高学生学习C++的兴趣,培养学生的C++动手编程能力,还有利于培养他们探索精神和学习积极性。

综上所述,我们认为C++语言本身是一个软件开发的工具,在教学中应该将C++语言定位为一个通用软件开发工具,并且在教学过程中突出C++语言编程的实用性,注重培养学生实际动手编程的能力、分析处理问题的能力和自主学习的能力。我们也将此观点用于指导2010级机械实验班的《C++语言程序设计》课程的教学中,取得了较好的教学效果。

参考文献:

[1]陈福松.案例教学与创新型人才培养[J].扬州大学学报(高教研究版),2009,(05).

c语言程序设计篇3

【关键词】C语言程序设计;教学内容;教学手段;教学方法;教学改革

C语言是一种广泛使用的程序设计语言,它具有高级语言的特性与直接操纵计算机硬件的能力。因而,在当前许多高校中,C语言被列为程序设计课程的首选语言,成为了计算机专业的必修课程,也越来越多地被非计算机专业所采用[3]。然而在《C语言程序设计》课程的教学中,由于C语言概念比较复杂,规则繁多,同时在实践中又具有灵活多变运用,所以教师对于课程教学难易度的把握有困难,学生对于课程的学习与实践亦感到迷惑,甚至产生一些畏难心理[2]。作为实践性很强的C语言程序设计课程,它的学习有自身特点:光听只看是不够的,还必须加以练习,通过大量的编程训练,反复夯实语言的概念基础,并在实践中培养程序设计的基本能力,逐步理解和掌握程序设计的思维与方法。所以,C语言程序设计课程的教学重点是培养学生的实践编程能力,以程序设计为中心来组织课程内容。在笔者多年的教学实践中,针对《C语言程序设计》课程的难点与特点,在教学内容、教学手段、教学方法等方面做出了一些改革与尝试,收到了较好的教学效果。

1、教学内容的改革[1][3]

1.1课堂教学内容的改革

目前关于C语言的教材很多,内容主要包括数据类型、表达式、分支、循环、函数、数组、指针、结构体、文件的概念和应用以及指针和各种构造类型的混合运用、基本算法等。很多教材侧重于语言本身的理论体系介绍,而对于编程方面的介绍却相对较少,这样的安排虽然突出了知识结构的认识,但是也弱化了学生的程序设计能力和语言应用能力,而这些能力对于学生学好这门课程又恰恰是至关重要的。笔者在教学中,尝试以程序设计为向导,辅以编程应用,将案例和问题引入课堂,使学生尽快建立起程序设计的思想和方法,然后在这些框架上穿插讲解相关的语言知识。在前几次课中,简单介绍相关的背景知识和利用编程求解问题的过程,然后引入实例,在对问题的解决过程中介绍顺序、分支和循环3种控制结构以及函数的使用,使学生对C语言有一个大概的了解。然后深入讲解程序设计的思想和方法,并演示应用C语言解决问题。通过实例程序的引入来介绍语言知识,在每节课中介绍一些程序设计的方法、技巧以及编程中的常见错误,并设置练习题,鼓励学生多思考、多练习,提高综合能力,每章课程结束后, 设置综合性的习题,包括本章的综合以及从第一章到本章的综合,主要是程序设计题。学生要想学会并应用C语言进行程序设计,除了对程序设计语言了解外,更重要的是在实践中领会并掌握程序设计的基本思想和方法,要求学生从开始学习C语言起就试着编写程序,先模仿例题中的程序,然后尝试加以改写,循序渐进,最后能独立地编写程序来解决比较复杂的问题。

1.2实验教学内容的改革

C语言的教学特别需要重视实践环节,包括编程和上机实验。针对不同水平的学生,笔者在教学班中抓两头,学得好的学生鼓励给大程序,难一点的实验,学得一般的学生做基础性的题目。在保留基础性实验的同时,增加一些实用性强的、难度略大的实验,并组织学生讨论得出算法流程,然后上机编程调试。

按照实验指导书上的内容,每个实验内容以编程题为主,学生可以先模仿课堂案例操作,然后再做实验题,通过“模仿-改写-编写”三步曲的上机实践过程,在循序渐进的引导中逐步熟悉编程环境,理解和掌握程序设计的思想、方法和技巧,以及程序调试方法[4]。

实验题分为必做题和选做题,在实验过程中针对学生有问题的程序统一讲解,然后再选一个有错误的程序让学生自己找错误(开始一个月内的时间,让学生学会找到语法错误)。这样学生能力会提高很快,在后期发现逻辑错误,也会自己先找出,然后再求助老师。实验题量一次课(2节课)至少留6-8题实验。

2、教学手段的改革

运用多媒体技术辅助教学,是当前课堂上很流行的一种教学手段,因为这种方式包含的信息量大、丰富,学生学习起来感觉生动,提高了学习的兴趣,同时也能够优化教学过程。但是多媒体辅助教学的弊端也越来越被了解,比如不恰当的使用会分散学生注意力,甚至影响学生对主要问题的理解。所以将多媒体教学引入C语言程序设计课程教学过程中,必须要考虑到两者的特点与优势,取长补短,将传统教学与多媒体教学进行有机的结合。比如:对于C语言的概念性知识点如数据类型、变量类型、运算符、程序结构等,可以采用多媒体教学,通过课件的制作,既满足了课堂上演示的需要,也简化了传统教学大量板书的缺点。而对于程序的编写或案例的分析,就需要发挥传统教学的优势,更灵活的进行板书讲解、课堂讨论,使问题在师生之间的良性互动中得以解决。因此,教学中将各种手段如PPT、板书、现场编程并运行等多种手段有机结合,使得课堂教学达到最优化,如果条件允许尽量现场编程(或事先准备好的程序),学生可以学习教师的思路考虑问题,收到更好的效果,同时也能加快教学进度。

另外,利用网络资源的便利性,将大纲、电子教案、课件、练习题等放在网络上,方便学生随时查用学习,同时通过飞信、QQ、Email等网络交流手段与学生进行答疑、讨论等互动交流,从而扩展了课堂教学的空间。

赏识学生,注重学习兴趣的培养。在教学过程中,教师应运用多种信息技术适时的辅导,创设丰富的情境,发挥最佳效应,运用多种教学手段激发学生主动学习获取知识的热情。

c语言程序设计篇4

关键词:C语言程序设计;教学方法;教学手段

中图分类号:TP3-4

C语言是在国际上被广泛应用的计算机程序设计高级语言,受到很多大学的青睐,有不少学校将其作为第一门程序设计教学语言来进行学习。在我校C语言也是各理工科专业的公共基础课。但是,由于高职学生的基础不好,而程序设计课程逻辑性又很强,有不少学生不能很好地理解算法,编写程序也很困难,在教学过程中,出现了亟待解决的问题,对此,笔者结合自己在教学中遇到的问题,提出了相应的应对方法,以激发学生学习兴趣,提高教学质量。

1 教学目标的定位

教学目标作为教学活动中学习者要预期达到的学习效果,对教学活动起着导向、激励、调节、检测和评价的作用,有利于教学目的明确化,应用能力培养的具体化,是教学活动的出发点和归宿。通过对我院C语言程序设计的教学目标的改革,旨在提高学生的实践能力,培养应对信息化发展变化的良好素养。

2 教学内容的更新

2.1 从实际问题出发开展教学。C语言程序设计是一门逻辑性很强的课程,有的同学课堂上老师讲的也能听的懂,课本上的例题也能看明白,可是等到自己动手编程时,却不知道从哪里下手。他们所谓的听的懂看的明白,只是很肤浅的语法知识,而编写的程序或软件则是需要根据相关问题的实际需要结合相关的逻辑分析,编写语句控制程序的流程,如果没有深刻地理解C语言的语句的执行流程,是没办法编写程序解决相关实际问题的。所以笔者经常提醒同学,当拿到相关问题时,首先结合实际,思考解决问题的方法和步骤,然后再结合C语言语法语句编写相关程序。

2.2 注重实践环节教学。C语言是一门实践性很强的课程,光学不练、“纸上谈兵”是学不好C语言的。笔者在进行C语言教学时,讲解了相应的C语言语句语法等理论之后,都会根据相应的理论知识布置1-2个相应的同学们比较感兴趣的问题,让同学通过编程并上机运行调试求得问题的结果,来刺激同学们编写程序调试程序的兴趣,以此来提高同学们编写程序的实际操作能力。另外实验指导书,也是旨在让同学们逐步的由阅读程序、分析程序内容及结果、补充程序、程序改错慢慢过渡到能够独立编写程序,每一个实验所安排的内容都比较多,若仅靠课堂上有限的90分钟来完成所有实验内容几乎是不可能的。所以,我在每次实验之前都要求同学们对相应的实验内容进行提前预习,实验前完成对程序内容分析理解、有需要填充程序的提前结合题目要去及上下程序段意义完成填空、有需要改错的结合实际意义找出程序中的错误并在实验指导书上改正过来、有需要编写程序的提前在课下编写好程序等,在上机实验时,将补充完整的或改写好的或编写好的程序输入C语言编辑器中进行编辑、运行,这样在上机实验时只需要调试程序中的错误,找出错误的原因,然后对程序进行运行查看运行结果,用来检验实际运行结果与分析结果是否一致,这样不仅大大提高了课堂利用率,而且还锻炼了同学们分析问题、解决实际问题的能力。

2.3 注意提高学生调试程序的能力。在C语言程序设计中,调试程序是一件很重要的事。俗话说,“人无完人”,所以即使是比较优秀的程序员在编写程序时也难免会出错,而且还可能是那种最低级的语法错误,但他能快速的发现错误并改正,这是因为他们一般都具备相应的程序调试能力;而对于大多数C语言初学者在面对错误提示时,却无从下手,不知错在哪里,如何改正,这就是差别。笔者在C语言的教学中这样引导同学进行调试:

首先要求同学们按照教材上的程序实例进行原样输入,运行一下程序是否正确。如果能正常运行,再要求同学们在该程序的基础上进行试验性的修改,然后再运行一下程序对照一下看程序运行结果发了什么变化,并引导同学分析结果发生变化的原因,以加深同学们对所学知识点的理解。

有时还会引导同学们将教材中的正确程序改写成错误的程序,并上机运行,让同学注意查看出现的错误提示信息,并记下该信息,然后再将程序改写成正确的,并再次运行。不过要求同学每次只改错一个地方,目的是让同学能准确找出发生该错误的真正原因,避免因为改动过多,搞不清发生错误的真正原因;另外,要求同学们上机调试程序时每个人都带一个小本子和一支笔,当程序出现错误时,记下英文错误提示信息和解决相应错误的方法,用于积累调试程序的经验,避免以后编程时再犯同样的错误。同学们通过这样的反复修改、运行,就能够掌握相应的调试C语言程序的方法,找出C语言程序发生错误的原因及相应的修改方法提高修改错误的能力。

当同学们有了一定的C语言编程基础了之后,要求同学在不看教材的情况下,根据给定的实际问题完成程序编写、上机调试、运行,如果所编写程序不能正常运行,看自己能否找出错误原因并将其改正过来,使其能正确运行。这样经过多次练习,必然能提高学生的编程和调试程序的能力。

2.4 注意学生综合能力的提高。笔者经常鼓励同学可以先编写一些小程序,然后对多个相关小程序进行连接,形成一些稍大一点的程序,提高自己的综合解决实际问题的能力。鼓励同学在上机实践的同时多动脑、多思考,多了解并借鉴别人优秀的解题思路和方法,多看别人优秀的源程序代码,尝试着自己独立实现编程或者模仿着去实现编程,来提高自己的综合能力。

3 教学方法与教学手段的研究

3.1 多种教学方法的综合运用

对于C语言程序设计课程教学来说,相关知识点繁杂,概念多,理论抽象,学生不容易掌握,在授课过程当中,需要根据授课的内容和学生的具体情况,灵活地运用分小组讨论、任务驱动、案例式教学、启发式教学等多种教学方法,并适当的将多种教学方法进行有机结合,同时,也可以借助于多媒体和网络等现代教学手段使这些方法得以有效实施。

例如课堂上,不再采用教师满堂灌的陈旧教学方式,在新课教学时,合理采用任务驱动法:先提出待解决的问题,再引导学生分析问题找出解决问题的相应方法和具体步骤,之后再结合C语言语法给出源代码,并对源代码进行分析,再将新知识点引出,对知识点进行讲解、强调,最后再留给学生一些相应任务,学习小组经过讨论、研究,将任务完成,达到巩固知识点的目的。新的授课方式使同学们更易接受,更为直观形象,而且同学们可以直接参与问题的分析与讨论,同学上课的积极性得到很好的提高,上课质量和课堂效率得到很好的保障。

3.2 采用多媒体教学

现代社会是个多元化的社会,原始的三尺讲台,一面黑板,一支粉笔的教学方式已远远不能满足现在多元化信息社会的需要,现代的课堂教学需要根据学生的理解和接受能力,借助于多媒体课件进行演示、讲解,能更加形象更加直观地对问题进行分析进行讲解,同时对同学们的多个器官进行多方面的刺激引起学生更浓厚的兴趣,并且还减少了板书时间,使课堂效率得到更有效的提高。

3.3 课堂教学与网络教学相结合

在90分钟的课堂教学中,给予我们的时间毕竟是有限的,并且课堂知识点相对来说比较凌乱繁杂,在一堂课中这么繁琐的内容要求学生仅靠课堂90分钟就能熟练掌握是不太现实的。因此,我们可以借助于精品课程网站,将电子课件、教学大纲、经典程序、经典算法、练习题和解答等资料上传至精品课程网站这个平台,供学生复习、巩固和自学,这样就可以使学生利用网络教学这个公共平台查找自己所需要的相关信息,并且还可以使学生养成主动学习的好习惯。

参考文献:

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

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

[3]陈国章.TurboC程序设计技巧与应用实例[M].天津:天津科学技术出版社,1995,5.

c语言程序设计篇5

关键词: C语言; 程序设计; 教学改革; 课程建设

中图分类号:G420 文献标志码:A 文章编号:1006-8228(2014)11-46-03

Exploration of educational reform of C language programming course

Yao Lixin, Lang Hongtao

(School of Information Technology, Qingdao University of Technology, Jiaozhou, Shandong 266300, China)

Abstract: As a primary course of programming, C language programming is quite difficult for freshmen. In order to deal with it, Qingdao Institute of Technology launched an educational reform project. All the members of this project have conducted continuous exploration and practice during the past few years. The educational team and teaching materials are established. The content and the method of teaching are elaborated. The specific approaches of experimental teaching and reform of examining system are introduced.

Key words: C language; programming; educational reform; curriculum development

0 引言

当前,计算机已经成为人们工作、学习和生活中必不可少的工具,整个社会对计算机的高度依赖促使一个崭新的文化形态的形成――计算机文化。随着高等教育从精英教育阶段进入大众教育阶段,教育部高等学校计算机科学与技术教学指导委员会在计算机基础课程教学基本要求中提出了1+X的课程设置方案[1],理工类学生在学学计算机基础课程后,接下来就要学习C语言程序设计,C语言程序设计已经成为各高校普遍开设的基础课程。本文总结了我们在教学改革和实践中的一些做法和体会。

C语言功能强大,使用灵活方便,应用面广,可移植性好,兼有高级语言的优点和低级语言的特点[2],这也使得初学者较难学习和掌握,在教学中我们发现,学生往往对编程解决实际问题感到困难,不知从何下手,而一些考试题目往往重视考查语法的细节,而对编程能力考查得不多。对于C语言程序设计的教学,我们从培养学生的兴趣和能力,以及计算机思维能力出发,进行了一系列教学改革的探索与实践。

1 教学师资团队建设

人才培养师资队伍是关键,教学团队的建设是保障教学效果和实施教学改革的基础和支撑[3]。根据本课程的特点和大一学生的基础,学院确定了一支老中青相结合的骨干教师组成本课程教学团队,团队由一位教授、一位副教授、四位讲师和三位助教组成,分别承担理论教学和实验教学任务,这支队伍年龄、职称结构合理,团队中的教师在每学期的教学督导和学生评教中,成绩都在良好以上,从根本上保证了课程的教学质量。

坚持教学团队的凝聚力建设,定期研讨,统一思想。每周教研时间及时交流教学中出现的问题及解决方法,对教学过程进行总结反思,坚持互相听课,集体研究讨论教案、课件制作,对每个实验内容、案例的选用、考核的内容和方式等都经过团队的统一讨论确定。

重视教学团队中教师自身的进修和提高,团队中的多名教师先后参加了国家精品课程师资培训、全国高等学校计算机实验与实践教学研讨会、全国高等院校程序设计精品课程教学专题研讨会等,教师都很珍惜每一次与兄弟院校的教师、专家交流与学习的机会,教师及时把学习体会传达到团队的每一位教师,汲取其他院校的一些好的做法运用到我们的教学实践中,这些做法对促进教师的知识更新、教育理论的学习、教学方法的改进和教学能力的提高起到积极的作用,也保证了课程的教学改革能不断向前推进。

2 教材建设

C语言程序设计作为第一门编程语言课程,目前几乎所有高等学校理工科专业都在大一第一学期开设此课程。C语言简洁、紧凑、灵活,数据类型丰富,功能强大,灵活和复杂对初学者来说是难以掌握的,而原有的一些教材大多是针对计算机相关专业的学生,而且是在学习了一些计算机基础的相关课程后再学习此课程的,起点相对高,内容全面、有一定的深度。但是对本科低年级初学者来说并不适用。鉴于此,我们从2009年开始着手编写教材和实验教材,从我院人才培养目标和学生的实际情况出发,注重实践及应用,试用后于2011年出版,并于2013年修改再版,新版教材已列为十二五规划教材。作为适用本科低年级学生初学程序设计及C语言的教材,以掌握C语言基本语法、培养程序设计思维、提高上机实践能力为目标,旨在以简单明了的语言和简洁实用的例子,阐述C语言的基本语法和程序设计的基本逻辑思路。C语言的语法及使用有很多灵活和复杂的方面,对初学者来说往往难以全面掌握,所以我们只对主要的适合初学者入门的知识点进行讲解,其目的是通过C语言的学习与实践,培养学生程序设计的抽象逻辑思维能力,掌握动手编程上机实践的技能[4]。程序设计的抽象性往往使学生望而生畏。选用简单实用的例题,目的是让学生能尽快入门,并对程序设计产生兴趣,能体会到编程和调试的乐趣。

3 优化教学内容,改革教学方法,丰富教学手段

3.1 优化教学内容

对于课堂教学内容的取舍,教学团队首先从指导思想上达成共识,就是重点是编程的逻辑思维的培养,分析问题、解决问题能力的培养,而不是解释语言本身的语法细节,据此来优化课堂的教学内容。对于编程能力的培养,从具体的问题分析,特别是从贴近学生生活的实例出发,进行类比,转化,进而同化到学习者自身的已知范畴中,这也符合建构主义[5]关于学生是如何学习的理论。对于语法规则,通过实际的调试程序、验证性实验等方法,使学生有更直观的感受,印象也更深刻。我们对教学大纲进行反复讨论修订,通过教学大纲贯彻教学改革的指导思想。

3.2 改革教学方法

在课堂教学中采用任务驱动、案例教学、类比教学等启发式教学方法,从一个具体问题出发,引入要讲的概念和知识点,使得学生掌握解决类似问题的方法,注意启发学生与以前所用的方法进行比较,并在此例的基础上进行扩充,改变条件等,渐进式的展开,不断滚雪球似地拓展,学生比较容易接受,不断与已经掌握的知识进行同化。

针对下次课要讲的内容布置学生预习,每次课前鼓励学生就预习的情况作讲解,可以是预习收获,可以就疑问提问,坚持了教师为主导学生为主体的理念,训练学生自主学习的能力,对于学生自学能掌握的问题不讲或精讲,重点放在难点问题上。

建立小组学习模式,培养学生自主学习、合作学习的能力。让学生自由结合组成学习小组,3-4人为一组,每名同学轮流任组长(每月轮换),负责本小组本课程的学习讨论,上机、作业、考勤等,给每个学生同等的锻炼机会,促进后进学生提高学习的积极性,形成互帮互学共同进步的良好学习风气。

3.3 丰富教学手段

课堂教学中综合使用PPT课件、程序演示和板书等教学手段,语法规则以PPT课件为主,问题分析,算法设计辅助板书,程序验证直接运行,直观看结果,章节的开始有提示,结束有小结。避免了单纯PPT课件教学易使学生疲劳并产生课件依赖的现象,提高学生积极参与课堂教学的积极性,发挥学生学习主体的作用。

加强精品课程网站建设,充分发挥网络教学的作用。本课程已经建成为学院的精品课程,利用校园网的平台,培养学生自主学习的能力。课程网站上有丰富的教学资源,有教学大纲,电子教案,教学课件,教学视频等,实现了网上答疑,还建有论坛社区,方便师生之间的讨论交流。

组织程序设计竞赛,培养学生对程序设计爱好和实际能动性。通过每年选拨优秀学生参加数学建模比赛、ACM程序设计大赛,组织有兴趣的学生积极参与,并加以指导,培养了学生对程序设计的爱好,提高了学生解决实际问题的能力。

4 加强实验实践教学,适时安排课程设计

4.1 加强实验课的教学,培养学生实际动手能力

为加强实践教学,独立设置了C语言程序设计实验课程,每周2学时实验课,平时实验室开放,学生可以在课余时间进行上机练习。强调理论与实验并重,在实验内容上安排一些基础性的验证型实验,作为必须完成的项目,帮助学生理解掌握基本的知识点,培养学生动手能力。在此基础上布置一些具有一定难度的题目,面对能力较强的学生,提高他们的综合设计能力。

实验课后学生要撰写实验报告,实验报告内容包括以下几个部分:

⑴ 实验内容;

⑵ 算法描述(要求按照规范画出流程图);

⑶ 源程序代码(注意代码风格,必要的注释);

⑷ 测试及运行结果(包括几种算法讨论);

⑸ 调试过程(遇到的问题及解决办法);

⑹ 收获体会。

对于大学低年级的学生,通过编写、调试程序,撰写实验报告,对于培养他们严谨科学的工作作风、锻炼科技论文的写作能力都起到了积极的作用。

实验课程考核为考查,综合实验出勤情况,实验报告情况和完成实验的情况以及期末综合编程的完成情况评定成绩。

4.2 适时安排课程设计,培养学生创新意识

在学完本课程后在相关专业开设C语言程序设计课程设计课程,本课程是实训类课程,时间为一周,通过多名学生合作完成一个相对比较复杂的课题。锻炼学生的分析问题、解决问题的能力,培养学生团队协作精神,使学生了解软件开发流程、代码和文档编写规范,提高编程能力和创新意识。

课程设计的选题很重要,教学团队经过讨论精选出一些具有一定难度但可以通过学生努力完成的课题,并鼓励学生自选题目,提出切合实际应用的课题,写出分析和需求报告,有指导教师共同讨论通过,自选题目有加分奖励。如有的小组就结合学生实际生活,设计学生综合评测系统,解决他们学习生活中的实际问题,提高他们课程设计的兴趣和完成后的成就感。

在课程设计的过程中,按照正规软件开发的流程和步骤,每一个步骤完成都要提交相应的文档,最后完成时提交程序代码和完整的文档。小组成员有明确的分工,以自主设计为主,指导教师检查每个阶段的成果,并及时给予反馈意见,对难点问题通过讨论引导学生自行找到解决的办法。

课程设计课程的考核采用小组答辩的形式,每个课题由一人主要汇报演示讲解,其他成员都要求回答问题,这样既锻炼了学生的表达能力也避免了不自觉学生跟风搭车现象。

5 改革评价体系,面向实践和应用,注重过程评价

改变过去期末笔试的考核方式,全面考察编程能力、调试程序能力,推行考教分离,注重过程考核。最终成绩由平时成绩和期末考试成绩两部分构成。平时成绩由平时测验、出勤情况,作业情况,讨论发言情况等确定,期末考试采用的是无纸化网上考试系统,由系统从题库中随机组卷,以编程题为主,重点考察学生的编程能力和程序调试能力,成绩由系统自动判定。避免了过去那种靠期末突击、死记硬背侥幸过关的现象,保证了考核的客观公平,也对学生的平时学习和课堂管理起到了积极的作用。

6 结束语

在C语言程序设计教学改革的实践中,我们不断总结,不断地实践,目前已经形成了C语言程序设计、C语言程序设计实验、C语言程序设计课程设计三位一体的课程群,并且与后续的C++程序设计、Java程序设计、数据结构等课程建立了程序设计基础的课程体系,在课程建设、内容优化、资源共享等方面进行通盘考虑。C语言程序设计课程的教学改革与探索方兴未艾,我们还要继续完善和深化以上的一些做法,不断跟踪其他兄弟院校的成功做法,借鉴他人的经验,努力探索适合应用型人才培养目标的课程教学体系,把课程建设教学改革继续推向深入。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会.关于进一步加

强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求[M].高等教育出版社,2006.

[2] 张彩霞,漫谈C语言编程[J].太原大学教育学院学报,2009.1.

[3] 王文.地方工科院校师资队伍建设探析[J].高等工程教育研究,

2012.6.

[4] 姚立新,梁宏涛.C语言程序设计[M].电子工业出版社,2013.

c语言程序设计篇6

关键词:比喻法程序设计教学多媒体课件

随着现代化进程的加快,学校的教育设施也得到了飞速的发展,笔记本电脑和多媒体教室被广泛应用,大多数教师在教学过程中更倾向于利用已经设计好的多媒体课件进行教学,却忽视了在整个教学过程中运用形象生动的比喻法。

所谓比喻法,是常用的一种修辞方法,就是利用两种不同类的事物之间的某些相似的地方,以形象的事物作喻体去描述一个抽象的事物,它能化平淡为生动,化深奥为浅显,化抽象为具体。“精彩的比喻就像童话中的魔棒,碰到哪里,哪里就会发生神奇的变化”。在教学过程中,学生经常会碰到某些课程的理论性强,枯燥、难懂,不容易掌握。如果教师通过比喻教学,把内容和现实中非常接近我们的事情联系起来,可使学生较好的理解某些比较抽象的知识内容,以便他们能进一步掌握并能应用这些知识、原理来分析、解决某些相关的问题。

笔者就以计算机专业必修课《C程序设计语言》课程为例,结合自己的教学心得,谈谈如何用比喻法开展教与学的活动。

在一般高校都把《C程序设计语言》课程设置在大学一年级,主要面向新生,新生本身对大学的适应就需要一个过程,再加上C语言牵涉的概念复杂,规则繁多,目前各高校在C语言程序设计课程教学模式上仍采用传统的教学方法,导致学生刚接触C语言就觉得抽象、深奥,使用起来不得心应手。如算法概念、顺序程序设计、选择程序设计、循环程序设计,指针等知识更考验着学生的思维和耐心。

典型案例1:程序的灵魂――算法

[案例呈现]算法的概念是什么?

[分析]在《C程序设计》教学中,最大的困难正是对一些抽象的理论和概念的理解。算法是为解决某一问题而采取的方法和步骤。在教学中,我做了如下的处理,充分应用比喻的魅力,达到较好的教学效果。

打个比方,厨师制作菜肴,需要有菜谱。菜谱上一般包括使用的配料和用这些配料按规定的步骤加工出不同风味菜肴的操作步骤。没有配料是无法加工成所需菜肴的,面对同一些原料可以加工出不同风味的菜肴。设计一个好的程序,就像是做一道美味的菜肴,既要用到类似于配料的数据结构,又要有类似于做菜步骤的算法。没有数据结构是无法制作程序的,面对同一些数据可以设计出不同的程序。可见,算法从广义上来讲,就是操作步骤,就是为解决一个问题而采取的方法和步骤。当然我们学习计算机,关心的是计算机能解决的算法。

如著名数学家华罗庚“烧水泡茶”的两个算法。

算法一:烧水――水烧开后,洗刷茶具――沏茶。

算法二:烧水――烧水过程中,洗刷茶具――水烧开后沏茶。

大家可以看到这两个算法的区别在什么时间洗刷茶具,因为第二个算法应用了“统筹方法”,节约时间,所以效率更高。可见为了有效地进行解题,不仅要保证算法正确,还要用到科学的方法,考虑算法的质量,选择合适的算法。

算法的概念及特点如果只凭老师反复讲述定义,学生只会听得昏头昏脑,索然无味,教学效果很差。而比喻教学法的应用,可以使抽象的知识变得形象化、趣味化,起到“一语道破天机”的作用。

典型案例2:C程序设计的三种基本结构及各自的语句分析

1.顺序结构

顺序结构是C程序设计中最简单的一种基本结构。它就像人的一生,从出生、长大、上幼儿园、小学、初中、高中、大学、工作、结婚生子,再到“夕阳无限好,只是近黄昏”。顺其自然、顺顺利利度过一生。

2.选择结构

它就像在人的一生中会遇到的好多选择,有人生道路的选择、世界观的选择、事业的选择、爱情的选择,等等,但任何的选择都需要当前实际条件的成立。例如,考大学,假设成绩大于500分就考上了,否则未考上。此结构中必包含一个成绩大于500的判断框,根据给定的条件是否成立而选择执行“考上”或“未考上”。

if(成绩>500) printf(“考上”);else printf(“未考上”);

3.循环结构

循环即周而复始,花开花谢,月圆月缺,循环无尽。人生像生老病死就是一个循环不息的过程。我生病了,医生叮嘱我每天吃药,连续吃7天病就好了。很显然吃药是每天必做的事情,也是必循环的事情,7天后就可以不吃药了(如图所示)。在不少实际问题中有许多具有规律性的重复操作,因此在程序设计中就需要重复执行某些语句。一组被重复执行的语句称为循环体,能否继续重复,决定循环的终止条件。所以循环语句是由循环体及循环的终止条件两部分组成的。循环语句是最能体现计算机解决问题优越性的语句。

While(天数

可见,这种利用一个个发生在身边的实例做比喻,再加上理论讲解相结合的方法,使学生能感性地理解循环。

在《C程序设计语言》课堂教学中,尝试用比喻的方式来剖析计算机教学中的概念,选用恰当的生活事例,用已知来发掘未知,提高教学效果,增强学生学习的兴趣,是一种非常有效的教学方法。但是,运用教学比喻,并不是以粗浅的事例代替科学精准的理论,更不是用随便的玩笑代替细致准确的讲解,而是要求我们紧扣教学目标和要求,把握物理概念的本质和特点。根据具体问题,做到言之有理,言之有物,言之有据。《学论》中说:“君子之教,喻也。”作为教师,在日常教学中,一定要认真钻研教材,准确把握所教学生的思维水平和特点,从日常生活和学生已掌握的知识中找到恰当的比喻,运用比喻的时机和技巧,使课堂妙喻精彩纷呈。

参考文献:

[1]顾建东.生活:程序设计教学的本质回归[J].中国教育信息化.

[2]盛美勤.让比喻这一古老的修辞焕发新的教学生命力[J].中国.

[3]许文芳.类比法在《C语言程序设计》教学中的运用[J].电脑知识与技术.

c语言程序设计篇7

关键词:C语言;教学;程序设计

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)21-5137-02

进入21世纪以来,随着我国市场经济的不断发展和深入,越来越多的人投入到计算机这个新兴的、高速发展的行业中来,编程领域已经成为我国国民经济中极富有生命力和创造力的重要行业之一。但是我国的C语言程序设计发展水平和C语言的教学水平与国外相比还比较低,对提高C语言程序设计教学的有益性的认识与发达国家相比还有很大的差距。该文主要通过分析C语言编程技术在程序设计的教学中所具有的优势与劣势,对其应用过程中所产生的问题进行阐述,进而对其应用的意义进行分析,以求使更多的学校能够加入到C语言程序设计的教学大军中来,以使C语言程序设计教学能够更好的发挥优势。

1 C语言程序设计教学简述

1.1 C语言程序设计的步骤

程序设计的五部分:1)分析问题。确定输入和输出的数据的描述和表示。即确定数据结构。2)设计算法。确定某个问题由多少个步骤完成。即确定算法。3)编码。用计算机语言编写程序代码,即编程。4)调试程序。消除逻辑错误和语法错误。5)整理并写出文档资料。

1.2 C语言程序设计的注意事项

符号命名要有含义,必须便于对程序功能的理解。在源程序中,极功能性注释。书写代码,在一行内只写一条语句。编写的程序应优先考虑清晰性,除非对效率有特殊的要求。首先要保证程序的正确。然后才要求提高速度。输入数据时,最好使用结束标志。(如回车\n)输入与输出要有提示语句。不要修补不好的程序,要重新编写。

1.3 C语言程序的三种基本结构

1)顺序结构

先执行A,再执行B。一串指令严格地按照某一个序列依次向下执行先……然后……再……最后。2)选择结构

存在某条件P,若P为真,则执行A,否则执行B。

3)循环结构

当循环条件P成立时(T) ,则重复执行语句A,当循环条件P为“假”(F)时,则终止循环.

1.4 C语言程序构成格式的设计

C语言程序规定必须用main作为主函数,main函数后的对花括号不能省略。一个C语言源程序文件中可包含任意多个不同名的函数,但有且只有一个主函数(main函数)。一个C程序总是从main()函数的第一个“{”开始执行,至main()函数的最后第一个“}”结束。每个函数都必须有一对“{”和“}”,左“{”表示开始,右“}”表示结束。每条语句都要以“;”结束,分号是C语言语句的一部分,不是语句之间的分隔符。注释以“/*”开始,以“*/”结束。(一个好的源程序应该有详尽的注释)。其中,注释不参与程序的编译,不参与程序的运行。

1.5 C语言程序设计的书写规则

C语言的书写格式自由。一行内可写多条语句,一条语句也可分写在多行上。C语言没有行号,每条语句和数据定义的最后必须有一个分号。注:程序的最后也应包含一个分号为了保证程序的准确性和可读性建议在书写程序时,应釆用阶梯缩进格式。C语言规定。可以在语句中的任何一个分隔符或空格处换行。即一行写不完时,可以在任何一个空格处换行。

2 C语言编程技术在程序设计的教学中所具有的优势

2.1简单

与C++等语言相比较,语法上的C语言是简单的,这是因为其垃圾回收机制与异常捕获机制使其代码的复杂性大大降低。因此学校的教学人员不需具备较为复杂的计算机知识,就能更加容易的编出准确的、符合教学所需要的程序,因而在面对学生的教学时也就能够做到使更多的人容易学会C语言。

例: # include < stdio.h >

main()

{

char ch1, ch2;

ch1=‘A’;

ch2=‘a’;

ch1=ch1+32; ch2=ch2+3;

printf(“%c %d%c %d\n”, ch1, ch1, ch2, ch2 );

}

结果:a97d100

2.2 C语言运行速度较快

由于C语言的编译原理较为简单,因而其运行时的速度在所有高级的编程语言中效率时最高的。因此在学生进行实际的编程过程中,能够在课堂上及时的检测自己的程序是否会出现相应的问题,这样运行速度较快的语言的编译在课堂教学中能够节约更多的时间,使教学结构更加紧凑。

3 C语言编程技术在程序设计的教学中所具有的劣势

3.1关于函数的学习内容较为繁琐

函数:一段可以被反复执行,功能单一且独立的程序段.(一段子程序)。功能:用于完成特定的任务或功能,并根据需要返回一个确定的状态值。我们把这一段程序或子程序称为一个函数,也称之为一个模块,把分模块的程序设计称为模式块化程序设计(特点:自顶向下,逐步分解)。但是由于其具有的多种类型及相对复杂语法,因而在教学中相对较难。

3.2学习周期较长

C语言的学习主要要学习的内容分为:C语言词法、输入与输出、程序设计、循环结构、数组、指针、函数几个部分,由于其内容相对较多,因而在实际的教学过程中需要一个较长的周期。

4 C语言程序设计教学的有益性

C语言教学在学校教学的总体成本中占有不小的比重,对学校的计算机教学来说是一个非常重要的组成部分。因而将C语言技术更好的融入教学,对于学校计算机教学的长远发展,有着重要的意义。

4.1降低教学成本,提高学生学习的积极性

由于C语言的运行所需的计算机的配置不需太高,因而在无形中为学校的设备开支省下了很大一笔费用。又由于C语言是所有编程语言教学的基础,因而其相对简单、有规律性的词法能够使得更多的学生在学习中不会感到太过吃力,因而在学有余力的时候能够激发兴趣进行进一步的、深入的学习。

4.2提高了学校计算机教学的质量和总体竞争力

C语言的教学水平的高低直接影响着学校计算机编程语言教学的水平,进而影响其教学的质量。而C语言程序设计教学水平的提高标志着整个学习编程语言教学的基础水平,因而加强其教育,能够更好的彰显学校的编程语言教学水平。

4.3使学生学有所用

无论教学的内容如何,最基本的一点还是应该以让学生学到知识为前提。因为如果学者没有应有的基础知识,无论什么样的教学方法改进都是妄谈。而C语言的教学不是一个教学的断层,而是一个编程学习的基础,因而进行C语言程序设计的学习后,学生能够有更多的机会进行深入的其他语言的学习。并且在以后的生活、工作中,C语言的运用十分普遍,这有利于学生将所学的知识更好的学以致用。

5结束语

C语言程序设计的教学促进了我国计算机编程语言的发展,更促进了新的计算机编程语言的形成。C语言的教学也使得更多的学生以此为基础,能够更好的进行深入的其他语言的学习。

参考文献:

[1]李敏文.C语言程序设计教学的有益性的分析与设计[J].邯郸职业技术学院学报,2007(2) .

c语言程序设计篇8

关键词:C语言程序设计;案例教学;任务驱动

C语言是通用的计算机程序设计语言。许多职业学校,在高职学生和中职学生中都开设了《C语言程序设计》课程。学习程序设计必须具有语言、算法、数据结构和程序设计的方法等方面的知识,而C语言本身又比较复杂,较难掌握,所以《C语言程序设计》的教学内容理论性较强,学生容易产生厌烦情绪。C语言教学一般以Turbo C为主,Turbo C的调试环境不是可视化的过程,这在客观上造成了学生掌握C语言程序设计知识的难度。在职业学校中,《C语言程序设计》的授课时数一般为76课时左右。通过对我校高职计算机专业学生的观察和调查,学完C语言后能熟练掌握、灵活运用的学生为5%左右,基本掌握的学生为25%左右,大部分学生只能是应付考试,甚至还有5%的学生采取放弃的态度。为了改善C语言的教学状况,使学生能真正掌握这门课程的知识,有必要依据学生的层次及所选的专业对《C语言程序设计》的教学内容、教学方法等方面作一些探索。

依据培养学生的目标,合理调整教学内容

中职层次中等职业教育的目的是培养生产一线应用型人才,着重培养学生的学习能力、就业能力、工作转换能力和创业能力。中职学生的学习基础差。所以,如果在中职学生中开设《C语言程序设计》的课程,则必须考虑中职学生的学习基础,并依据中职学生的培养目标,适当降低理论知识的难度和深度,教学内容力求浅显易懂。以谭浩强主编的《C语言程序设计》一书为例,以76课时为总授课时数,一般要求学生掌握程序设计的三种基本结构、数组、函数等内容即可。对于其中过繁过深的例题、习题可省略,如“用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根”之类的题目。对于重点、难点的教学内容必须进行详细讲解,如“选择结构中的闰年的判断”、“循环结构中的素数的判断”等经典例题必须设计易于学生接受的教学方法,使学生消化吸收。强化练习也不能缺少,但也不能搞题海战,要巧设计(题意新颖有趣,贴近实际)、巧安排(当学生跃跃欲试之时布置题目最有效)。总之,教学目的是使学生真正掌握并力求能熟练灵活运用教师所讲授的知识内容。

高职学生高职教育着重培养具有实际工作能力的技术型和应用型人才。高职学生一般比中职学生学习基础都要高一个层次。所以,高职学生对知识的理解力相对也要强一点。因此,除了每堂课的容量要增加外,教师还需要有意识地留一些知识点给学生自学,以培养他们自主学习的能力。其次,教学内容也应有所增删,尽量使教学内容多和实际的程序设计相联系。对于一些经典例题要讲清所采取的解决方法,如“小猴吃桃”问题,必须讲清“递归”方法及“递归”问题中“回推”和“递推”的两个阶段,并且还要讲清如何设计结束“递归”过程的条件。根据实际教学经验,同样以谭浩强主编的《C语言程序设计》一书为例,以76课时为总授课时数,一般高职学生能掌握:程序的三种基本结构、数组、函数、指针、结构体、文件等内容。当然,对于计算机专业的高职学生还必须掌握更深层的知识内容,并且要求学生参加国家二级C语言程序设计等级考试。

以激发学生的学习兴趣

为目的,改革教学方法

传统的《C语言程序设计》课程的教学是以课堂为中心的满堂灌,其中上机一般占30%左右。《C语言程序设计》的授课一般以Turbo C为主,Turbo C的调试环境很不直观,使学生不容易理解。因此,尽管C语言有实用价值,但生涩的教学内容,不易引起学生的学习注意,如果不讲究教学方法,则难以达到课程的预期目标。为了改变这一状况,教师必须利用现有资源重新整合教学内容,改进单一、乏味的教学方法,力求显现在学生面前的知识有趣而生活化,以提高学生的学习兴趣及学以致用的能力。案例教学法、任务驱动式教学法等都是当前比较受推崇的教学方法,代表着先进的教学理念,但并不等于适合任何一门课程的教学,必须加以革新后才能应用到具体的教学过程中去。

采用案例教学法,激发学生的学习兴趣所谓案例是指那些在日常生活中较能典型地反映教学内容的事例。一般的课堂举例并不等同于案例教学。案例教学是指在教学过程中,引导学生对案例进行剖析研究,使学生能由特殊归纳一般,掌握知识内容,从而达到教学目标的教学方法。教师在准备案例的过程中,首先要确定哪些是要学生掌握的知识点,然后再精选能够说明、反映这些知识点的案例。在案例的设计中要不拘一格,巧妙使用可视化的程序设计语言或Flash动画设计软件。不要拘泥于C语言的语句格式,而要注重案例的生动、形象,能否真正激发学生的学习兴趣。只有激发了学生的学习兴趣,学生才会自觉、主动地记忆C语言的语句格式。如在讲授选择结构中的多路选择结构时,利用VB程序设计语言设计一个红绿灯自动变化(红灯:2秒;绿灯:3秒;黄灯:1秒)的案例,使学生掌握多路选择结构,更主要的是使学生了解多路选择结构的用途(如表1所示)。实践表明,在案例教学的过程中,学生兴趣高,教学容量大,知识点的前后联系紧密,学生对通过案例教学的方式传授的知识点印象深,能灵活运用。

应用“任务驱动”教学方式,提高学生分析问题和解决问题的能力在《C语言程序设计》的教学中,当传授完一个知识点或知识结构时,为了使学生能灵活运用,经常会采用再现式教学。如何将再现式教学转变为以解决问题、完成任务为主的探究式教学呢?答案是采用“任务驱动”式教学方法。所谓“任务驱动”,就是学生通过完成教师布置的任务,建构真正属于自己的知识与技能。其中的任务既蕴含了学生应该掌握的知识与技能,也蕴含了学生应该获得的能力训练。学生完成任务的过程,是一个不断提出问题、解决问题的过程。如在复习选择结构时,可以借助Flash动画制作一个模拟“打火机的点火效果”,其中火苗的出现与否即让按钮实现点火的功能,就可以利用Turbo C程序设计中的if条件语句来实现。在教学过程中以问题为导向,并引导学生解决问题(如表2所示)。

在教学过程中还有很多有效的教学方法,如展示型教学、拓展式教学等,教师要结合实际情况灵活运用。

在当今的信息社会中计算机的应用非常广泛,各行各业需要不同层次的计算机专业人才。所以,学校在进行计算机教育中应依据培养目标提出不同的教学要求。对于每一个学习计算机知识特别是C语言的学生,都有一个由浅入深、逐步提高的过程。教师在这个过程中必须激发学生的兴趣,更新教学理念,充分利用、整合各种教学资源,注重教学方法的探索,真正使C语言这门课程成为学生学习其他计算机知识的基石。

参考文献

c语言程序设计篇9

关键词:高职;c语言程序设计;教学改革

0 引言

c语言程序设计课程是高职计算机类专业的核心基础课,也是电类相关专业的专业基础课,对后续课程的学习起着举足轻重的作用。学好c语言程序设计课程也会增强学生的学习自信,但是该课程传统的教学效果不尽如人意,学生第一次上课时会满怀信心,可随着c语言各种数据类型、语法规则的不断呈现,以及c语言本身的灵活、语法限制不严等特点,使多数学生逐渐失去学习的信心,最终的结果是大家一致反映c语言难学,学不会,只有一个办法:放弃。对于高职院校来说,c语言程序设计的教学已到了非改不可的地步。因此,如何改便值得我们研究与探讨。笔者从教与学两方面分析问题,探讨解决问题的办法,并进行相关实践,取得了一定的改革成效。

1 问题分析

我们从教与学两方面进行分析,主要有以下几个问题:

(1)教学内容不能满足学生后继课程学习的需要。长久以来,该课程的教学多数选择谭浩强教授主编的《c语言程序设计》作为教材。该教材理论体系完备,但是遵循该教材体系所开展的教学,不太符合高职学生的认知特征,并且教材的重点是对c语言本身的语法规则进行讲解,而对于程序设计方法、程序设计思想没有特别重视。另外,c语言的教学考核标准也是参考全国二级C语言考试大纲。全国二级C语言考试同样是较多地强调了c语言本身的语法规则。即便二级考试中有机考,但由于受阅卷等限制,并不能全面考核学生的编程能力、程序调试能力。因此,这样的教学内容不能满足高职学生后续课程学习的需要,不能起到专业基础课程的实际作用。

(2)教师缺乏改革思路。目前高职院校的教师可分为三类:一类是老教师,从内心不太乐意进行教学改革,对改革有畏难情绪,认为延续传统的教学比较轻松方便,而对于课程的教学效果不好,更多从学生身上找原因;第二类是从学校毕业直接走上讲台的新教师,没有太多的教学经验,主要把自己在大学里学到的知识、教师的教学方法沿用到自己的教学中,还没有来得及思考改革的问题;第三类教师是学校教学的中坚力量,意识到需要改革,甚至也做过尝试,但是,缺乏清晰的改革思路,对存在的问题及教学目标分析不透彻,改革不易收到理想的效果。

(3)不能针对学生的学习特点开展教学。我国延续了30多年的高考选拔方式仍然以笔试为主。根据多元智力理论,我们可以知道,这样的选拔方式使进入高职院校的学生的动觉智力、空间智力、人际交往智力较强,数理智力、语言智力相对较弱,再加上高职学生普遍自尊心、进取心较强,往往是不甘落后,但是学习较情绪化,对感兴趣的东西、实践性环节的学习积极性较高,而对枯燥的理论知识学习兴趣不浓,甚至是有些抵触。而c语言语法规则需要强化记忆与理解,教学过程中,多数采用理论讲解加上机实践的教学方式,较少地从激发学生优势智力的方面开展教学。这样随着教学的难度增加,往往会令学生逐步失去学习的信心。

2 解决办法

1)准确定位教学目标。

高职院校的总体教学目标是让学生在获取专业文凭的同时掌握一项或多项专业技能,为更好地实现就业做好准备,因此每门课程的教学既有理论目标也有技能目标。c语言程序设计课程的教学目标应该定位为:通过本课程的学习,学生要建立起结构化程序设计的思想,养成良好的程序设计风格和严肃认真的工作作风,掌握c语言基本语法规则和结构化程序设计方法,逐步积累常用算法和程序设计的技巧,并能初步运用c语言编程解决常见的简单应用问题,为后续的数据结构、Java编程、嵌入式应用编程等课程打下良好的基础。c语言程序设计是一门核心基础课,其教学主要是为后续的课程服务,因此我们的教学重点应该是教会学生如何运用C语言编写应用程序,而不应该放在相对枯燥的C语言语法规则的学习上,注意把握“为用而学”的原则,使学生学了就会用,并且能做到越用越熟越精,而不是使学生越学越没有兴趣,越学越没有信心。因此准确定位课程的教学目标,将决定后续教学方法选择和所达到的教学效果。

2)强化教师教学改革意识。

意识决定行动,教师有了教学改革的意识,才会努力想办法改革教学,发现问题并进行分析,寻找解决的途径。教师教学改革意识的强化,可通过参加校内外的培训、参观、讲座、各类有关改革的会议等,多渠道多途径让教师接触了解一些教学改革的思路、方法,在思想上对教学改革有所认识,并能结合自己所授课程目前的教学状况进行分析,逐步认识到c语言程序设计课程必须进行教学改革。同时改革是一个系统工程,教师还必须从教学目标、教学内容、教学方法等多方面进行改革。学校作为改革的倡导者,也需要出台一些教改政策,鼓励教师进行教学改革,以提高教学效果。

3)改革教学方法,全面提高教学效果。

在解决了教学目标、教师改革的主动性问题之后,现在要解决的就是具体教学方法问题。教学方法得当,将会收到事半功倍的效果。前面已经分析,高职学生对于逻辑性强的知识学习较为困难,更擅长动手操作和形象思维知识的学习,另外他们好胜心强,但缺少毅力,因此只有选择了正确的教学方法和教学模式才能收到理想的效果。任务教学法、项目教学法是改革的主要教学方法,这些方法强调学生学习的主体性,教师教学的主导性,结合理论实践一体化的教学模式,充分发挥学生学习的优势,能有效地调动学生学习的主动性和积极性。在采用较为有效的教学方法的同时,配合教学考核方法的改革,将过程性考核融入任务与项目教学中,对学生在学习过程中表现的能力和知识水平的提高,及时给予肯定与鼓励。教学中还要注意,改变学生的学习意识,引导学生建立主动学习的意识,变中学时期的被动学习为主动学习,变被动地学习知识为主动地对学习知识的方法的学习和技能的训练,教师要灵活运用多种教学方法,真正做到授人以渔。只有这样,才能真正发挥教与学的双主作用,真正提高教学效果,使该课程真正受到学生的欢迎。

3 实践效果

关于C语言程序设计课程,在2006年我们曾经有院级立项教改课题,确定的教学改革目标是提高全国二级c考试通过率。经过第一轮的教改实践后,虽然全国二级c考试通过率有所提高,但是对于后续课程学习的支撑效果并不理想。学生通过了全国二级C考试,可仍然不会应用c语言编写相关的应用程序,程序编写能力不能满足后续课程的教学需要。经过再思考,并对高职教学改革的理论进行再研究与分析,我们提出了解决c语言程序设计教学改革办法,并开展了教学改革的系列工作,收到了较好的效果。

1)精选教学内容,编写教学讲义,出版教材。

根据确定的教学目标,重点培养学生规范的程序编写能力,对于c语言相对复杂的语法规则及技巧性表达方式,则进行简化,以满足编程需要为原则。在这样的原则上,精心选择教学内容,将教学方法的改革融入教学内容中,形成了由9个任务和3个项目组成的教学内容(如表1所示),并最终出版了教材。整个教学内容的编排思路是:先引导学生认识c语言及集成调试环境,然后是强调编程的规范性,第3个任务是教会学生学习c语言程序设计的方法,从第4个任务开始,由易到难逐步展开教学内容,最后通过3个完整的项目,同样由简单到复杂、循序渐进地讲解如何使用c语言编写应用系统。教材内容的呈现方式上,坚持以程序设计思想、方法以及运用c语言编程解决问题为主线,把讲授语言的概念转变到讲授语言的运用上,把抽象的概念用实例进行展示并通过实践进行体验。为了保证知识的完整性、系统性,设置了拓展阅读栏目,对c语言复杂的语法规则、程序测试的概念、快速排序算法、自我学习与团队学习等知识进行讲解。

2)充分考虑学生的特点,灵活运用各种教学方法与手段。

本课程的教学内容中已经融入了任务驱动教学法和项目教学法,充分考虑高职学生学习的特点,我们给学生提供了自主学习的机会,而不是被动地接受知识。当然,由于学生的层次差异,以及自我管理能力的不同,同时也为了进一步强化知识和技能,每次任务和项目进行过程考核外,还会灵活地采用传统的教学及考核方法。例如,开始入门的时候要求学生抄写一些典型程序,以理解程序编写的思路;中间的时候,对于常用的算法,要求学生理解的基础上加强记忆,因此默写如冒泡排序等典型算法也是一种考核方法,这些方法的综合运用,收到了较好的教学效果。

教学中,还要考虑各种教学手段的运用,例如,常用的多媒体课件能够将难于理解的抽象概念及过程,解释得更加形象生动。其实,在我们身边还有更好的可以用来解释抽象过程的资源,那就是学生。例如,冒泡排序算法,这是教学的一个难点,除了用多媒体课件进行演示外,可以请学生把这个过程进行更加生动有趣的演示,增强算法讲解的趣味性,使学生在活动的过程中,掌握冒泡排序算法,加深理解与记忆。

3)集体备课,发挥教师的创新精神。

头脑风暴法越来越得到人们的认可。通过教师课前集体头脑风暴,共同讨论教法、教学难点,鼓励年轻教师多听有经验教师的课,并且课后及时总结,进行优势互补,发挥教师的创新精神,把c语言程序设计课程的教学改革真正落到实处。例如,通过头脑风暴,我们提出了程序设计的三部曲,即输入数据、输出结果、中间处理过程。过去我们的学生拿到编程题,往往无从下手,通过三部曲,结合高中数学的解题过程,将三部曲的输入数据对应到数学题的已知条件,输出结果对应到数学题的结论,中间处理过程对应到数学题的证明或解题过程。经过这样的关系对应后,学生明白了程序设计其实就是将数学的解题过程,用计算机的语言表达出来,最后让计算机来进行计算。学生一下子觉得程序设计并不神秘,只不过是把数学家已经解决的问题用计算机语言描述而已,这样使学生有种亲切感,再通过由易到难循序渐进的教学过程,逐步建立起学生学习的信心。

4)建立立体教学环境,拓展学生的学习时空。

随着信息技术和现代教育技术的发展,网络、手机、电脑的便捷使用,我们建立了课程网站,将课堂讲义、课件、习题解答指南、应用项目开发案例、自我测试题等上传到网上,并且实现网络答疑,网上提交作业,开展网络讨论,拓展了学生学习的时空,使学生任何时刻只要有网络,即可进行学习交流。另外学校还定期开放机房,安排专人进行现场辅导答疑,给学生提供了一个立体的教学环境。同时还鼓励学生参加蓝桥杯、IATA程序设计大赛,以赛促教、促学,形成良好的学习氛围。

c语言程序设计篇10

关键词:C语言程序设计;教学方法;教学体会

中图分类号:G642文献标识码:A文章编号:1009-3044(2008)24-1223-01

The Experience of Teaching Method in "C Programming Language Design"

CHEN Wei

(College of Medical Information Engineering, Guangdong Pharmaceutical University, Guangzhou 510006, China)

Abstract: "C Programming Language Design" is the first programming language curriculum of computer major, it has very import role for studying programming language in the next time, so must strengthen the teaching level of "C Programming Language Design". After the practice author proposes some teaching experiences and methods for promote the teaching and studying of this course.

Key words: C Programming Language Design; Teaching Method; Teaching Experience

1 引言

《C语言程序设计》是计算机专业的必修课,学好C语言对日后学习面向对象程序设计语言具有相当重要的作用,同时也是学习《数据结构》等课程的前续课程。我校的开设对象一般是在大一的第二学期就开始进行,但大部分学生在此之前并没有接触过编程语言,没有任何计算机编程基础。因此在教学过程中普遍存在的问题是学生建立不起来编程的概念,找不到头绪。久而久之, 学生对学习C语言产生了厌倦的心理,这不但影响本课程的学习,且这还会影响以后相关课程的学习。作者结合国内外优秀编程语言的教学方法和模式,不断地总结和积累经验并运用于教学实践之中,取得了较好的教学效果,有助于学生在有限的教学时间内,以最快最简单易懂的方式,扎实地掌握C语言的内容,并能运用自如。就此提出一些如下一些体会,希望给大家一些参考。

2 培养兴趣与增加信心

“兴趣与爱好是最好的老师”。为了使初学者能很好地掌握计算机编程思想,进入计算机的应用领域,在课程教学过程中,要特别注意加强培养学生的学习兴趣。初学者在刚接触计算机编程语言课程时,很多学生都会感到好奇、好玩,这不能说是兴趣,只是一种好奇。随着课程的不断深入,大量的规则、定义出现,很容易使得很大一部分学生产生枯燥无味的感觉,从而完全失去兴趣。为了把学生的好奇转化为学习兴趣,授课时需要我们改变以往的先给出定义和规则的讲授办法,而是需要从具体问题入手,努力把枯燥无味的“语言”讲的生动、活泼。在课程中不断给出一些C语言解决实际问题的算法,使学生体会程序设计的用途和一种全新的解决问题的方法。在课程进行中,引导学生学一种算法,就尝试在同行课程中应用。介绍一些趣味性算例,如:“菲波纳契兔子问题”、“水仙花数”等,给出一些著名公司的C语言笔试题,培养学生的学习兴趣,让大家积极主动、自觉独立地获取知识,培养学生的解题思路、方法,形成编程思想,逐渐培训学生进行程序设计的正确思维模式。在课程教学时,强调C语言学习的重要性,介绍C语言课程与其它课程的关系、C语言与其它编程语言的关系、C语言与就业的问题。拿出现实生活中的C语言程序让学生看看,如“五子棋游戏”、“走动的时钟”等。让学生增加信心,在课堂和上机中不断进行鼓励和引导学生的学习积极性。

3 加强上机实践

《C语言程序设计》课程的实验教学是巩固学生所学知识的一项重要措施,是学生加深对基础知识和算法理解,提高程序设计能力的重要一环,和理论教学同步进行。但大部分同学们往往课堂上能听明白,遇到实际问题时就无从下手了,显得很被动,久而久之就对程序设计失去了信心,因此在实验教学中必须做到循序渐进,对所学的每一部分内容都应该要求学生完成一定数量的实验内容。每部分的上机习题必须精心挑选,既要有基本的、较简单的题目,又要有一些具有挑战性较难的新颖有趣的题目,并把它们分成必做题和选做题。这样,可以使每个学生都能达到满足,充分调动他们学习的主动性,增加他们的学习兴趣。

为了保证实验的效果,对实验必须加强考核。在每次上机时随机抽查学生让他们做出上次实验的程序,并记录平时成绩。每次上机实习都要求学生必须写出规范的实验报告,在实验报告中一定要写出自己的实验心得,这样,每上一次机就有一次提高。同时,对实践环节实行阶段性考核。培养学生自己调试的能力,列出一些常见错误,

让学生自己找出错误。要求学生尽可能地使用VC++的开发环境来调试C语言程序,提高学生的调试问题的能力。

4 注意自学与授课相结合

由于课程的学习时间毕竟有限,所以应该要求学生自己加强自学能力,提高学生的主动性。仅凭课堂听讲无论如何是无法完全掌握C 语言的, 只有掌握了正确的自学方法, 并通过大量的编程实践才能逐步提高个人的编程能力。要求学生去图书馆借一些辅导书和习题集,每天花一小时进行课后学习以及上机实践,巩固课堂所学的知识。充分利用计算机网络,进行网络学习,加入一些QQ学习群、学习论坛等,遇到不懂的问题,可以利用搜索引擎来解决问题,以及向网友进行交流,利用公共邮箱和QQ可以向教师提问,进行交流。

5 改变传统的教学方法

现在部分老师还没有认识到教学方法的重要性, 仍然是“教师单向灌输”的教学模式。教师首先要转变教学概念, 在教学过程中树立以学生为主体的教学思想, 正确处理传授知识与培养能力、提高素质之间的关系;其次改变教学模式, 开展启发式、讨论式和研究式教学。启发式, 是指教师在全面掌握讲授内容的前提下, 在讲解新的讲授内容前, 通过对以前学习的相关内容的复习, 引出新的讲授内容。互动式教学是教师驾驭讲台能力的具体体现。一个教师站在讲台上, 要不断地扫视下面的学生, 观察学生的表情, 了解学生的接受程度, 并能及时地调整教学的进度和步骤, 必要时到达到学生与教师在课堂上互相之间的交流。允许学生在不明白的时候随时提出问题, 教师根据实际情况决定是当场解答, 还是课后解答。真正实现课堂上的互动, 其教学的效果就会显著地提高。教师在教学过程中, 还应当注意设置疑难问题, 引导学生思考和探索, 让他们的思想活跃起来。

我们有意地设置一些不同深浅的笔误或口误,马上让学生肯定对与错,以考查学生注意力集中的程度,提高他们的敏锐性和判别能力。对有些问题,给出一种程序设计方法后,让学生讨论,还有没有其它的程序设计方法和思路,让他们发表意见,提出自己的解题思路编程方法,给学生以表达已见、陈述思路、交流观点的机会。这就要求老师既有引导又能放开,既有事先的精心备课,又有课堂上的因势利导,同时也可以从学生讨论中提出的问题来丰富教材内容,受到较好的教学相长的效果。在课堂中专门引入一些习题,让大家进行解答,这样既可以巩固学习成果,也可以提高解决问题的能力。专门针对一些容易混淆的问题进行讲解,加深学生的印象,从而避免不必要的错误。

6 结束语

学好C语言程序设计是学生今后学习面向对象程序设计的基础,具有非常大的意义,因而需要我们更加注意《C语言程序设计》课程的教学。通过上述方法,能够充分调动学生学习的自主性,培养学生的自学能力,提高学生学习程序设计的兴趣,提高学生的编程思想和解决实际问题的能力。

参考文献: