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

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

c语言程序设计论文

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

>> 基于CDIO教育理念的C语言程序设计课程教学改革 基于CDIO理念的《C语言程序设计》教学改革探索 基于CDIO工程理念的《面向对象程序设计C++》的教学改革探讨 基于CDIO理念的《C#程序设计》课程项目化教学改革的探索 基于CDIO模式的《面向对象程序设计――C#》教学改革探讨 基于CDIO模式的《C#高级程序设计》教学改革初探 基于CDIO理念的程序设计类课程教学改革探索 基于TOPCARES—CDIO的Java语言高级程序设计课程教学改革初探 C语言程序设计教学改革的探讨 “C语言程序设计”的教学改革 基于CDIO教育的程序设计课程教学改革初探 浅谈CDIO教育理念在《C语言程序设计》课程中的应用 基于CDIO工程教育理念的.NET程序设计课程教学实践 基于CDIO理论的C语言程序设计课程改革 基于成果导向的《C语言程序设计》课程的教学改革研究 基于能力培养的“C语言程序设计”课程教学改革探索 基于协作学习的C语言程序设计实验教学改革研究 基于案例化的《C语言程序设计》教学改革研究 基于MOODLE的高职院校“C语言程序设计”翻转课堂教学改革 基于多媒体技术的C语言程序设计课程教学改革探讨 常见问题解答 当前所在位置:l[DB/OL].

[2]李迎秋.C语言程序设计项目教程[M].大连:东软电子出版社,2013.

[3]郭小勤,曹广中.基于项目的CDIO理念在课程教学中的应用[J].实验科学与技术,2010,8(3):83-85.

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

[关键词]C语言 程序设计 能力培养 教学改革

[中图分类号]G642 [文献标识码]A [文章编号]1009-5349(2015)12-0232-01

一、当今《C语言程序设计》课程的教学现状

《C语言程序设计》这门学科的教学内容及功能是非常强大的,应用范围也很广,数据结构相对比较复杂。该课程的语法检验结构相对比较薄弱,相对没有编程基础的大学生来讲,要很好地学习和理解C语言的知识和程序设计方法,需要熟练各个知识点和语法结构。以往《C语言程序设计》课程教学大多主要以C语言的语法为主要讲授知识点,将教学的重点放在语言的语法知识上,因此,很大一方面就忽视了在解决问题和编写程序语句时如何能更好地应用有效的教学方法。很多学生在掌握语法知识后,不知道如何去编写程序来解决实际问题。

二、《C语言程序设计》课程改革的几点想法

(一)对教学内容进行重组

一方面教师要充分考虑到没有了解程序语言设计和不懂编程经验的学生,要将教学的重点放到C语言的理论语法知识上,全面讲解《C语言程序设计》课程的基本语法知识。面对新的教学内容,要避开以往传统的细节语法知识讲解,引入一套新的教学思路,要以具体的实例编程去营造一个好的教学环境和教学方式,将学生引入要让自己有能力、有想法去判断和总结理解掌握C语言的语法知识以及编程方法。通过第一阶段的理解学习,很大一部分学生能够基本掌握C语言的基础知识,同时也具备编写C语言编写程序的能力,并可以独立编写较难程序,并能顺利通过程序调试与程序的测试。

另一方面要将教学的主要内容放在那些具有掌握一些C语言基础知识和编写程序,了解C语言知识的学生上。在这个阶段,课程内容要注重培养学生的较专业的程序编写与实践。同时,在教学过程中注意设计教学环节,不但要引入项目式驱动教学法,还要将教学内容化分模块,把每个模块都建立一套综合案例,把案例内容覆盖C语言程序设计课程的所有核心知识点,贯穿整个教学过程。

学生通过开发综合案例,能够将知识点融会贯通,达到学以致用的目的。也可以把要处理的问题和知识点做成项目,给学生分配项目任务,并且为学生提供可查阅的学习资料和设备。通过老师的学习指导,让学生自由发挥,开创思想,并以小组讨论的形式进行任务开发,共同完成一个完整的项目。在这一教学阶段设计的目的是要在一个完整的项目开发过程中,使学生能够学习和了解到一些关于C语言中不常使用到的关键知识。也使学生学习和掌握这些知识的可行性和要重性,在教师的正确引导下将问题成功解决,使学生收获到知识。

(二)加强实践教学

《C语言程序设计》是一门实践性很强的专业技术课程。实践教学是《C语言程序设计》课程教学中的主要教学环节。在加大实践教学内容的同时,也要改变实践教学内容,这也是提高和培养具有创新能力学生所必经的阶段。因此,在实践教学上,要专门编写相关的资料,方便教学。在资料中,可以编写一些具有代表性的上机练习程序设计题目,使学生能更好地理解和学习C语言的知识和编程方法。同时也为学生提供一些比较综合的编程题目,让学生能在这些问题中,找到自己知识的缺口,然后补充知识,在这些编程题中发挥自己的优点和创新点。同时,要开发学生的学习思路,培养学生的自主学习能力。

(三)完善网络教学平台

当今是网络遍布的时代,所以C语言课堂教学也少不了网络。我们要用网络教学平台做为辅助教学手段,合理地为学生安排布置学习内容和资料,开展小组式的学习方式,以小组方式讨论问题。课堂的教学时间是有限的,对于这一类的教学活动在课堂上是不能完全实现的。所以要以开放式的网络教学平台为课堂辅助教学。教学平台主要包括课程学习、电子教案、网上答疑、实验指导等,让学生能更好地自主学习。

(四)创新考试方式

以往的《C语言程序言设计》课程考试大多数是以笔试为主要内容,目的是考查基本的语法知识,该种考核方式使学生偏重于语法学习。为此,改革传统的考核方式势在必行,期末考试采用专门的考试系统,将理论题与实践题相结合统一在上机考试环节完成,在限定时间内考核学生的学习效果。即考即出分,减少人工批卷出错的漏洞,减少教师的工作量,改变了传统的批阅方法,通过考试的检验以促进学生平时学习掌握知识牢固程度,加强上机实践,突出学生程序编写能力过程,将实践教学的重要性展现出来。

