c程序设计语言范文

时间:2023-03-13 15:02:06

c程序设计语言

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

关键词:C语言,程序设计,教学改革

中图分类号:G424文献标识码:A文章编号:1009-3044(2008)32-1166-03

Exploration on Transform in C Language Teaching

XIANG Xiang-qin1,2

(1.Laboratory of Network and Intelligent Information Management, Hefei University, 230601,China;2.Dept. of Computer Science & Engineering, Anhui University, 230039, China)

Abstract: Unifing teaching practice, the article has analyzed the question, it’s hard to teach and hard to learn, which exists in teaching and learning of C language programming in applied universities. In order to solve the problem, through reforming teaching content and teaching methods and means, teaching reform in C language have been explored. It is very useful to lead the students to understand course correctly, cultivate the interest of students, increase the ability of analysing and resolving questions and increase the students’ ability of using hands. And good teaching results have been achieved.

Key words: C language; programming; teaching reform

1 引言

程序设计是人们开发和利用计算机各种功能最直接的工具,对于理工科的高校学生而言,掌握一门高级语言是非常必要的。C语言是在国内外得到迅速推广应用的一种计算机程序设计语言,它既具有低级语言的特点,又具有高级语言的优点。并且《C程序设计》也是《C++语言程序设计》、《数据结构》等计算机专业课程的前导课程。现在许多高等院校将C语言作为理工科学生的第一门程序设计语言课程开设。

2 教学改革的必要性

传统教学法,过于注重C语言的词法、语法等理论知识的传授,而对如何分析问题、解决问题讲得不够,如何设计算法介绍不多;对学生自学能力、编程的能力和调试程序的能力培养不够,不够重视学生实际动手能力的培养,没有真正挖掘学生应有的潜力。学生经过一学期学习的效果往往是,了解了C语言的简单构成,掌握了一些程序设计的语法基础,能读懂别人写好的程序,或者会背程序,自己却不能针对一个具体的问题,设计出简单、合理的算法,不能独立编写一个完整的小程序。作为程序设计语言,教学的最终目的,就是让学生能自己分析、设计、编程和最终调试通过。所以说,C语言的教学改革需要已经迫在眉睫。

3 教改的主要内容

C语言牵涉到的概念比较繁多,规则复杂,记忆较难,编写程序时容易出错,再加上C语言教学一般以TurboC为主,TurboC的调试环境不是可视化的过程,这对于先接触Windows操作环境的学生来说,在客观上造成了掌握C语言程序设计知识的难度。而且,C语言一般是在高校低年级开设,学生刚入学,部分学生数学基础差,没有经历过程序设计能力的训练,这在某种程度上加大了讲授和学习C语言程序设计的难度。如何提高此课程的教学效果呢?笔者在C语言的教学活动中进行了一些改革与探索,取得了较好的效果。现将本人的教学心得加以总结,抛砖引玉。

3.1 引导学生正确认识本课程

C语言对大多数高校学生来说,在入校前或入校后,都曾听说过,有个概念上的了解。也就是因此,学生对C语言这门课的理解存在不足,主要表现在:一是C语言已经过时;二是今后不从事软件开发工作,学习没用;三是C语言太简单,可以轻松应付。

针对上述这些错误的看法,笔者在教学过程中,有意识地引导学生正确认识C语言。第一、介绍C语言的重要性:它是计算机专业基础课,说明C语言的学习对本专业后继课程学习的重要影响;第二、向学生解释高校开设的课程并不过时,所开设的大部分课程是基础理论课,就说程序设计语言吧,从面向过程到面向对象等,若是开设当前最流行的程序设计语言,这样等学生四年毕业时,当年最流行的语言就真的“过时”了,事实上,只要我们掌握程序设计的本质及核心,重点掌握分析和解决问题的方法,学习任意一种程序设计语言都可以,等真正需要运用时,可以说是一通百通;第三、不让学生死记硬背一些语法,背程序;经验丰富的软件设计者都知道程序设计的关键在于找到解决问题的步骤,即算法。

笔者对C语言教学进行改革,把授课重点放在讲授程序设计思想、方法和算法上,整个教学过程注重学生程序设计能力的培养和训练。从具体问题入手,努力把枯燥无味的“语言”讲得生动、活泼。理论与实践相结合,运用一些数学中学生很熟悉的实例,让学生能够认识到C程序设计在解决实际问题中所发挥的作用,从而让学生认识到,学习C语言可以解决多方面问题,也让学生意识到,要想学好C语言,必须具备多方面的知识,不是一朝一夕的事。

3.2 教学内容的确定

C语言知识点繁多,教师一般受传统应试教育的影响,将授课重点放在C语言的基本语法的讲授上,将教材中的所有知识点,都作为授课内容。这样,让学生觉得知识性太强,内容太多,听得枯燥无味,抑制了学生的能动性。笔者在教学改革中,首先从教学内容确定上下功夫,C语言作为第一门程序设计语言开设,一学期下来,所期望的最终目标,是能自己着手编写课本中的一些简单的小程序。因此,在授课中,讲解应放在的重要知识点,并让学生能举一反三,让学生在实践中自学,这样,将一部分知识点要求学生自学,充分发挥了学生的能动性。

3.2.1 知识点的确定

现在有关C语言的教学材料很多,合理的选用教材,很是关键。针对多本教材,笔者根据自己的教学工作,从中确定C语言的教学知识点,自编教材。为了充分发挥学生的学习能动性,笔者将有关C的知识点分为讲授类与自学类。

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

关键词:值类性;引用类型;值传递;引用传递

中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)15-30749-02

Analyzing the Parameter Pass in C# Language

BAI Xue-bing

(Zhejiang Institute of Traffic, Hangzhou 311112, China)

Abstract: the article narrates the parameter pass in c# language, which includes number, array and object parameter pass, and it also tells the difference between the call by value and call by reference.

Key words: value type; reference type; call by value; call by reference

1 引言

目前,随着程序设计语言的不断发展,.NET平台在windows平台上已站稳脚跟,成为主流的开发平台,C#语言作为.Net平台的主流语言,重要性不言而喻。目前,C#语言已成为唯一能与Java抗衡的语言,而日益受到程序员的喜爱。

在C#程序设计中,常常会运用参数来传递对象,然而,在程序设计语言中,参数的传递常常使人含混不清,因此,有必要好好的分析一下参数的传递,才能使你在运用C#语言时更加的心应手。

首先,我们需要了解C#语言的数据类型,C#语言的数据类型可分为两大类:一种是值类性(value type),它的数据存放入栈内的一个变量之中。例如整型、浮点与结构体(int、double、struct)。另一种是引用类型(reference type),它的数据不驻留在栈中,而是存储在堆中。当访问一个具有引用类型的数据时,需要到栈中检查变量的内容,该变量引用堆中的一个实际数据。例如类,数组,字符串class,array,string)。由于这两种类型的数据在参数传递时是如此的不同,我们需要分别讨论。

2 值类型传递

在C#语言中参数的传递可分为值传递(call by value)与引用传递(call by reference),值传递中函数将参数复制到子程序的参数中。因此,改变子程序的参数不会影响用于调用的参数。而引用传递视将参数的引用传递给子程序。在子程序内部,该引用用来访问调用中的实际参数。

下面我们用例子来说明区别。引用传递在C#中使用关键字ref或out。

2.1 值传递

在给方法传递数值类型时,如int类型或double类型,它们是通过值传递。因此,在给这种类型进行值传递时,函数的调用并不会影响在主函数的原先的值。

示例如下。

using System;

class Test {

public void noChange(int i, int j) {

i = i + j;

j = -j;}}

class CallByValue {

public static void Main() {

Test ob = new Test();

int a = 15, b = 20;

Console.WriteLine("a and b before call: " + a + " " + b);

ob.noChange(a, b);

Console.WriteLine("a and b after call: " + a + " " + b);

}}

程序产生的结果如下:

A and b before call:15 20

A and b after call:15 20

由此可见,noChange()内部发生的操作不影响调用中的a和b的值。

2.2 引用传递

但是如果你在函数调用参数前使用ref参数,表示使用引用传递。

示例如下:

using System;

class Swap {

public void swap(ref int a, ref int b)//参数前加ref表示引用传递

{int t;

t = a;

a = b;

b = t; }}

class SwapDemo {

public static void Main() {

Swap ob = new Swap();

int x = 10, y = 20;

Console.WriteLine("x and y before call: " + x + " " + y);

ob.swap(ref x, ref y);

Console.WriteLine("x and y after call: " + x + " " + y); }}