【参考文献】

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

关键词:汇编语言,C语言

 

单片机的开发离不开单片机的开发语言,对于一个开发者来说,选择适合的语言是非常重要的一个开发环节。

目前的单片机的编程语言主要有汇编和高级语言两种,每一种类型的单片机都有自己的汇编语言,软件可移植性不是很好。而高级语言有C 语言,PLM 语言,PASCAL 语言,BASIC语言等几种。BASIC 语言主要应用在MCS51 系列单片机上,但效果不是很理想,现在已经基本上不用。PLM 语言主要应用在MCS51 和MCS96 系列单片机中,对硬件的控制能力和代码效率都很好,PLM51语言是介于C语言和汇编语言之间的一种高级语言, 是由一种曾经用于大中型计算机的高级语言 PLM 语言移植来的。PLM 的程序书写格式相当灵活,其说明语句写在输入行的位置不受限制,而且程序的元素之间可以随意插入空格。PASCAL语言在MOTOROLA 单片机中有应用。C语言是现代单片机开发中较常用的高级语言,其程序的可读性,可移植性都很好,对硬件的控制能力也很强,唯一不足的是其代码效率较低,在程序量较大时需使用大容量的程序存储器。下边本文就主流的汇编语言与C语言的语言结构和特点进行研究。

首先是汇编语言的结构及特点。

汇编语言是一种采用助记符来编写程序的语言,它由操作符和操作数两个部分组成,其中操作数又分为源操作数和目的操作数。汇编语言比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。论文大全,汇编语言。。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

由于汇编语言中使用了助记符,用汇编语言编制的程序必须通过预先放入计算机的'汇编程序'的加工和翻译,才可以变成能被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

其次是C语言的结构及特点。

C语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。以前计算机的系统软件主要使用汇编语言编写的,对于单片机应用系统来说更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用系统程序的周期长,而且调试和排错也比较困难。而一般效率高的高级语言难以实现汇编语言对于计算机硬件直接进行操作(如对内存地址的操作移位操作等)的功能。而C语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,并且采用C语言编写的程序能够很容易地在不同类型的计算机之间进行移植,因此许多以前只能采用汇编语言来解决的问题现在可以改用C语言来解决。

C语言可以用来编写科学计算或其他应用程序,但它更适合于编写计算机的操作系统程序以及其他一些需要对机器硬件进行操作的场合,有的大型应用软件也采用C语言进行编写,这主要是因为C语言具有很好的可移植性和硬件控制能力,表达和运算能力也较强。

概括来说,C语言具有以下一些特点:

1.语言简洁紧凑,使用方便灵活 :C语言一共只有32个关键字,9个控制语句,主要用小写字母表示,压缩了一切不必要的成分;C语言程序书写形式自由,可以用简单的方法构造出复杂的数据类型和程序结构。

2.运算符丰富 :C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,共有34 种运算符。C表达式类型多样化,灵活使用各种运算符可以实现其他高级语言难以实现的运算。

3.数据结构类型丰富 :C的数据结构类型丰富,根据需要可以采用:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等多种数据类型来实现复杂数据结构的运算,尤其是指针类型数据使用起来非常灵活多样。

4.可进行结构化程序设计 :C语言是以函数作为程序设计的基本单位的,用函数作为程序模块以实现程序的模块化,是结构化的理想语言。

5.语法限制不严格,程序设计自由度大 :C语言的语法规则不太严格,程序设计的自由度比较大,限制和灵活是一对矛盾。C语言放宽了语法检查,所以程序员应当仔细检查程序,而不要过分依赖C编译程序去查错。

6.C语言允许直接访问物理地址 :C语言允许直接访问物理地址,能进行位(bit )操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,这样它可以对单片机的内部寄存器和I/O口进行操作,可以直接访问片内或片外存储器。

7.生成目标代码质量高 :众所周知,汇编语言程序目标代码的效率是最高的,但统计表明,C语言编 写的程序生成代码的效率仅比汇编语言低10~20%。

8.程序可移植性好 :汇编语言完全依赖于机器硬件,因而不具有可移植性,C语言是通过编译来得到可执行代码的。C语言的编译程序便于移植,基本上不作修改就能用于各种机器和操作系统。

尽管C语言具有许多的优点,但和其他任何一种程序设计语言一样,也有其自身的缺点。但总的来说,C语言的优点远远超过了它的缺点。论文大全,汇编语言。。

因此我们在使用中通常将汇编语言和C语言相结合,利用共同的优点来完成开发工作。那在C语言中如何使用汇编语言呢?这个问题在不同的编译器中,具体实现方法是不同的。不过在实现大方上也不过就是有两种,而且各种编译器的实现方法也是大同小异。论文大全,汇编语言。。通常的方法是:一、对C语言程序编译后形成的汇编程序进行手工修改与优化;二、在C语言程序中直接嵌人汇编语句;三、分别编写C语言程序和汇编语言程序,然后独立编译成目标代码模块,再进行链接。第一种编程方式要求对汇编与C语言都极其熟悉,并且这样的编程方式对程序的可读性和扩展性的负面影响比较大,一般不建议使用。第二种方法适用于语句执行频率非常高,并且C编程与汇编编程效率差异较大的情况,例如进入中断的通用中断子程序等。第三种方式是混合编程最常用的方式之一,在这种方式下,C语言程序与汇编语言程序均可使用另一方定义的函数与变量。通过这样的方法就可以使二者结合起来,达到混合使用的目的。

以上就是本文对多种单片机的开发语言特点进行的研究。

参考文献:

[1]陈建铎.单片机原理于应用.北京:科学出版社,2005.2

[2]刘守义.单片机应用技术.西安:西安电子科技大学出版社,2007.8

[3]李平,杜涛,罗和平.单片机应用开发与实践.北京:机械工业出版社,2008.7

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

1从C到C++是一个有规律的过程

从机器语言到c++语言是一个发展过程,这个过程的根本动因是程序设计的存储与处理的矛盾。“数据结构+算法:程序”就是这层意思。纵观短暂的计算机发展史,这两个方面一直保持不变。发展演化的是它们之间的关系,就是所谓的程序设计方法。我们的目的是:除去偶然的、扰乱性的因素,揭示出这个矛盾的变化规律,即程序语言发展规律。我们的具体做法是:先用C描述顺序表、结构串和链表,然后揭示、分析和解决C描述所表现的局限性,通过克服这些局限将它们转化为C++描述。图l是我们的教材《C/C++与数据结构》(第3版)(上册)的内容关系结构,它提纲挈领地表示了这个过程,贯穿其中的是图2所展示的指针和函数同步发展的关系。我们在2008年《计算机教育》连续发表了一些文章,对图1和图2中的一些关系分别做了比较详细的论述。

2 C是C++的元语言

现在我们可以用三个语言环境理论来解释这种方法的意义。一般说来,一个语言在它作为对象语言时,它的符号和语法对象所取得的准确性已被人们证明的结论,在它作为元语言时,就可以用来解释和说明相应对象语言的符号和语法对象,并用来证明该对象语言中不同语法对象之间的关系。这是人类从事科学研究的基本方法。

例如,C、C++和Java是程序语言发展中的版本序列。如果把C++视为对象语言,那么从C++程序集合到C程序集合的一个解释映射和C程序集合就构成C++的一个模型,而C语言就构成了C++语言和它的模型的元语言。如果把Java视为对象语言,那么从Java程序集合到C++程序集合的一个解释映射和C++程序集合就构成Java的一个模型,而C++语言就构成了Java语言和它的模型的元语言。表1和表2所示就是一种从对象语言C++程序到元语言C程序的解释映射。

按照三个语言环境的概念和方法,把C作为C++的元语言,这时C什的概念就可以用C程序严格地描述,避免C++解释中的歧义性和模糊性,有利于理解,而且C++也就不必从开头讲起,我们可以直接讲授C++相对C的修正和补充部分,有利于深入。

3小结

逻辑不是关于思维的外在形式的学说,而是关于一切物质的、自然的和精神的事物的发展规律的学说。这样,成为科学对象的就不是事物,而是事物运动的规律。

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

关键词:C语言 教学方法 创新

中图分类号:G710 文献标识码:A 文章编号:1674-098X(2014)08(b)-0134-01

C语言课程是高校计算机和核心课程之一,从这门课程的实际内容上看,学生只有在上机操作中才能真正掌握所学理论知识,只有通过长时间的上机操作,学生才会学会一些编制程序和调试程序的基本技巧,也只有通过实践操作才能让学生发现自己哪部分知识比较欠缺,进而进行有针对性的学习和实践。然而,在大多数高校内,一些老师还是应用理论讲授为主的传统教学方法,这种方法已经不太适应时展的需求,因此,高校要与时俱进地实施教学方法改革,培养学生的操作能力。

1 C语言课程的重要性

C语言是计算机专业学生进行深入学习计算机知识的基础课程,只有系统掌握了这门课程的基础知识,在后续学习时才会得心应手。

1.1 C语言课程是学习程序设计的入门课程

计算机专业最主要的目的就是教学学生进行程序设计,程序设计领域中应用的最广泛的语言就是C语言。这种语言满足高级程序设计语言的需要,还具备对计算机的底层硬件进行方便、直接地控制的优点,是程序员深入系统底层进行编程的入门课程。

1.2 C语言是学习其他编程语言的基础

C语言具备了功能强大、效率高、简洁灵活和可移植性强的特点,编程人员在从事软件开发工作时最喜欢使用这种语言,在学校中学生系统地学习完这种语言,就可以掌握编程的基本思想,为学习其他编程语言奠定基础。

1.3 C语言是学生深入学习计算机知识的基础

在语法表述上,C语言具有简洁精妙的优势,注定了这门课程很方便进行描述算法,比如计算机专业另外一门核心课程《数据结构》,在其算法上,绝大多数都是采用C语言或C++语言来描述的,可见,加强对C语言的学习,是计算机专业的学生进行深入学习计算机知识的基础。

2 目前C语言课程的通行授课方式

一些高校的计算机授课教师仍然按照传统的教学方式来从事这种教学,严重影响了教学效果,也影响了学生的学习兴趣。

2.1 授课方式上,一些老师还采用理论讲授为主

在一些高校内,讲授这门课程的计算机老师,喜欢采用传统灌输式的教学模式,教学重点不是培养学生的动手能力,而是讲授程序设计语言的基本语法, 要求学生通过课堂学习来掌握一些理论知识,当然,这种教学方式有一定的优点,可以保证所讲授知识的系统性与完整性,但更大的缺点是轻视了对程序设计能力与思维的培养,因而造成学生学习的积极性不高,没有起到预期的教学效果。在学习内容上,一些老师很少讲授比较流行的程序开发语言如ava和C#,这就与学生的学习需求差别较大,导致学生对学习该门课程没有明确的学习目的与兴趣。

2.2 在实验操作方式上,实验的内容比较陈旧

C语言程序设计的实践性很强,这门课程教学效果的实现,离不开学生长时间进行独立的实践操作,科学、系统的实验内容是必不可缺的。然而,现实教学中,一些老师忽视教学实践环节,有的学校是教学老师和实验老师各自独立,导致了实验课环节效果较差,甚至使教学内容和实验内容相脱节相分离,根本起不到巩固所学的理论知识的效果。具体实验环节中,老师布置的任务相对简单,导致了学生在上机操作过程中,参照教科书的案例就可以完成实验任务,这种实验课是有名无实,导致了学生缺乏独立编写程序的有效训练。

2.3 考试方式上,仍然重视卷面成绩

当前高校对课程结课考核中,最常用的方法还是按照书面考试的成绩来决定,而没有充分考虑各门课程的实际情况,C语言也不例外,老师只能按照学校的要求,出一张书面书卷来让学生答题,根据成绩是否及格来判定学生能否过关,这种应试教育阶段的考试方式,对C语言进行考核时,存在大量的弊端,导致了对在对这门实用编程语言的考试时,动手能力考的少,理论知识考得多,而且理论知识中的测试内容过多拘泥于繁琐语法细节,这种陈旧的考试方式使得学生不得不通过做题、背题等方法来应对试卷,动手能力的高低、好坏程度几乎没法衡量。