程序产生的结果如下:

A and b before call:1020

A and b after call:2010

由此可见,swap函数()内部发生的操作影响调用中的a和b的值。如果不使用ref参数,a和b仍然不会变化。

3 引用类型参数传递

由于在C#程序设计中,类作为引用类型常常被使用。在参数的传递中,类的实例对象常常被用来作为函数参数,因此我们就以对象作为研究对象。另外我们也讨论一下数组。

3.1 对象值传递

由于对象本身即是引用。因此,当对象被用来当作参数传递时,对象本身是通过值传递,但是由于对象本身是引用传递,改变参数所引用的对象依然改变将影响参数所影响的对象。

示例如下

using System;

class Test {

public int a, b;

public Test(int i, int j) {

a = i;

b = j; }

public void change(Test ob) //调用test类对象ob 值调用

{ ob.a = ob.a + ob.b;

ob.b = -ob.b; }}

class CallByRef {

public static void Main() {

Test ob = new Test(15, 20);

Console.WriteLine("ob.a and ob.b before call: " + ob.a + " " + ob.b);

ob.change(ob);

Console.WriteLine("ob.a and ob.b after call: " + ob.a + " " + ob.b); }}

程序产生的结果如下:

A and b before call:15 20

A and b after call:35 -20

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

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

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

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

笔者就以计算机专业必修课《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].电脑知识与技术.

[4]沈军.C程序设计语言课程的教学新思路[J].电气电子教学学报.

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

关键词: 《C程序设计语言》 误区 感悟

《C程序设计语言》课程是电子信息工程专业开设的第一门程序设计类课程。该课程在本专业的课程体系中处于承上启下的地位,对于学习后续高级编程语言具有很好的导引作用。笔者经过一个学期的系统学习后感觉受益匪浅,不仅学到了基础的编程语言知识,更重要是的掌握了逻辑性较强的编程思想。为了让更多学生很好地学习这门课程,笔者借此文总结出《C程序设计语言》课程学习时常见的误区,并给出解决上述误区的方法和途径,供广大同仁借鉴。

一、学习《C程序设计语言》课程时常见的误区

1.只注重写程序,而忽视读程序。

很多学生在刚学习这门课程时就希望自己能够独立编写出一些程序,但实际情况大相径庭,此时挫败感油然而生,甚至一些学生因为这种挫败感产生对这门课程的厌学情绪。其实就笔者的学习经历而言认为刚开始学习时,不要急于自己编程,因为此时你还没掌握好基础知识,不可能独立完成程序的编写,认真研读别人的优秀程序才是学习该课程入门最快,也是最好的方法,在读别人程序的过程中慢慢领悟别人的编程方法和思想。

2.没能将理论学习和上机实践进行有效衔接。

《C程序设计语言》课程的教学分为理论讲授和上机实践两个环节,因为学校主客观原因的限制二者之间存在一定的时间间隔,但二者在内容上又是相互连贯的。时间上的不连贯和内容上的连贯性会使得一些学习不主动的学生不能将理论课上老师所讲的知识和技能在上机实践中得到有效的验证和消化。因此,一些学生在上机实验时面对老师布置的作业会觉得无从下手,学习兴趣就会大大降低。而C课程的知识是承前启后的,前一部分知识没有掌握好,后面章节内容的学习也会大受影响,这样就进入了一个恶性循环。最大的问题是这部分学生不仅自身学不好内容,而且会影响其他学生,这样班级的整体学习效果就会大打折扣。

3.缺乏一定的逻辑思维能力。

很多学生错误地认为C程序设计语言就是变量、控制结构、函数、过程、数组的简单结合,认为只要掌握这些就可以编写出良好的程序了。其实不然,真正优良的程序是需要靠自己的逻辑思维对变量、控制结构、函数、过程、数组这些要素进行创造性的整合。所以C程序设计语言是一门锻炼学生逻辑思维能力的课程。当你具有抽象逻辑思维能力和弄清楚了变量、控制结构、函数、过程、数组相关知识后,编写C程序就是易事。

二、走出上述误区的方法

1.端正学习态度,充分认识到本门课程的重要性,并保持良好的学习心态和学习习惯。

《C程序设计语言》是很多高校学生接触的第一门编程语言,该课程对于培养学生较强的逻辑思维能力具有非常重要的导引作用,而逻辑思维对于处于信息社会的大学生而言是必不可少的,但是逻辑思维能力的培养又不是一朝一夕的,需要持之以恒地努力。对于学生而言,只有从内心认识到这一点才可以使自身在遇到学习困难时迎难而上。对于一些偏文专业的学生而言,在学习初期肯定会觉得一些概念晦涩难懂,与自己的思维方式存在差异,此时千万不能有畏难情绪,一定要相信自己,在自身努力、同学帮助和教师引导的三方努力下共同渡过难关,而自身的认真努力是首要的。课前一定要认真预习,对自己通过预习不能理解和解决的知识点和概念进行标记,上课时当老师讲授到这部分内容时要认真听讲,如果通过教师的讲解依然不能理解,千万不能就此搁置,一定要及时向老师和同学请教。C程序设计的入门学习并不难,却是一个十分重要的过程,因为程序设计思想就是在这时形成的,良好的程序设计习惯也在这个阶段养成的。

2.学习时要注重理解一些重要的概念,勤于动手编写程序,并借鉴别人编写的好程序。

C程序设计课程就其本质而言并不是很复杂,其核心无非就是变量、函数、过程、数组、控制结构(顺序结构、选择结构、循环结构)、文件和数据库等概念和相关操作。但这些概念虽然一些同学在数学课程中听说过,感觉似曾相识,但此概念非彼概念,二者还是有所不同,要真正理解这些概念就必须多动手、多思考。程序设计是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的。因此在学习过程中要勤于自己独立编写一些小程序,在编写过程中肯定会犯一些错误,在错误的解决过程中可以提升自己的编程能力,在能力提升的同时增强自身对该课程的学习兴趣。对于初学者而言,一方面要自己独立编程,但由于自身编程知识储备不充分,也要借鉴别人优秀的解题思路与方法,探究别人的思维过程,增强自己的思维能力,然后结合自身实际尝试实现或者说模仿着实现。

3.在学习过程中要避免孤军奋战、单打独斗,注重团队协作和互助。

笔者所在学校C程序设计课程的教学遵循先理论讲授后上机实验的步骤。一个教学班的学生人数在30至40人,实验课和理论课都只有一个教师。理论课和实验课之间的时间差会使一部分基础较薄弱的学生在实验课上会碰到各式各样的问题,而基础较好的学生在实验课上会很自如地完成老师布置的实验任务,因为只有一个老师进行辅导,如果那些基础不是很好的学生在学习过程中遇到问题后请教老师,老师此时可能正在辅导另外一个学生,在这种情况下就可以选择向身边基础较好的同学请教,这样既可节省时间又可加深同学之间的交流协作。经过半个学习基础知识的学习,老师会布置一些综合编程题让学生融会贯通并有效应用以前所学知识,笔者认为此时同学之间可以以团队形式进行答题,这样可以达到取长补短的效果。

参考文献:

[1]马丽洁.高职计算机和软件专业语言类课程改革探析――以C程序设计语言为例[J].电子商务,2015(07).

[2]曲珍,扎西加.浅析非计算机专业“C程序设计语言”课程的教学方法[J].科技,2009(12).

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

关键词:c++;多媒体教学;教育改革

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

一、引言

基于Visual c++6.0可视化开发平台的c++程序设计语言,以其强大的开发功能受到IT业界的一致认同,是众多理工科院校开设的计算机基础必修课。该课程具有很强的可操作性,其实践教学是培养学生编程能力的重要手段。笔者在担任该课程的多年实践教学中发现,在现在多媒体教学方式下,机械的教学虽然可以节省时间、增加教学信息量,但是缺乏传统教学中可以采用的灵活机动的授课策略。因此,出现了学生普遍学习成绩无法提高、厌学的情况,针对这些情况,笔者不断分析教学中存在的问题,并提出了相应的改革措施,改进教学方法。通过长期实践和总结,形成了较系统的适用于该课程特点的教学方法,在教学工作中取得了较好的效果。

二、教学中的问题

(一)内容多,课时少;上机实验学生多,指导老师少

在我校,c++程序设计语言一直以来是作为非计算机专业一年级新生学习计算机语言最普遍的一门计算机高级程序设计语言。新生从中学来到大学普遍没有接触过计算机高级语言更没有系统的接受过计算机方面的实践学习。由于c++课程本身逻辑性强、概念多、结构复杂等特点,导致学生学习兴趣下降,进而反映出学生最终难以学好该门课程。