3 C语言教学方式的创新途径

社会上对毕业生动手能力的要求也越来越高,如不加强对计算机专业学生动手能力的培养,势必影响这类学生的顺利就业。因此,教育部门和相关高校对C语言课程传统授课方式进行改革、创新教学方式已经势在必行。

3.1 加大授课方式的创新力度

高等院校应根据计算机专业课程的实际需要,建设一些多媒体教室,把多媒体网络机房设为主要学习场所,不再单纯依赖课堂教学,改变理论学习和上机实践相脱节的教学模式,在学生实践操作时教师再进行适当的理论指导,弱化教师教学的主体性地位,把课堂的主动给学生,使得学生能及时上机,及时验证,及时理解本节所学的基本理论和基本方法。在时间分配上,应适当增加操作时间,压缩授课时间,保证每个学期学生有2/3的时间学习掌握基础知识,另外1/3的时间完成一个实用性的C语言程序,在学生的实践操作中锻炼应用所学知识来解决现实问题的能力,进而培养学生动手能力。

3.2 鼓励改革结课的考核方式

目前,一些高校对C语言课程的结课考核方式,应采用传统的笔试考试方式,这张方式存在很大弊端,一张试卷并不能完全反应出学生的真实水平。因此,高校应把考核的主动权交给老师,鼓励老师应用综合、系统的考核方式。有些院校尝试运用了平时考核、期末理论考试、上机考试、课程设计、项目考察多种手段相结合考核方式,在实践中这种方式效果还不错,挺受学生的欢迎,教育部门可以适当推广这种考核方式,使这种方式更加完善,更能全面反映出学生的真实能力。

3.3 加大教材的改革力度

目前一些高校内计算机专业采用的主流教材都是传统的编排模式,先是入门总体介绍,然后是基础语法知识、程序结构、数据类型、文件的读写,这种教材过于强调各个知识点和语法细节,对程序的重要性表述的不到位,使得学生在学完了 C 语言后,却不能完整地解决一个具体编程问题。因此,高校应加大教材的改革力度,组织一些经验丰富的教师组成教材编制小组,编制出一本以程序设计为主线、兼顾基本理论基础的阐述、结合实际教学和学科竞赛的实际情况、能充分激发学生的学习兴趣的教材。

总之,改革目前C语言课程进行教学方法,不是一件简单的事情,需要教育部门、高等院校、各授课和实验教师、学生的共同努力,只要方法得当,各个部门和教师勇于创新,新式C语言的教学方式肯定会得以广泛运用。

参考文献

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

关键词:C语言;计算机软件工程;应用

中图分类号:G642 文献标识码:A文章编号:1007-9599 (2011) 20-0000-01

Thinking and Analysis of Computer Software Engineering from C Language

Han Jiying

(Shanxi Polytechic College,Taiyuan030006,China)

Abstract:C language is a computer universal programming language,it has a assembly language and high-level language advantages,its application scope is quite widespread,not only can write operating system software,and development in various fields of application software,the computer software engineering development plays a vital role in.Skilled and flexible use of C language programming is the key to solve practical problems.

Keywords:C language;Computer software engineering;Application

一、简述C语言

C语言是计算机的一种通用性程序设计语言,它拥有着汇编语言和高级语言的双重优点,它的应用范围相当广泛,既能编写操作系统软件,又能开发各个领域的应用软件,对于计算机软件工程的发展有着至关重要的作用。

(一)C语言是一种高级语言

它是将高级语言的基本结构及语句与低级语言的实用性相结合起来的。C语言也是一种汇编语言,它可以对位、字节及地址进行操作,我们知道这三个是计算机的最基本的工作单元。C语言还可以将代码及数据的分隔化,即使程序的各部分可以彼此独立,这样可以使程序层次清晰,便于使用、维护和调试。C语言是以函数形式展现,具有多种循环、条件语句控制程序流程,使程序结构化。

(二)C语言的特点

1.首先,C语言的特点是语法结构简洁,写程序也很高效,便于描述算法,这可以说是C语言优于其他高级语言的重要原因。一般而言,C,C++,java被认为同C语言的运算灵活,功能丰富,运算种类远多于其它程序设计的语言。在表达式方面要比其它程序的语言简洁,例如,自加、自减、逗号运算和三目运算使表达式更为简单,我们只需要在学习中,合理进行分类,找出它们和我们在数学中所学到运算之间的不同点,将来用起来也会得心应手。

2.C语言程序特点包含:一个源程序无论由多少个文件组成,都有且只能有一个main函数,即主函数;源程序中可以有预处理命令(包括include命令、if命令),预处理命令通常放在源文件或者源程序的最前面;适合于多种操作系统,例如Windows、DOS、UNIX等等,也适用于多种机型等等。

3.C语言能够让我们深入到系统底层,我们所知道的操作系统如windows,Unix,Linux,Mac等都是由C语言写出的,可见其重要性。而且,很多新型的语言都是由C语言延伸出的,如C++,java,C#,j#等等,这就意味着掌握了C语言也就是掌握了多种语言,只要在C语言的基础上简单学习就能够利用新型的语言进行开发了,这也同样说明了C语言对计算机软件工程发展的重要性。

二、简述计算机软件工程

计算机软件工程是专门研究如何构建和维护有效的、实用的、高质量的软件的工程。它主要涉及到程序设计语言,数据库,软件开发工具,设计模式等方面内容。

软件工程的过程主要包括了开发的过程、运作的过程、维护的过程。这三个过程覆盖了有关于需求、设计、实现、确认以及维护等方面。需求包括问题分析和需求分析两大类。问题分析可获取需求定义,需求分析可生成功能规约。设计一般包括概要设计和详细设计。概要设计是建立整个软件系统的结构,包括有子系统、模块和相关层次的情况说明和定义。详细设计则是产生程序员可以使用的模块说明,包括有每一个模块中数据结构的说明和加工描述。实现是将设计的结果经过一系列的调试工作转换为可执行的程序代码。确认是贯穿于整个软件的开发过程的,在实现完成后的相关确认,保证最终的软件产品能够满足用户提出的相关要求。维护包括有使用过程中的修改以及完善工作。在现代化的社会中,软件的应用相当广泛。典型的软件,例如,电子邮件,嵌入式系统,办公套件,操作系统,数据库,游戏等等。这些软件的应用不仅促进了经济和社会的发展,提高了人们的工作的效率,而且还提高了人们的生活质量。