学生普遍感觉C++语言难学,一个很大的原因是教学内容多而课时少。C++程序设计语言从知识体系来说主要分为两部分,一为结构化编程概念,一为类编程概念。每个章节的新概念多,知识点多。另一方面,程序设计语言的学习必须要实践,总课时的减少导致实验时数减少。同时,在实验过程中,每个主讲教师要面对整个教学班级的几十个学生,必然在上课中无法顾及所有学生。

由于课程内容庞大而课时有限,为了让学生对该课程有全面的了解,教师必须充分利用有限的课时完成必要的知识的讲授。

(二)学生学习兴趣不浓、学习态度不端正

学生在学习过程中,会遇到很多抽象的概念和理论,这些概念和理论较难被学生及时的吸收消化,从而影响后续的学习,恶性循环后,产生的唯一结果就是学生的学习积极主动性消失,学习兴趣就下降,最终的结果就是教学效果始终无法提高。

另一方面,学生普遍对c++程序设计语言的学习抱有不认同感。大部分同学不明白自己明明不是计算机专业的学生,为何要学一门计算机编程语言。因此,学习态度、积极性普遍不高。

(三)重书本,轻实践

所有的课程学习,最终的考核方式大部分都是以书面的形式来进行的。学生在学习的过程中,大部分仅注重书本上概念和理论的记忆以及习题的死记硬背,而轻视上机实验的重要性。因为,计算机语言本身就是一门实践性课程,只有在掌握概念的基础上不断的实践,才能真正掌握该门语言。学生重书本,轻实践的最终结果恰好适得其反,反而导致了学生的实践能力无法提高,程序的阅读能力差。

针对以上的问题我们在教学过程中逐步摸索,尝试了以下的方式以提高教学效果。

三、优化教学改革

(一)明确学习目的,提高学生学习兴趣。端正学生学习态度

为了培养学生的学习兴趣,在教学伊始演示由C++开发的一些有趣实用的应用软件,以增强学生对c++课程的喜爱。同时,端正学生的学习态度,让非计算机专业的学生明确学习计算机程序设计语言,不仅仅是为了通过期末考试或计算机等级考试,更重要的是通过深入学习c++程序设计语言,开阔学生用c++语言解决实际问题的思路,掌握相关领域中的计算机应用开发能力、利用计算机分析问题、解决问题的能力,以及培养学生自身的抽象思维和逻辑思维能力。

(二)采用新的教学材料

在已有的教学课时内,如何完成教学任务,提高教学效果,成为了每个教师的一个难题。在这几年的教学过程中,我们不断摸索、总结,在已有的教材基础上,进行吸收创新,重组教学知识点,编制了体系结构合理、内容完整、学生容易接受、前后铺垫的新教材――《Visual c++程序设计》(中国铁道出版社)。对每个示例程序给出了解释说明,还给出了调试结果,同时在学生掌握该问题的基础上,提出疑问引导学生进一步思考同类问题。使学生在经过学习后,不仅能知其然,还能知其所以然。

(三)改革考试模式,注重培养学生独立编程能力

1、改革考试模式,加大实践环节的比重

考试是检验教学效果的一个重要手段,考试模式则是引导学生学习的指挥棒。程序设计课程的教学要求和目标是培养学生的编程能力,所以要通过实际的编程实验来检验学生是否掌握了所学内容和方法。为此我们采取了“笔试+机试+平时”相结合的考试模式,通过笔试来考查学生对基本概念和基本理论的掌握情况,通过上机考试考查学生的基本编程能力,再加上学生平时的表现,最终给出学生考核成绩。通过加大实践环节所占比重来引导学生对实际编程能力的重视,达到对学生实际编程能力的培养。

2、注重基本语法调试技术

程序调试是程序设计中一个很重要的环节,程序调试水平的高低与编程经验密切相关,也决定了学生的编程能力。在上机过程中主要是注重学生程序调试能力的培养,让学生尽可能通过编译器给出的错误提示信息去分析存在的问题,必要时通过设置断点和单步跟踪调试来解决问题。

(四)采用PBL教学法,改革教学模式

基于问题式学习(PBL)是以问题为基础,以学生为中心的讨论式教学,特点是培养学习者运用知识、扩展知识并获取新知识,锻炼解决问题的能力为教学目标。

CH程序设计语言课程是一种演绎思维方法的训练,实践性很强,非常适用教学法通过“提出问题一算法分析一程序示例一语法解释一总结扩展”这一过程设计教学环节。突破传统教学模式,从根本上提高学生分析、解决实际问题的能力,提高程序设计课程的教学质量。

在教学过程中,逐步的从“知识”教学向“能力”教学转变,有针对性的采用新的教学模式――PBL教学模式。对于有特色、典型的知识点的教学,笔者就采用PBL教学模式进行教学。笔者在最近两年的教学过程中,试用了PBL教学模式,收到了较好的效果。

以循环结构的教学为例。第一,提出问题,要求学生解决某个数的阶乘,使用循环语句实现;第二,在讲解时,以累加问题为例,分析算法,然后逐步给出程序代码并分析;第三,要求学生进行配对组合进行讨论;第四,在围绕问题展开讨论学习后,要求在上机课上进行程序编写以验证程序的可行性。最后,在下一次理论教学课上进行总结、反思。

从学生的反应来看,大部分学生赞同PBL的教学模式,认为该方法能够启发思维,变被动学习为主动学习,形成了从理论到实践,逐步掌握知识的过程。表1是不同时期学生在笔者不同的教学模式授课下学习VC++程序设计课程并参加江苏省计算机等级考试的成绩统计。从统计结果来看,虽然学时数的调整对教学效果有一定的作用,但影响最大的因素还是教学模式。PBL教学模式取得了显著的效果。

四、结束语

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

【关键词】C程序设计语言;程序设计;教学方法

每门学科都有其自身的规律和特点,C语言也不例外。由于其规则复杂,算法灵活多样,许多初学者感到难于理解和接受,表现为设计程序时无从下手等。

如何才能让学生更快更好地学习C语言,我根据自己的教学实践总结出一点心得,与大家探讨。

1.循序渐进多次重复不断深化

无论学习哪一门语言课程,开始都会碰到一系列的新概念、数据类型、常量、变量、基本语句和设计方法等,这些内容对于刚刚开始学习编写程序的学生来说,是很难理解的。为此,对一些重要的、容易混淆的概念,在讲授时应采取多次重复的方法,碰到时,教师可以以提问的形式抽查学生的掌握情况,通过多次提问、反复纠正,使学生逐步理解。

2.采用启发、引导的教学方式

2.1 以兴趣带学习

与其他课程一样,要教好C语言,关键在于激发学生的学习兴趣,让学生主动、愉快地学习,满足他们的求知欲,才能取得良好的教学效果。

例如在讲递归问题时,这个知识点难度大,学生不容易理解。为了激发学生的兴趣,可先带领学生玩一个“汉诺塔”的游戏,即拿出事先准备好的三根小棍儿,最左边的棍子上,自上而下按照由小到大的顺序串着由5个圆饼构成的塔。要求学生将这5个圆饼全部移到最右边的棍子上,而且要满足两个条件:(1)一次只允许移动一个圆饼;(2)不允许把大的放在小的上。“汉诺塔问题”是典型的函数递归问题,在游戏中使学生体会递归问题就在我们身边,从而消除了畏惧心理,使学生初步掌握递归算法在程序设计中的应用,扩展学生的编程思路,提高学生的编程兴趣。

2.2 设置疑难问题,引导学生思考

教学时发现,学生提不出问题的原因往往在于没有真正掌握。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入。在教学过程中,引导学生在问题解决中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法能有效地调动学生学习的积极性和主动性。

例如,在讲数组的概念时,可先设置问题:编程计算5个人的C语言平均成绩。根据以前所学,学生会想到:需要说明5个类型相同的变量用于存放这5个人的C语言成绩。进一步要求计算50个人的C语言平均成绩,这时候如再说明50个变量,则会将问题复杂化,需要讨论该如何合理说明变量。再若需要求100个人的C语言平均成绩呢?此时,引出数组的概念、分析数组的性质,学生不仅能够很容易接受,还能够知道在什么情况下使用数组类型,取得事半功倍的效果。

2.3 教给学生正确的学习方法

例:从键盘输入任意两个整数,按由小到大的顺序输出。

写出程序之前首先需要进行以下分析:

①要解决问题,需要定义几个变量,变量的类型如何确定。

②变量没有值可以吗?如何给变量提供值。

③比较两个值的大小。

④输出结果。

将③深入:

如何比较a,b的大小?问题可描述为:若a小于b,将a、b直接输出;若a大于b,则将a、b交换后输出;这时引导学生思考能不能将a、b中的数据直接交换?直接交换会出现什么问题?得出要交换两个变量的值必须借助一个中间变量。

将以上4步细化为:

①需要定义三个变量,分别为:a,b,t;根据题目要求其类型应为整型(int)。

②a、b有值才能比较大小,如何从键盘给它们提供值?学生自然会想到scanf()。

③两个数比较大小。

④输出a、b的值。

这种方法可以引导学生了解程序设计的思路和方法,有助于把握问题全局、分阶段深入细化,使得每个阶段的问题都在容易理解和处理的范围内,使学生在遇到问题时不会感到无从下手。

2.4 对学生要以鼓励为主

学生普遍希望能够体现自我价值,受人尊重。教学中及时鼓励学生,肯定成绩,指出优点,表扬进步,有利于调动学生学习的积极性。在这几年的教学实践中我深刻体会到:即使成绩再差,老师只要发现并及时表扬其优点,学生会逐渐对所学课程产生兴趣,提高学习的自觉性,最终取得比较好的效果。

3.培养学生综合运用知识及动手能力

程序设计课程的实践性很强,学生只听不练根本达不到学习该课程的目的,必须通过布置课堂练习,让学生在完成任务的过程中,培养分析问题、解决问题和独立探索的能力。好的练习可以巩固知识,锻炼学生处理问题的能力。因此,练习的设计至关重要。老师在设计选题时,应使选题既接近实际需要,又能引起学生的兴趣,使学生能够运用所学知识解决问题。最后,可以通过学生的完成情况,让做得好的学生讲解思路,演示过程,激发学生学习的兴趣。

4.运用现代教学手段,进行多媒体教学

对于一些抽象的、学生难以接受和理解的语句和算法,利用多媒体教学的优势,进行通俗易懂的讲解和演示,增强学生的直观感觉,方便理解,起到事半功倍的作用。例如在讲循环结构时,学生很难理解三种循环的区别,通过制作多媒体课件模拟三种循环的执行过程,使学生对它们的结构和区别一目了然。另如在分析用选择法和冒泡法进行排序时,可以用Flash制作一个由若干个人按大小个儿排队的动画过程,模拟选择法和冒泡法排序的执行,以达到将抽象问题形象化、枯燥问题生动化的效果。

以上只是自己的一点经验体会,实际上在教学过程中应注意的问题还有很多。一个C程序设计教师要想教好该课程,其关键就在于对教学内容(教什么)和教学方法(如何教)进行合理的组合,但现实中由于教学目的、教学内容及学生情况等因素的千差万别,没有哪一种教学模式或方法是普遍适用的,惟一的原则就是根据实际情况采用合适的教学模式和教学方法。

参考文献

[1]陈守智.程序设计教学的改革与探索[J].华北工学院学报(社科版),2002,2.

[2]吴鸿雁.关于计算机语言教学方法探讨[C].江南大学信息学院学术论文集,2004,5.

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

关键词:C语言;教学策略;教学内容;教学方法;教学手段

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)22-0150-02

一、引言

目前关于C语言程序设计课程在教学策略方面所做的探索与改革不少,而在教学策略的整体结构设计和教学策略的内涵研究方面略显不足。目前,在C语言课程的教学策略设计、使用和研究中主要存在如下问题。

1.教学方法与教学内容特性不匹配。在教学策略的设计中,对所运用的教学方法必须要考虑学科和教学内容的特点。但是在高校实际的教学活动中,教师对教学方法的特点、基本操作程序及使用条件了解不足,对教学方法的选择与使用存在很大的盲目性和单一性,导致教学内容与教学方法的脱节。

2.教学手段与教学内容特性的不匹配。传统课堂教学、多媒体教学和网络教学三种教学手段都有各自的优缺点,无法用某一个完全替代另一个。同样的教学内容采用何种教学手段虽然没有严格规定,但简单采用单一的教学手段而不考虑教学内容是否适应所带来不理想的教学效果是显而易见的。

二、C语言课程的主要特点

C语言课程做为程序设计语言的一门重要基础课程,无论从课程内容还是教学思维上都有其自身特点,分析与把握这些特点是教学策略优化设计的基础。

1.程序结构类型和概念多。C语言课程教学内容按照其描述和作用特点分为多种类型,而且涉及到的概念众多,包含大量的定义、语法、概念、语句,每一章都是以某种程序结构和相应语法规则为主线来进行描述。

2.操作应用性强,思维转换要求高。要达到培养学生具有使用计算机解决实际问题的初步能力这个目标,就不能仅局限于单纯培养学生的操作技能,而是要注重在教学内容的组织和讲授中引导学生从自然思维考虑问题转换为从计算机思维考虑问题,也就是要按照计算机求解问题的基本方式去考虑问题的求解,提出问题解决的方法,构建出相应程序等的能力。

三、C语言教学策略设计

1.教学策略设计宗旨。教学策略优化设计的宗旨是将教学内容、教学组织形式、教学方法与教学手段这四个教学活动的构成要件,进行科学的选择与组合而构建起“立体式教学策略”。其中教学方法与教学内容如何相匹配是教学策略能否有效地提高课堂教学质量的核心问题;教学手段与教学内容如何相匹配是能否利用先进技术手段提高教学质量的关键问题。

2.立体式教学策略设计基础。立体式教学策略设计首先要完成以下两项基础工作。

(1)教学内容属性分析。教师作为教学活动的主导者和组织者,应该对课程教学内容的特点和属性有清晰的理解。在教学实践中,教师重视和了解教学内容的分类,对于教师帮助学生获得与生成知识和能力有很好的促进作用。

教学内容的分类属性:C语言的教学内容可以归纳为为概念型、原理型、描述型、推导型、类比型、操作型等类型。比如,概念型是指反应客观事物的一般的、本质的特征的符号;操作型是指关于如何做事、如何完成一项工作的知识,通常为一系列动作、行为程序,或者完成任务所需的步骤等。例如,概念型:反应客观事物的一般的、本质的特征的符号,如函数定义、函数的分类。操作型:是关于如何做事、如何完成一项工作的知识,通常为一系列动作、行为程序,或者完成任务所需的步骤,如函数调用。推导型:是由某些已知因素依据定理、公理等逐步推到获得结论的知识,如函数嵌套调用。策略型:为有效的实施战略或更好地达到某一特定目标而采取的特殊措施。

(2)教学方法与教学手段特征分析。结合教学内容的属性特点选择不同的教学方法和教学手段,将其运用于教学中就会显示不同的效果。依据教学方法和教学手段的作用与特点,对教学方法和教学手段的特征进行了分型和归类。①教学方法分类。教学方法从大的方面可以分为主导类、主体类和双主兼容类,进一步细分又有概念获得式、探究式、抛锚式、范例式、自学-辅导式、自主学习式等等。②教学手段分类。教学手段主要分为传统的口述+黑板的形式、多媒体教学手段和网络教学手段。其中多媒体技术教学手段使用文字、图形、动画、声音等以动态的方式呈现每个知识点,极大地增加了信息量,使得学生更加容易接受知识。

3.立体式教学策略设计步骤。分两步对教学策略的教学要件进行组合,设计C语言课程的立体式教学策略。①建立教学要件标识表。建立教学方法特征标识表。建立教学手段特征标识表。建立教学内容特征标识表。②建立组合匹配关系。针对教学要件确定如下组合原则:对于概念型等的易于发挥教师主动施教作用的教学内容可采取实施传递―接受式、概念获得式等教学方法。对于操作型等的强调发挥学生在教师指导下作为学习主体的教学内容,可采用探究式、抛锚式等教学方法。对于研究型的教学内容,可在以教师为中心的传递―接受教学模式基础上,采用探究式或自学―辅导教学模式,培养学生的创新能力、思维能力和自主学习能力。采用探究式、自学―辅导式等教学方法,培养学生的程序思维能力,更多采用多媒体技术的特有手段,如图形、动画、链接等。③设计C语言课程立体式教学策略。C语言课程立体式教学策略的设计结构举例如下:A内容属性为事实型,知识点如什么是函数、指针变量的含义,教学方法可采用传递─接受式,教学手段使用板书+多媒体课件+动画演示;内容属性为概念型,知识点如输入输出函数、选择结构定义、循环结构定义、函数的定义、初始化及指针的运算、一维、二维数组的基本概念等,教学方法可采用概念获得式、抛锚式式范例式等,教学手段使用板书+多媒体课件+动画演示。B内容属性为操作型,知识点如输入输出函数、选择结构、循环结构掌握函数的调用及参数的传递方式、函数语法规则,指针的运算、指针与变量的关系、指针作为函数的参数,教学方法采用抛锚式、探究式、自主学习式等,教学手段可采用多媒体课件+动画演示+网络资源。④制定教学策略课堂实施方案。在C语言立体式教学策略的基础上,针对课程的每个章节教学内容,即可制定出立体式教学策略的具体实施方案与相应的多媒体课件。