三、C语言在计算机软件方面的有关应用

我们知道Linux就是由C语言写出的,它的应用范围也是相当广泛的。

嵌入式的Web服务技术的优点是功能强大、实时性好、可靠性高以及安全性能好等,对于嵌入式的Web Service的实现可采用Linux+SkyEye等软件来虚拟出相应的嵌入式的开发环境,利用嵌入式Linux来充当嵌入式的Web Service平台,这种方法是用C语言来实现客户端与服务器端的通信程序的,这样就能够进行一些简单的加运算、减运算、乘运算、除运算以及幂运算等等。

Linux下的C语言的程序设计主要包括有编译器、编译链接器、调试器及项目管理工具这四大项。在为Linux开发应用程序时,多数使用的都是C语言,因此,每一位Linux的程序员都要求必须要灵活运用C语言编译器。目前Linux下最常用的C语言编译器是gcc(gnu Compiler Collection),它能够编译用C、C++等语言编写的程序,它也可以通过不同的前端模块支持各种的语言,例如,Java、Fortran、Modula-3和Ada等等。因此,能够利用Linux来实现这些功能的基础就是通过C语言把它编写出来,由此可见,C语言在计算机软件方面的应用既是基础也是关键所在。

四、小结

总之,通过对C语言各方面的了解,认识到了C语言语法结构简洁,写程序效率高,便于描述算法,适用范围相当广泛,既能编写一些操作系统的软件,又能开发各个领域如农业、工业、银行等的应用软件,例如,C语言被广泛应用于嵌入式系统、操作系统、数据库等方面。可见,C语言在计算机软件的应用方面占有着非常重要的地位。

参考文献:

[1]张海藩.软件工程导论[M].清华大学出版社,2003,12

[2]萨师煊,王珊.数据库系统概论[M].清华大学出版社,2002,2

[3]李光明.Delphi7程序设计与上机指导[M].冶金工业出版社,2003

[4]陈文宇.面向对象程序设计语言C++[M].机械工业出版社,2004

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

关键词:学习者;计算机专业;C语言程序设计;教学改革

作者简介:卢炳旭(1993-),男,天津人,南京农业大学计算机系本科生,研究方向为计算机科学与技术。

中图分类号:G712 文献标识码:A 文章编号:1001-7518(2015)20-0076-04

《C语言程序设计》课程是计算机专业学生接触的第一门基础性程序设计课,以实际动手编程技能为手段,以培养学生设计能力为主旨,有助于形成学生分析问题和解决实际问题的能力,并为学生后续学习数据结构、面向对象程序设计、操作系统等专业课程奠定必备的基础。因此,能否熟练掌握并运用C语言,是衡量一名计算机专业学生专业水平的基本标准。教学的根本目的是为了促进学生的学习发展,一般的教学法研究主要侧重教的方面,多从教师的角度和理解看待课程与教学改革。本文试图从一个学习者也可以说是一个初学者的层面和角度,结合学习和助学《C语言程序设计》中的困惑、感悟及其体会,结合为低年级学生辅导培训C语言程序设计的一些感性经验,从两个维度思考有关大学课程与教学改革的问题,试图提出更加切合大学生学习的实际有效的学习方法和教学方式,希望能为高校课程与教学改革吹进一缕新风。

一、《C语言程序设计》课程教学过程中存在的问题

笔者在大一下学期开始学习计算机科学技术专业《C语言程序设计》课程,而且全程旁听了网络工程专业同样的课程,并通过调查在校往届学生的学习情况,发现《C语言程序设计》课程的教学内容和教学模式存在一些共性的问题。

(一)课程内容拘泥于与工程实践脱节的教材

计算机专业的日常教学中理论课所占比例较大,而理论课教师往往依据教学大纲指定的配套教材进行讲授,实验课的编程题目多数是验证课本上的例程或者理论课教材后的作业。通过调研计算机专业教师使用教材情况,发现目前计算机专业理论课使用的教材以传授理论知识为主,虽然每个知识点后给出了相应的实例,但是这些案例比较孤立或抽象,缺乏与工程实践的联系。长此以往,学生一方面觉得日常练习的例程枯燥无味,找不到激发其学习兴趣的落脚地和理由;另一方面,觉得即使刻板地掌握了某些语法的使用方法,也并不知道如何将这些语法知识应用于工程实践,使自己具备一定的解决问题能力。由于学生所学知识及其方法与工程实践没有有机地结合起来,学以致用的工程意识缺乏日积月累的养成土壤,学习的兴趣和动力不知不觉地消失在盲目与盲从之中。

(二)理论课程内容课堂吸收率不高

C语言是一门面向过程的程序设计语言,语法虽然不是很复杂,但是学生在最初接受理论知识时,往往由于练习量不足而难以融会贯通,很难将各个部分的知识点连贯起来综合运用。例如:if语句和while语句之间的相互嵌套,以及while语句和for语句中循环条件如何选择,都是理论课难以直接传授的。相对抽象的函数、指针和结构体等知识点,又会使学生不知从何下手,而C语言的前后知识点相关性较强,学生很可能因为一个知识点没有掌握而导致知识链断裂,从而降低课程整体的学习质量。实际的情况是,一旦一个阶段的学习进度跟不上,学生往往会对单调的编程语言的学习产生排斥心理,直接影响后续课程的学习。

(三)实验课程的重要性往往被忽略

《C语言程序设计》课程的理论教学与实验教学是两个相互依存、相互促进的教学体系。实验教学相对于理论教学更具直观性、趣味性和创造性,可以让学生在实验中真正地理解理论知识[1]。但目前高校通行的做法是,普遍把这两部分课程内容分开教学。理论课上,老师一板一眼、从理论到理论地讲述理论知识,学生貌似听懂却并不清楚如何实现。而实验课通常与理论课是相分离的,并不在同一天授课,学生又比较缺乏及时复习的意识,上机操作时理论知识已经遗忘的所剩无几,实验课的宝贵时间利用率偏低。从一名学习者的经验看,初学C语言时,很多知识点需要经过一定量的实际操作才能逐渐掌握,不少学生不重视实验课,实验课作业通过检索网络编程资料蒙混过关,实际的编程能力得不到有效锻炼,到了期末再根据老师的题目范围突击背诵程序,这种知识化的编程学习,其基本功自然不会扎实。

(四)考试内容重点与实际应用相关性较小

《C语言程序设计》是计算机专业学生学习各类专业课程的重要工具性课程,通过C语言编写的结构体可以塑造复杂的数据结构,并且结构体也是使学生理解面向过程编程思想的重要知识点。通过检索部分高校《C语言程序设计》课程考试大纲,并调研部分高校实际考试情况,发现其考试重点是C语言的结构、数据类型及其运算、基本语句、数组、函数、指针等知识点,由于课时安排不足,结构体、文件等知识点位于教材最后章节,不作为考试重点。这样,学生在复习C语言考试时,出于功利性考虑,重点考什么就复习什么。而且,复习时的感觉像是面对一门特殊的数字逻辑课,而非程序设计课;此外,由于缺乏拓展结构体的使用方法和在实际问题中的应用,在学习其他专业课程的初期,会发现遇到很多困难。

二、对《C语言程序设计》课程教学改革的实践

笔者在自己学习的同时,作为学习社团辅导员,连续两年对计算机专业本科低年级学生进行了《C语言程序设计》辅导培训,这种“兵教兵”的演练,增强了自己对初学者的认识,并像教师一样对在教学过程中存在的问题进行了一定思考,结合自身学习与学教的体会,尝试寻求适合计算机专业学生学习《C语言程序设计》课程的教与学的方法。

(一)巧用应用导言,点燃学生的学习兴趣

《C语言程序设计》课程是计算机专业学生真正窥视该专业门径的专业基础课程。在接触的初始阶段,不能急于让学生了解基本语法或者是快速入门,而是首先通过介绍计算机编程发展历史、创建C语言贝尔实验室、讲授游戏编程实例等话题,逐步揭开了编程在初学者心中的神秘面纱,使其将C语言看做一门构建宏伟数字世界精巧的技艺,从内心爱上计算机编程,进而树立学会计算机专业课程的信心。

例如,电子游戏被称为“第九艺术”,而电子游戏本身就是由编程语言编写的程序。在介绍课程教学大纲时,以讲解“贪吃蛇游戏”编程实例为切入点(如图1所示),融汇贯穿了C语言课程的各个知识点,并且告诉同学们,通过学习该课程,在期末每个人都可以独立完成简单游戏的开发。这样,大家的学习兴趣从第一节课开始就被点燃了,这也印证了爱因斯坦说过的“兴趣才是最好的老师”那句著名的论断。

图1 贪吃蛇小游戏DOS界面

(二)讲练交织并行,培养良好的编程习惯

初学C语言编程时,在变量名称定义、全角半角符号使用、大括号匹配等方面经常出现错误。因此,在辅导教学过程中,根据自己学习体会将编程规范和编程技巧讲解作为重点,通过边讲边练、边练边讲双向互动,养成学习者把理论与实践紧密结合起来良好的编程习惯,为程序的维护、更新、可移植,以及提高程序设计质量,降低程序维护成本打下牢固的基础。比如,每行只写一条语句,通过分层缩进写法体现编程语句的层次结构,使得程序结构更加分明;在不同程序区域块之前写好注释,以便说明程序功能;在程序出现逻辑问题时,多使用编译器自带的调试功能,设置断点进行单步调试;在不同的编程环境中熟练使用快捷键;等等。

关于授课形式,体现“一体化”的教学思想,强调理论和实验密切结合,尽可能把课程教学安排在计算机机房进行。在讲清编程知识点的基础上,重点结合工程实例演练编程技巧和方法,接着要求同学们一起实际操作,也即在“做中学”,并使用VC++进行验证,使得同学们能够通过有效实验,验证所学知识,得到运行结果,并发现存在的不足和问题。这种“讲练交叉并行、当堂即学即知”的教与学的方式,大大提高了老师教学的有效性,也巩固了学生学习的效果。

(三)注意环环相扣,关联前后知识

C语言作为学习编程者的入门级语言,语法具有一定的抽象性,初学者难免会因为复习不及时而导致前期知识点的遗忘,待到日后的知识应用更是一头雾水。其实,复习是最好的学习,有序是最好的方法,运用是最好的巩固。

首先,在学习新知识前,回顾以往知识点。比如,“循环结构”与“分支结构”知识点有着千丝万缕的联系,在讲循环结构时,对于相同的例程使用分支结构重新写一次,使同学们不仅掌握循环结构与分支结构的异同点,而且在学习新知识的同时,对旧知识得到了复习和巩固[2]。

接着,在学习新知识点的过程中,注意由浅入深,用所学知识诱导新的编程思路,同时要结合编程实例懂得活学活用。比如,指针是C语言殊的数据类型,同学们在开始接触指针时,可能会对其能够直接指向变量存储位置的特性感到很不解。因此,本人在讲解变量知识时,就把变量在计算机内存中的存储方式,通过形象化的图示和语言解释相结合的方式展现出来(如图2所示),这样,既可以使同学们了解变量在内存中的存储方式,也可以由变量地址这个概念对指针内保存的内容有初步认识[3]。在介绍字符数组时,使用scanf(“%s”)语句对字符数组赋值,数组名前不需要添加取地址符“&”。这时,向同学们解释“由于数组名是整个数组的数组指针,所以不要进行取地址”;然后,再次把指针和地址这两个概念重复解释给同学们。这样,使同学们在今后学习时,可以和前面的知识点呼应起来产生共鸣,达到温故知新、豁然开朗的效果。

图2 变量与地址的对应关系