四、结束语

立体式教学策略的设计与使用,通过解决以下三个具体教学问题,提高了C语言课堂教学的教学质量。

1.强化了教学方案设计的科学性。立体式教学策略兼具稳定操作性和动态层次性,既科学规范了课堂教学活动,也提供了教师充分发挥自己的创造性、主动性的弹性空间,克服了课堂教学方案设计的随意性和不合理性,强化了教学方案设计的科学性。

2.保证了教学方法使用的针对性。依据教学内容的属性特点选择合理的教学方法,将教学的组织形式变“线性式教学设计”为“拓扑式教学设计”,克服了教学方法的选择与使用中存在的盲目性和单一性,保证了教学方法使用的针对性。

3.提升了多媒体课堂的教学效果。根据教学内容的属性特点,参考教学方法的运行程式,结合多媒体技术的表现力、接触面、参与性等因素,通过教学要件的恰当组合,克服了多媒体课件的“简单演示化”、“照搬书本化”等缺点,提升了多媒体课堂的教学效果。

参考文献:

[1]张敏,郑盛娜.基于学生认知风格的教学策略设计[J].浙江教育学院学报,2009,(06).

[2]吴文胜,盛群力.论有效教学策略的设计[J].杭州师范学院学报,2002,(09).

[3]斯彩英.浅谈多媒体条件下的课堂教学策略设计[J].职业教育研究,2004,(09).

[4]樊泽恒,基于自主学习的网络教学策略设计[J].中国电化教育,2005,(10).

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

关键词:C++程序设计语言;实践教学;建设

中图分类号: G641 文献标识码: A 文章编号: 1673-1069(2017)01-103-2

1 实践课程简介

本课程属于我校计算机类本科生的第一门专业基础实践课,课程内容包括C++语言程序设计的理论和实践两个部分。基础理论部分内容包括C语言程序设计的基本概念、C++面向对象程序设计、类、对象、继承、派生、多态、模板等概念。实践部分则包括C++语言程序设计的基本训练、类和模板的设计编程、几个算法的实现、简单应用等。

C++语言程序设计是计算机类本科生的一门程序设计语言基础课程,虽然现在大多数程序员使用Java语言做项目开发,但作为程序设计的入门语言,考虑到在培养程序员思维方式的转变过程中,既要兼顾理解计算机硬件和软件的结合,又要程序员从传统的数学逻辑思维方式继承并成功转型到计算机逻辑思维方式。目前也只有C或C++语言能够较好的满足这种需求。

本课程注重采用C++编程语言的最新国际标准[1],结合我们学校实验室硬件的情况,尽可能采用国际上正在流行的比较新的编程软件进行实践教学。使得课程的讲授内容始终跟踪C++程序设计语言的前沿性和先进性。积极学习和引入国内外同行的先进教学方法和教学案例。简单介绍C++语言程序设计的几个流派、现实的应用情况及未来发展趋势。

本课程强调学生在认真听课、阅读理解课本上的有关程序设计的概念、方法外,还要善于利用互联网的资源,特别是学习C++语言程序设计的几个官方网站、几个行业大牛的网站上的知识。在理解理论的基础上展开实验验证,不断的修正自己的理解偏差,使自己学到的知识不断完善,形成体系,为后续课程的学习打下一个坚实的基础。在C++语言程序设计实践教学过程中,强调合作能力的培养,团队意识的形成。自2004年以来,本课程教学效果得到学生的一致肯定,锻炼和培养了学生的实践能力,比较好的完成了本门课程的教学任务。

2 实践教学目标

本课程的实践教学目标包括:学生通过本课程的学习、实践,让学生从中学生传统的数学思维方式转变为结合计算机软硬件特点和计算机逻辑的计算机思维模式去分析问题、编写程序、实现解决问题。通过C++语言程序设计课程的实践训练,了解什么是面向对象的设计思想,养成良好的程序设计风格。利用C++语言程序设计来解决一些实际问题;学会自顶向下,逐步细化,会把复杂问题拆解为几个更为简单的问题,利用面向对象技术进行设计和编程。培养团队协作和开放意识,为计算机类专业后续课程的学习打下一个良好的基础。

3 实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)

①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。

②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。

鼓励学生自主组建C++语言程序设计兴趣小组去找协作课题、完成课程设计作业。实验课堂上也鼓励学生多走动、多交流。建立网上资料、技术分享机制、鼓励学生分享解决问题的方法,老师根据学生的分享情况,适当增加学生的平时成绩。

③逐步建立学校和社会的协同培养模式。在教学过程中,课外时间如有可能,适当组织部分学生走出校门,利用校友资源,组织参观企业、科研院所、地方政府等单位在计算机方面的应用情况。了解社会需求、拓展视野、激发学生学习本专业的积极性。形式多样的人才培养协同创新模式。教学团队通过学院与广州易数信息科技有限公司、广东省信息安全测评中心、广州杰赛科技股份有限公司、广州腾科网络技术有限公司等企事业单位建立了长期战略合作关系。这些都为创新型人才培养打下了坚实的基础。

4 实践教学考核方法

本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。

5 实践教材

本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。

6 实践教学环境和教学资源

本课程的实践教学环境为:①学习版的微软公司的Visual Studio Visual C++的集成开发环境。②Bloodshed Dev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。

教学资源:

①课程概要:课程简介、教学大纲、课程特色、教学效果。

②在线课堂:课程PPT。

③实验指导:实验指导书和实验报告。

④部分大作业选题目录。

⑤C++语言程序设计课程及研究常用、重要网址列表。

7 实践教学效果

经过多年探索和实践,教学团队在人才培养模式、教学方法、实践教学改革、试验教材编写等方面取得了一定的成绩。团队成员发表相关教改论文10余篇,获得过2010年广东省千百十校级人才项目,主持广东外语外贸大学校教学研究课题“毕业设计管理系统”,2010年度、2012年度广东外语外贸大学优秀科研业绩奖二等奖,周咏梅和林华两位老师获得过年度优秀个人。教学团队成员具有丰富的教学改革实践经验和理论基础,保证了本门实践课的教学质量。

通过大作业与新技术资料翻译,提高了学生主动学习的积极性、培养了团结协作精神。提高了解决问题的能力。组织部分学生到相关企业参观、坚定同学们学习本专业的积极性。

指导学生积极开展科研实践和申报项目,获得成绩如下:

①在王玉山老师的指导下,软件系2015级大学一年级新生林泽聪等获得了广东省团委的攀登计划项目:个人健康档案,获得资助2万元。

②在周咏梅和蒋盛益老师指导下,彭金原等同学获得广东外语外贸大学校级大学生创新创业项目:网络舆情构建关键问题研究―以微博客为分析对象(2011年校级);黄确君等获得:面向高校图书馆的推荐系统(2012年校级)。

部级学科竞赛获奖情况:

Innc多媒体解析语言,2007年在天津举办的全国第10届挑战杯比赛3等奖,2004级软件工程专业,文羲畅。指导老师王玉山。该项目同时获得广东省2007年第九届挑战杯1等奖。

省级学科竞赛获奖情况:

①四灵象棋――基于互联网与移动设备联合开发,广东省第18届“高校杯”软件作品赛一等奖,2006级计算机专业:郭勇、刘荣科、何健,指导老师:林华、蒋盛益、吴彩虹、王玉山。

②基于Web3d的网上服装商城 , 第十七届广东省“文泰高校杯”软件设计(本科组)竞赛1等奖, 2004级软件工程专业学生,指导老师,王玉山。

泛珠三角安利杯大学生计算机作品赛:

2006级计算机专业,陈俊平,余雯. 基于C++语言程序设计的垃圾邮件识别系统, 泛珠三角大学生计算机作品赛广东赛区, 二等奖,2009。

2006级计算机专业学生,“任意达”――私人定制高校客车联盟系统,大学生计算机作品赛暨泛珠三角大学生计算机作品赛广东赛区选拔赛三等奖 , 指导教师林华。