(四)提升实验教学的效度,采用案例驱动教学

实验课不仅是验证理论课所学知识的重要过程,更应注重学生独立开发C语言程序能力的培养,采用案例驱动教学法有利于充实实验课教学的内涵。受到第一节课展示电子游戏的启发,在辅导培训中将同学们分为若干个小组,每组在学期期末都要以贪吃蛇游戏中包含的编程技术为基础,开发出自己组的小游戏或者应用程序。

具体过程是:把贪吃蛇游戏的源程序进行分解,每当讲解完一个章节后,就把对应这个章节知识点的源程序作为实验课最后的项目启发给同学们,使同学们在整个学期中,逐渐加深对游戏源程序的理解。在学习过程中,大家的学习热情很高,一个可以趣味演示的程序比单纯地验证例程更能激发同学们尝试编程的欲望。学习结束时,大家通过对整个案例的分析和理解,把全书知识点关联在一起,形成属于自己掌握的知识结构。这种从简单到复杂、从局部到整体的开发程序能力,像滚雪球一样越滚越大,也为其将来开发大型程序奠定了基础。

(五)注重能力锻炼,改革考核方式

为了避免期末时临阵磨枪、应付考试,考核重点和方法要有所改变,把考核编程知识向考核编程能力转变,考核方式上也从个体考核向个体与小组相结合考核转变,培养学生的团队意识和协作精神。

对理论知识的考核。理论知识是继续学习的基础,随着学习的深入会显得日益重要,具有扎实的理论功底才能达到举一反三的应用效果。理论知识的考核不能降低要求,但考核应注重不同知识点综合贯通,而不是简单的概念记忆或似曾相识案例的复现。因此,编写程序解决综合性问题和根据程序描述程序运行结果是理论考察的重点。由于编写程序的非唯一性,考核题目要鼓励拓展学生的创新思维,在程序填空题方面,一道题目可以使用不同的编程思想写出2-3种编码方法,只有充分理解不同的编程思路,才能正确地进行程序填空。这样,既可以达到以考促学的目的,也可以拓宽同学们编写程序的思路,使考核成为学习过程的延伸。

对实验能力的考核。取消最后的上机考试,最终的考核成绩由平时实验成绩和期末实验成绩组成。其中,平时实验成绩为同学们每节实验课编程内容的验收成绩;期末实验以分组形式进行团体考核。关于期末综合实验,以简单的人机互动C语言编程技术为基础,每个小组按照项目要求制定每个组员分工协作的工作方案,由老师审查后启动实验,完成后以小组形式进行演示和汇报,并且通过编写实验报告梳理在实验中学习到的知识点,以课程设计的方式作为学生期末试验成绩。这样,既能锻炼学生应用编程语言的能力,做到学以致用,又能培养学生团队意识和研究能力,把考核由一种过关的消极观念转变为学完成习任务的正确轨道上来,使考核机制成为促进学习的有效手段[4]。

在学习和调研中发现,高年级学生辅导培训低年级学生这种“小先生制”,学学相长,在计算机专业方面非常有效,在这样的“学群”或“学团”中学习的学生表现出争取优秀的优势和相对突出的成绩。由于学生之间没有明显的层次感,有利于营造出一种积极的学习心态,也许还有一个重要的因素是,唯有学生更懂得学生,所以更容易产生兴趣共鸣而形成学习共同体,特别是对于一些具体的学习难点更容易获得帮助互动,少走弯路或形成集体攻关力。这些显性的或隐性的学习行为,对学生更自觉地学习,建立问题导向学习思维模式,以及运用所学知识解决实际问题都会产生积极的影响。

参考文献:

[1]刘芳,等.《C语言程序设计》教学存在的问题及改进[J].教育理论与实践,2012(36).

[2]胡迎春.《C语言程序设计》课程教学新法[J].广西民族学院学报(哲学社会科学版),2003(S1):221-222.

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

关键词:数学地质,数值分析,C语言程序设计,教学方法

 

数学地质解决地质问题的一般步骤或途径如下:第一,进行地质分析,定义地质问题和地质变量,建立正确的地质模型;第二,根据地质模型选择或研究适当的数学模型;第三,运用数值分析理论对数学模型进行求解;第四,运用C语言设计计算机程序,并上机试算;第五,对计算机输出成果进行地质成因解释,对所研究的地质问题作出定量的预测、评价和解答。为了很好地解决地质问题,需要同时学好《数学地质》、《数值分析》和《C语言程序设计》三门课程。本文将对《数学地质》、《数值分析》和《C语言程序设计》三门课程的教学内容和方法进行研究,并介绍瓦斯危险性预测数学地质软件的开发。

1数学地质的教学内容及方法

数学地质(mathematicalgeology)是六十年代以来迅速形成的一门边缘学科。它是地质学与数学及电于计算机相结合的产物,目的是从量的方面研究和解决地质科学问题。它的出现反映地质学从定性的描述阶段向着定量研究发展的新趋势,为地质学开辟了新的发展途径。数学地质方法的应用范围是极其广泛的,几乎渗透到地质学的各个领域。

1.1 数学地质的教学内容

数学地质的研究对象包括地质作用、地质产物和地质工作方法。通过建立数学模型查明地质运动的数量规律性。这种数量规律性具体表现为地质体的数学特征、地质现象的统计规律以及地质勘探工作中存在的概率法则。其内容可概括为以下3个方面:①查明地质体数学特征,建立地质产物的数学模型。例如矿体数学特征是指矿体厚度、品位等标志变化的数量规律性。按其属性可划分为矿体几何特征、空间特征、统计特征和结构特征等4类。比如,尽管矿产有多种多样,但矿石有用组分品位的统计分布却服从正态分布、对数正态分布等有限的几种分布律。从它们的分布特征可以分析判断其成因特点,而且各类数学特征还具有不同的勘探效应。②研究地质作用中的各种因素及其相互关系,建立地质过程的数学模型。如盆地沉积过程的数学模型,地层剖面的计算机模拟,岩浆结晶过程的马尔柯夫链分析等。③研究适合地质任务和地质数据特点的数学分析方法,建立地质工作方法的数学模型。论文写作,C语言程序设计。例如,对于地质分类问题,可根据研究对象的多种定量指标,建立聚类分析或判别分析的数学模型,对所研究的地质对象进行分类或判别。又如针对大量的描述性的地质资料,通常可将其转化为0~1变量,建立各种二态变量的多元分析模型(逻辑信息模型、特征分析模型、数量化理论模型等),以解决地质成因分析和成矿远景预测等各类地质问题。论文写作,C语言程序设计。

1.2 数学地质的教学方法

数学地质的教学方法可概括为:①数学模型法。应用最广泛的是各种多元统计模型。例如用于地质成因研究的因子分析、对应分析、非线性映射分析、典型相关分析;用于研究地质空间变化趋势的趋势面分析和时间序列分析方法等。②概率法则和定量准则。由于地质对象是在广阔的空间、漫长的时间和复杂的介质环境中形成发展和演变的,因此地质现象在很大程度上受概率法则支配,且具有特定的数量规律性,这就要求数学地质研究必须遵循和自觉运用概率法则和定量准则。同时,地质观测结果不可避免地带有抽样代表性误差,因此对各种观测结果或研究结论都要做出可靠概率的估计和精度评价。以矿产定量预测为例,不仅要求确定成矿远景区的空间位置,而且应给出可能发现矿床的个数及规模,发现矿床的概率,查明找矿统计标志的信息量、找矿概率及有利成矿的数值区间等。

数学地质的主要研究手段是电子计算机技术,其中包括:①地质过程的计算机模拟,该项技术可以弥补物理模型法和实验地质学法的不足;②建立地质数据库和地质专家系统,以便充分发掘和利用信息资源和专家经验;③计算机地质制图;④地质多元统计计算及其他科学计算。

2数值分析的教学内容及方法

数值分析(numericalanalysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。为计算数学的主体部分。

2.1 数值分析的教学内容

运用数值分析解决问题的过程:实际问题→数学模型→数值计算方法→程序设计→上机计算求出结果。数值分析的教学内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。论文写作,C语言程序设计。

数值分析具有如下特点:第一,面向计算机。第二,有可靠的理论分析。第三,要有好的计算复杂性。论文写作,C语言程序设计。第四,要有数值实验。第五,要对算法进行误差分析。

2.2 数值分析的教学方法

根据数值分析的特点,教学时首先要注意掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合,要重视误差分析、收敛性及稳定性的基本理论;其次,要通过例子,学习使用各种数值方法解决实际计算问题;最后,为了掌握数值分析的内容,还应做一定数量的理论分析与计算练习,由于数值分析内容包括了微积分、代数、常微分方程的数值方法,学生必须掌握好这几门课的基本内容才能学好这一课程。

3C语言程序设计的教学内容及方法

C语言是一种计算机程序设计语言。论文写作,C语言程序设计。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

3.1 C语言程序设计的教学内容

C语言程序设计主要有两方面教学内容:一是学习和掌握C语言的基本规则;二是掌握程序设计的方法和编程技巧。“规则”和“方法”即语言和算法,是本课程的两条主线,二者不可偏废其一。从一定意义上说,“方法”更重要,因为它是程序的灵魂。一旦掌握,有助于学生更快、更好地学习和使用其他的程序设计语言。

3.2 C语言程序设计的教学方法

C语言程序设计是一门实践性很强的课程,对C语言初学者而言,除了要学习、熟记C语言的一些语法规则外,更重要的是多读程序、多动手编写程序。学习程序设计的一般规律是:先模仿,然后在模仿的基础上改进,在改进的基础上提高。做到善于思考,勤于练习,边学边练,举一反三,学会“小题大做”,一题多解,这样,才能成为一个优秀的C程序员。

4瓦斯危险性预测数学地质软件的开发

瓦斯危险性预测包括瓦斯含量预测、瓦斯涌出量预测和瓦斯突出预测。在利用数学地质技术进行瓦斯危险性预测时,需要进行大量的计算工作,一般要求用计算机完成其数学建模和未采区预测工作。随着计算机软硬件和可视化技术的发展,编制高速、高效、准确、灵活、用户界面友善的数学地质预测软件,是瓦斯地质研究向定量化发展的需要。论文写作,C语言程序设计。

4.1 数学地质模型的建立

瓦斯含量预测和瓦斯涌出量预测采用回归分析建立数学模型,即通过规定因变量和自变量来确定变量之间的因果关系,建立回归模型,并根据实测数据来求解模型的各个参数,然后评价回归模型是否能够很好的拟合实测数据;如果能够很好的拟合,则可以根据自变量作进一步预测。

瓦斯突出预测采用判别分析建立数学模型,即按照一定的判别准则,建立一个或多个判别函数,用研究对象的大量资料确定判别函数中的待定系数,并计算判别指标。据此即可确定某一样本属于何类。

4.2 数学模型的求解

对建立的数学模型,采用迭代法对线性方程组进行求解,即利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

4.3 数学地质软件的开发

采用C语言编写计算机程序,开发数学地质软件。瓦斯危险性预测软件的操作较为简便,功能较为齐全。在软件主界面菜单栏的菜单项下面,可分别进入瓦斯含量预测,瓦斯涌出量预测、瓦斯突出预测的对话框模块。在对话框里分别输入变量数据和数据文件,运行数据文件,按下详细资料或判别结果按钮,可以查看运算结果。按下预测未知单元按钮可进入预测对话框。

5结论

1)对数学地质、数值分析、C语言程序设计教学内容及方法的研究为解决地质问题提供了便利途径。

2)瓦斯危险性数学地质软件的开发较好地运用了数学地质、数值分析、C语言程序设计的理论和方法,为数学地质、数值分析、C语言程序设计的教学提供了应用实例。

参考文献:

[1]韩金炎.数学地质[M].北京:煤炭工业出版社,1993.1-282.

[2]姚传义.数值分析[M].北京:中国轻工业出版社,2009.1-373.

[3]贾宗璞,许合利.C语言程序设计[M].徐州:中国矿业大学出版社,2007.1-378.

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

关键词:课程改革;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.