8 实践课程特色及价值

《C++语言程序设计》作为大学计算机类1年级新生的第1门实践课程, 肩负着既要把学生从传统的数学思维方式向结合计算机软硬件特点的计算机思维方式转变,又要转变学生的应试教育模式学习方式向探索式、实证式、协同式、全球互联网求助式、开放式教育学习方式转变。还要求学会面向对象的程序设计思想方法,为后续课程的学习打下一个良好的基础。课程内容本身要求理论联系实际、在理解理论的基础上进行实践验证并不断修正、完善自己理论体系。学习本课程后,要求能够进行面向对象的类的设计,能够解决一些实际问题。本课程的特色和价值主要表现在:

①课程内容理论联系实际,所用软件实验工具、环境要符合时代需要、要采用最新的C++语言程序设计国际标准进行实验讲学,在试验中老师要善于对于同一个程序代码、进行适当变换就可以讲解、实验几个概念和方法,争取用较短的实验时间获得尽可能大的教学效果。

②对于实验内容的数量和深度做到适度,有时候甚至要把问题进行分解,让学生容易理解和实验操作,然后再把解决的问题整合串联、形成比较复杂的编程逻辑、达到锻炼能力、逐步提高水平的目的。也要让学生逐步学会对于程序提出各种修改方案进行实验、达到灵活运用。由于是大学新生的第一门实验课,要学习的基本概念、基础方法比较多,一些程序技巧和需要记住的语句段落要有适当重复训练。内容也要紧密联系实际,吸引学生投身于科技创新。让学生设计一些联系实际的程序,让学生具有的成就感,吸引学生更深入的学习C++语言程序设计。

③在保证基本实践教学的同时,要善于发现好的苗子,并适度引导他们开展四年的项目规划,利用课外时间进行深入研究,形成合作团队,为人才培养的连续性做出贡献。组织部分学生到企业参观实习,让学生早点了解行业需求,使得今后的学习更加贴近实际、符合社会需要。

参 考 文 献

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

关键词:c语言;程序设计;数据结构;教学;实践;考核

1概述

C程序设计语言(The C Programming Language,以下简称“C语言”)是一种通用的编程语言,于1969年至1973年,在贝尔实验室由丹尼斯・里奇(Dennis Ritchie)设计并开发出来。C语言灵活高效、功能丰富、表现力强、移植性好,在程序设计人员中备受青睐,在系统软件与应用软件的开发中被广泛采用,成为近年来使用最为广泛的编程语言之一。

二十世纪八十年代,美国国家标准协会(ANSI)为C语言规定了一套完整的语法规范,称为ANSI C,作为C语言的标准(该标准于1990年,被国际标准化组织(IS0)接受),并不再发展新的C语言标准。当下,有关C语言程序开发工具,一般都支持ANSI C,国内的C语言教程也基本都是以ANSI C为蓝本编撰。

2学习C语言的重要性

C语言以一种简易的方式编译、处理底层存储器,只产生少量机器代码,同时不需要任何运行环境支持便能高效运行。c语言很适合搭配汇编语言使用。尽管c语言提供许多底层服务,但仍保持自身良好的跨平台特性,一个标准的c程序可在许多计算机平台上进行编译,即使是一些嵌入式处理器或者超级计算机。

C语言是我国高等学校理工科学生的公共基础课,是学习计算机专业基础课的先修课程,是全国计算机二级考试语言类考核科目之一,是国家软考(程序员方向)的必考科目。肩负计算机编程语言的推广与普及,结构化设计思想训练与培养的重任!

3C语言教学中遇到的问题

C语言既有严格规范的程序编制逻辑,又有具体全面的语法表达细节,学生在最初接触c语言时,常常充满好奇、大胆尝试,但随着课程的深入,难度的加大,总是暴露出这样那样的问题:

当表达式、语句单独出现时尚能理解使用,但当语法点多了,程序规模大了,前面的基础知识掌握不牢,后边的新内容又接踵而至,同学们对这些缺少基本的心理准备,常常手足无措,导致知R衔接失环。

C语言是一门实践性很强的课程,不少同学,遇到即使是最简单的编程问题,首先想到的是去找现成的答案、查前人的代码,而不愿尝试自己动手编制,他们只起到一个文档录入员的作用,基本达不到编程思维训练的目的。

在对习题的处理上,同学们也往往局限于固定的题目或书本的例题,局限于靠记忆积累的知识分布,缺乏起码的能动性,题目只要稍有变通,他们就不知道从何人手,找不到解题办法,思维一直处于线性阶段,思路始终难以打开。

随着课程的推进,特别是到了函数和指针部分,逻辑思维门槛提高,抽象概念出现频繁,致使学生学习的兴趣迅速衰退,动力急剧减弱,特别是学习心态发生根本性变化:有些同学过于浮躁,对C语言的学习流于表面,稍有挫折,立即放弃;有些同学认为C语言已经过时,内容与社会脱节,在当今ITAT产业中已经派不上用场;部分学生认为大学毕业后不会从事软件开发及相关职业,学的好与不好,对以后就业、发展没有任何影响

4C语言教学方法的探讨

当前,科学技术突飞猛进,新生事物层出不穷,体现在校园里:知识的传播手段丰富多彩,教育教学方式不再限于课堂,MOOC、电教、公开课……俯拾皆是。

在开放式教育扑面而来的今天,如何上好一堂传统的C语言课,倒更值得基层计算机教育者深思。笔者结合多年的学习体会和实践经验,谈谈如何更好地进行C语言教学―个人的粗浅认识,敬请斧正!

4.1历史的深度――C语言的发明

计算机科学与技术界有些里程碑式的人物、划时代的事件必须被刻骨铭记,这里面就有肯・汤普逊(Ken Thompson)、丹尼斯・里奇、Unix的出现、C语言的发明等。

美国的贝尔实验室一直聚集着世界上最有天分的科学家和最富创造力的工程师。1966年,24岁的肯・汤普逊加入贝尔实验室,参与了基于GE-645电脑的Multics操作系统项目开--发。期间,肯・汤普逊编写了+名为"SpaceTravel”的游戏,运行在GE-645上。

后来Muhics项目因为推进缓慢而被终止。为了能够继续玩游戏,汤普逊找到一台老式PDP-7机器,重写了他的"SpaceTravel"游戏。那时候的PDP-7计算机和其他计算机一样,还没有操作系统。把游戏移植好之后,汤普逊与同事丹尼斯・里奇带领一些贝尔实验室的成员在PDP-7上面进行开发,写出了一个名为“Unix”的操作系统,(与“Muhics”名字相对应)。Unix最早运行在PDP-7上,用汇编语言写成。为适应Unix系统工作环境,汤普逊创造了B语言,B语言没有数据类型。

1970年,PDP-11出现,丹尼斯・里奇与肯・汤普逊着手将Unix移植到PDP-11上,无类型的B语言在PDP-11上很不适应,丹尼斯・里奇就在B语言的基础上创造了C语言。

1973年,Unix操作系统的核心正式用C语言改写。

1975年C语言开始被移植到其他机器上使用。从最小的微型计算机到CRAY-2超级计算机。

1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,丹尼斯・里奇和肯・汤普逊二人一起获得了图灵奖(计算机科学界的“诺贝尔奖”)。

道格拉斯・麦克罗伊曾经评价:“你可以安全地把丹尼斯・里奇和肯・汤普逊的名字放到计算机科学界几乎所有未经他人署名的地方!”

4.2现实的广度――C语言无处不在

C语言发明于40多年前,经过时间的检验与历练,依旧历久弥新、光彩照人。可以说掌握了c语言,你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去写代码、搞开发了,这么说是不是太夸张了?

现在可供学习的编程语言非常多,新的语言还在不断涌现,有人自然要问,当下,哪种编程语言最受欢迎?我该学习那种语言?C语言现在用得多吗,是不是过时了?

4.2.1统计规律

当然,以上问题每个人的看法可能都会有所差异,还是用数据说话比较客观:

由图l可以看出,虽然2016年以来C语言受欢迎程度有所下降,但C语言排名始终处于前两位。该图中,2008年C语言的受欢迎程度也曾一度下降,但最终仍迎来反弹,甚至在2013年前后超过iava,蹿升到第一位。

因为功勋卓著,所以c语言至今仍备受推崇。一个最直观的例证是,上图最受欢迎的10种语言排行中,除了c语言自身,其他9种语言,有7种都或多或少借鉴了c语言的语法规范,而Java、C++、C#、PeA则直接衍生自C语言,只有VB和Python不怎么受C的影响。

科学上有句话,叫“先实现、后优化”,先实现意味着从无到有,后优化意味着进一步的完善,c语言明显属于前者。到这,大家该知道C语言的魅力了吧!

4.2.2我们被c语言包围

大家知道的操作系统,Microsoft Windows、Unix、Linux、Mac 0Sx都是用CZ言写的,无一例外。比如Linux:

目前大家的生活已经离不开智能手机,而手机上运行的Android就是基于LintLx操作系统。低成本、移植性好、定制功能强,使得Linux在嵌入式系统领域应用广泛。Linux发行版一直被用来作为服务器、主机和超级计算机的操作系统,根据2010年11月公布的数据,超级计算机前500强,有459个(91.8%)运行Linux。

必须强调的是:Linux的绝大部分代码是用C语言写的,少部分用了汇编语言。

4.3数据(结构)的高度――C语言是对数据结构的具体表达

丹尼斯・里奇于1967年加入贝尔实验室。第二年发表博士论文《程序结构与计算复杂性》(Program Structure and Computational Complexity),(耐人寻味的是里奇最终没有正式获得博士学位)。当时,里奇已经对(数据)结构、计算(后来称为算法)等等有了深刻的认识,他所发明的C语言其实是对这些认识的具体实现!

无独有偶,瑞士计算机科学家尼克劳斯・维尔特(德语:Niklaus Emil Wirth)于1976年出版过一本书Algorithms+DataStructures=Programs,这本书的书名《算法+数据结构=程序》成为后来计算机科学特别是软件科学的指导思想。

4.3.1起初,我们把计算机定义为研究算法的科学

早期,一些非常复杂的公式计算,是很难通过人脑在短时间内完成的,另外,如果需要人脑重复去运算这些公式,出错的几率非常高。这时,需要借助一种工具来帮助人们高效、准确、快速地完成公式计算,做一些重复性工作,这就是计算机出现的原因。

那个时候的计算机非常庞大,功能简单,速度相对较低,运算能力有限,人们通过编制高效的算法简化复杂的公式运算,期望较快的得出结果,所以,当时人们称计算机是研究算法的科学。

4.3.2现在,计算机是研究数据(结构)的科学

随着科技的进步,超大规模集成电路的出现、Internet的异军突起,这些迅速推动了计算机的普及,此时的计算机早已超越了原始的公式计算,转而用来代替人们从事复杂单调的劳动以及对大批量数据的处理。

广义上的数据实际上是非常复杂的,远不止中学时学到的整数、复数、虚数等。现在的数据实际上包含了现实世界中所有能被计算机处理的信息,我们要对这些信息进行抽象,分析它们的特性,进行高效的存储,还要编制算法对它进行统计、查询、输出等等。

为满足人机交互、速度快、可视化等要求,计算机必须具有对大批量数据进行高效分类处理的能力。所以我们称现在的计算机科学是研究数据(结构)的科学。

4.3:3C语言与数据结构(算法)的联系

程序就是大家用程序设计语言编制出来的语句流程。你编写一个程序,首先就要对数据进行定义。在C语言中所定义的数据,包括了整型、浮点型以及字符型等,还包括了一些较为复杂的数据比如:数组、结构、记录等,这些,被我们称为数据类型。

在编写程序之前,我们必须确定要面对哪些数据,这些数据的类型是什么,这些数据之间的关系是什么,这实质上就是数据结构的具体体现。当然纯粹的数据结构比C语言处理的范围更广,难度更大,更抽象;另外,很多数据结构不是由程序设计语言提供给你,而是要由你自己来编写的。

大家用C语言编写程序,对定义的数据进行相应的运算,加上顺序语句、循环语句、判断语句等程序流的控制,这就构成了算法。

总之,我们的C语言程序确实就包括了数据结构和算法这两个部分。

4.4实践的厚度――C语言“干”比“知”重要

从事C语言教学的朋友都知道,这门课程的核心概念是结构化、三个基本流程、优先级、数组、函数、指针、结构体、作用域、文件等,这些概念把整个c语言的逻辑体系贯穿起来,只有明白了这些才能在今后的学习中扎实把握C语言的精髓。

当然我们也知道,光靠听课和看书是学不好以上概念的,c语言的学习既要掌握概念,更要动手编程,还要亲自上机运行调试,要十分重视实践环节,学得好与坏,不是看你“知不知道”,而是“会不会干”。

4.5考核的宽度――C语言要宽进宽出

学校整个教学大纲的安排,C语言的课时相对较少,一般64学时(包括16学时上机),在这么短的时间内要学生们掌握c语言,着实不是一件轻松的事。反映在课程的考核上,就是期末考试不及格率高,接下来的补考通过率低。

鉴于c语言自身的特点,这着实让任课老师伤透脑筋。撇开学生如何学习,老师如何讲授不谈,这里谈谈本人对考核体系的一些思考与尝试(本门课学生的构成不做要求:可以是专业的、选修的、重修的、留级的……),即,用2-3-5的原则把整个考核分为论文、平时成绩、期末考试三个部分。

4.5.1论文(20%)

以当下计算机科学为主题,写一篇文章。内容不限、形式不限、字数不限,可以是自己的看法、观点、思想,可以是程序、算法、数据抽象,但有一点要强调:就是必须是自己的原创。

4.5.2平时成绩(30%)

平时成绩主要用来记载课前测验、课堂提问、作业完成、实习效果等情况,这也是最考验教师智慧的地方,因为这意味着对每个学生的学习情况进行“跟踪”,工作量加大。当然,如果这个环节处理好了,那就能把握学生梯度,因材施教,这个也是对学生们最负责任的做法。

4.5.2期末考试(50%)

该课程尽量早结束,晚考试,空出的时间,留给同学们做模拟题。本课程参考驾照考试模式,编选出20套题,其中10套留给学生模拟,另外10套作为期末试题库,以考督学,如果有部分同学在第二个环节(平时成绩)做得不够好,通过模拟题,可以让他们及时发现问题,找出差距,迎头赶上。

以上是一种个性化设计,体现出老师的人文关怀,通过以上方法,学习效果普遍好转,考试通过率明显提高!

4.6成长的跨度――C语言需要终生学习

第一次接触C语言,往往是在高校,学习的目的是学分。当然,学了以后,有部分朋友会喜欢上它,特别是等你踏上工作岗位,接触了其他语言,这时你再回头来看C语言,你会被它的美所征服,c语言是天才的作品,是丹尼斯・里奇留给计算机界的宝贵遗产,短时间内掌握不了它是很正常的,本人每读一遍教材,就会有一次新的体会。所以,个人认为C语言需要用一辈子来学习。

4.6.1对效率的追求

在计算机相当昂贵,速度相对较慢,内存以KB计算的年代,人们对程序效率的要求是苛刻的。c语言精心设计的代码可以极大地节约计算机资源,同时又比汇编语言容易理解,所以受到程序员的普遍欢迎。

C语言留给编程人员最大的自由度,让他们不受约束地张扬个性、发挥创意,基本不用去质疑代码的危害性,因为c相信程序员是正确的,即便有错误,也一定能够自我修复。当然,无限制的自由,一面释放出创造欲,另一面则制造出混乱。

4.6.2谁制造了灾难

S着硬件性能的提升、软件规模的扩大,程序的运行效率让位于安全性、稳定性、维护性,这时编程人员数量剧增,编程水平降低,出错概率加大,程序关联陛加强,一个不起眼的错误就可能引发系统性灾难。很多人把这种灾难产生的原因归咎于c语言,开始怀疑它、畏惧它、逃避它,却很少反省自己糟糕的编程能力。

4.6.3倔强的c语言

有人提出给C语言戴上枷锁,C语言拒绝了。于是很多语言罩上c的外衣,自己戴上枷锁出现了。它们看上去很像c,所以容易被大家接受;因为它们戴上枷锁,所以不再听命于程序员,而是朝程序员发号施令,如果程序员拒绝,它们干脆就躺倒不干。这样灾难事件减少了,开发步伐加快了,团队合作容易了,代码错误减少了,编程能力降低了……

有那么些程序员,他们坚持信念、喜欢挑战,他们颠覆传统,打碎枷锁,他们向往黑客的自由生活,渴望C语言激发出自己的内在潜力。为了达到这种高度,你愿不愿意用一辈子来完成?

5结束语

2006年3月,卡内基・梅隆大学计算机科学系主任周以真(Jeannette M.Wing)教授在《计算思维》一文中指出:

计算机科学的教授们应当为大学新生开一门“怎么像计算机科学家一样思维”的课程,面向所有专业,而不仅仅是计算机科学专业。我们应当使入学前的大学生接触计算的方法和模型。激发公众对于计算机科学领域探索之兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇高和力量,致力于使计算思维成为常识……

c程序设计语言范文第10篇

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

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

文章编号:1672-5913(2007)14-0022-02

1引言

大学计算机科学专业的程序设计语言课程,一般分为必修和选修两种。C和C++都作为必修课;而VB和Java等一般作为选修课。现在大多数高校计算机科学专业开设程序设计语言课程的顺序都是,先开C语言,再开C++语言。然而,我们在教学实践中发现,学生学习C语言程序设计,接受了“自顶向下,逐步求精”的模块化程序设计思想,在学习C++语言时,对C++语言的特色:类和模板所提供和支持的“自底向上”的面向对象程序设计思想,很难适应、理解、接受和掌握。同时,由于课时的压缩,两门语言都要开设,学时更显不足,致使学生两门语言课程都没有充分的时间学通、学透;更有甚者,正常的教学内容不能完成,学生一知半解、似懂非懂,课程的难点知识没有时间讲和学。这种结果直接影响后续课程(比如,数据结构)的学习;同时学生动手开发软件的能力也将受到影响。

本文在分析比较C和C++程序设计语言异同的基础上,结合多年的教学实践经验,提出在大学计算机科学专业中,直接开设C++程序设计语言,不再开设C语言的观点。并根据作者的教学实践经验,给出直接开设C++时,教学内容、教材选择和开设时间的建议。

2程序设计语言C与C++的比较

2.1C与C++的共性

C++是C的增强版,是在C的基础上增加了数据抽象和面性对象的程序设计这些新特点,很自然C++拥有C语言的基本功能。它支持结构化的程序设计,任何用C写的程序都可以在C++环境下运行。

在C和C++语言中,标识符、变量、常量、基本数据类型、指针、表达式、运算符的优先级等的规定都相同。枚举类型和结构体类型的定义方法也相同。关系和逻辑运算、条件语句、循环语句这些控制流语句的定义和使用也都相同。C和C++中数组的定义和使用相同。函数的定义与调用基本相同,只是C++引入了引用参数。也正是由于引用参数的引入,使得C++的使用比C更方便。关于动、静态变量及其范围的规定在C和C++中相同。因此。可以说,C语言所拥有的功能,C++都有,而且也是C++的基本部分。但是,C++比C具有更强的功能,具有C所没有的特性――数据的抽象和支持面向对象的程序设计。同时,关于枚举变量,结构体变量的声明C++的语法约定更简洁方便。

2.2C与C++的不同

C与C++在程序设计的思想与规模、动态存储管理、文件使用、枚举和结构体类型、输入和输出,以及程序注释等方面存在差异。C++不仅具有C的所有功能,可以实现所有C语言所能实现的功能,而且C++的功能更强大,使用更简洁方便。因此,使用C语言设计程序所能解决的实际问题,使用C++语言设计程序也一定能够解决,而且实现起来更方便。

2.3C++的特色

C++最大的特色是提供了数据的抽象和实现数据抽象类型的机制――类,以及支持面向对象程序设计的封装、继承和多态等特性。由于类的出现,使得C++中的数据类型不再局限于系统所提供的固有类型,用户可以根据自己的实际需要设计创建新的数据类型。同时,由于类的使用,使得数据和操作被封装在具体的类中,实现了信息的隐藏。C++提供了两种构造新类的方法:继承和构成。这两种构造方法使得C++具有面向对象程序设计的特性。C++还提供了虚函数机制,这使得类的操作可以实现动态邦定。C++中的重载机制使得C++的使用更方便快捷和人性化。C++的模板使得C++具有多态特性。另外,C++的异常处理机制使得程序的调试变得容易和方便。还有C++的虚基类,使得它非常适合用来开发面向对象的程序。

C++中的引用类型,使得函数的参数可以采用引用参数,避免了C语言中函数参数的单向值传递所带来的弊端。而且使用起来非常方便。

C++还提供了作用域限定运算符(::),该运算符可用于解决名称冲突。还可用于指定标识符的有效范围,如名称空间中标识符的使用。

标准C++还支持名称空间[3~5],除了系统提供的标准名称空间std外,用户还可以定义自己的名称空间。名称空间的使用给程序设计带来了很大的方便。

C++的上述诸特色,显示了C++不仅能实现C程序设计语言所支持的结构化程序设计,而且还支持面向对象的程序设计。可以开发出更大更复杂的应用软件。

以上C与C++的比较可见,C++的基本部分与C语言基本相同,而且C++的语法相对于C语言的语法更简洁方便易使用。因此,C++完全可代替C来完成程序设计,完全可以在大学计算机科学专业的本科生中直接开设C++程序设计语言课程,而不用先开设C语言,再开C++。这样,可以将节省出一部分学时分给C++课程,使得C++的学时更充足些,学生也掌握地更好些。

3程序设计语言C与C++开设建议

通过以上的分析比较,可见在高校计算机科学专业程序设计语言课程的开设中,可以不用开设C程序设计语言,而直接开设C++语言程序设计。

C++的教学内容应该包括:基本知识部分:程序设计与问题解决概述;C++语法、语义以及程序开发过程;数值类型、表达式与输出;程序输入与软件设计过程;条件、逻辑表达式与选择控制;循环;函数;作用域和生命期;高级控制结构;固有数据类型和用户定义的简单数据类型。C++高级知识部分:结构体、数据抽象和类;数组;基于数组的表;面向对象的软件开发;指针、动态数据和引用类型;链结构;模板与异常;递归。

C++课程开设时间放在一年级第二学期比较适宜。因为学生在第一学期已经学习了一些关于计算机的入门知识,对计算机科学有了一定的了解,这时开设C++程序设计语言,学生接受起来比较自然。而且直接学习C++语言,没有别的计算机语言的影响,学习起来更易于接受。C++的课时建议为周学时4,以保证学生有足够的学习、吸收和消化知识的时间。另外,这个学期开设C++可为学生后续专业课程(如,数据结构)的学习做铺垫。更重要的是作为计算机科学专业的本科生,在当前的形势下掌握C++这一通用的编成语言,不仅为将来的发展奠定良好基础;也为今后参与社会竞争打下坚实基础。

以上观点的有效实施依赖于C++程序设计语言教材的选择。在选择教材时,必须选择适宜作为入门语言学习的C++教材。在此建议采用参考文献[3]中的教材――美国Jones and Bartlett Publishers出版的原版教材“Programming and Problem Solving with C++ (Third Edition/Fourth Edition)”。该教材知识讲述逻辑性强,内容安排循序渐进,讲解非常透彻清晰,是国内许多中文教材无法媲美的;而且没有任何先驱课程要求,学生学习起来很容易理解和接受,该教材是美国大学计算机及相关专业程序设计语言的入门教材,是美国最畅销的计算机科学教材,也是教育部推荐使用的计算机专业类影印版教材。作者在过去4年中使用该教材对计算机科学专业的学生讲授C++程序设计(双语教学)。4年以前作者曾多次讲授C语言程序设计。结合多年的教学实践,作者提出在大学计算机专业的程序设计语言课程设置中,直接开设C++程序设计语言的观点。关于教材的选择,也可选用其他一些翻译过来的国外优秀教材,如参参考文献[5]中的《C++大学教程》(第五版),该书是针对一学期的课程设置的,英文版在国外也是作为计算机专业的大学一年级教材;或者考文献[4]中的《C++核心思想》。作者的经验是最好选用国外原版教材,而且以参考文献[3]为最好。

参考文献:

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

[2] 龚杰民, 金益民, 殷勇. 标准C语言程序设计及应用[M]. 西安电子科技大学出版, 1995.

[3] Nell Dale, Chip Weems, Mark Heading. Programming and Problem Solving with C++(Third Edition)[M]. 美国: Jones and Bartlett Publishers, 2003.

[4] [美]Cay Horstmann著, 晏海华等译. C++核心思想(第三版)[M]. 北京: 电子工业出版社, 2004.

[5] [美]戴特尔等著, 张引等译. C++大学教程(第五版)[M]. 北京: 电子工业出版社. 2006.

作者简介:谢娟英(1971-),女,陕西西安人,副教授,主要从事智能信息处理方面的应用研究。

通信地址:陕西师范大学98# 邮编710062

Tel: 029-85307830(home),13088965815

E-mail:

上一篇:程序性知识范文 下一篇:计算机程序设计语言范文

友情链接