论文部分内容阅读
摘要:尽管当今流行的面向对象程序设计语言很多,如java、C 、C#等,但是C本身的设计理念以及对现有C /C#等语言的深刻影响,使其至今仍是程序设计入门的首选语言,在许多学校中仍然开设了C语言。可以说掌握了C语言后,再去学习其他面向过程的语言,最多一个星期就能学会。下面,是笔者在教学中的一些心得。
关键词:C语言;比喻;程序设计
C语言因具有低级语言的能力同时具有高级语言的方便而受到使用者的喜爱,但C语言涉及的概念比较复杂、规则繁多、使用灵活,给初学者带来不少困难。许多计算机专业的毕业生在毕业后往往并不从事本专业的工作,很大一部分原因是程序设计没有学好,程序设计也是一些老师认为比较难教好的学科。为了提高程序设计教学的有效性,这就自然要求在教学上有一套比较好的适合学生学习特点的教学方法,使学生在短暂的课堂学习时间内学到尽可能多的C语言的概念和用C语言的编程方法,甚至编程技巧,在计算机的应用中尽快发挥作用。通过实践,笔者发现在C语言教学中恰当运用比喻与比较,能起到事半功倍的效果。
一、 比喻与比较
比喻,即打比方。《学论》中说:“君子之教,喻也。”教学如此,自然学科的教学尤其如此。越是抽象难懂的内容,越需要形象性的描述和想象。若能从学生已有的可感知的知识结构(如日常生活经验、熟知的各种事实等)找出某种相似性,借以打个比方,那么抽象的知识就可以得到很好地理解。比较,是人类认识事物的一种重要方法。对许多复杂的事物只有通过比较和鉴别,我们才能形成正确的认识与评价。在教学中,通过比较,可以帮助学生克服易混点、易错点,培养准确运用语言能力的有效途径。在计算机C语言教学中,有些内容比较抽象,不容易被学生接受和理解,作为教师可尝试应用比喻和比较的教学手段,化繁为简,化难为易。
二、 比喻和比较在C语言教学中的应用
(1)帮助学生认识程序设计语言。C语言属于程序设计语言中的一种语言,是学生学习的第一门程序设计语言。学生在毫无知识背景的前提下,我认为首先要理解什么是程序设计语言,才能具体去学习程序设计语言。可以将程序设计语言与人类的语言相比较,比如汉语言、英语言,就可以很容易理解程序设计语言。①人类语言是用来交流沟通的。有一方说,并且有另一方听,必须有两方参与,这是语言最重要的功能。语言就是用来表达意思传递信息的。说的一方传递信息,听的一方接受信息;说的一方下达指令,听的一方遵从命令做事情。程序设计语言是人与计算机交流沟通的一种语言,“说”的一方是人类,“听”的一方是计算机。我们把计算机比喻为我们的仆人,我们是计算机的主人,主人要告诉仆人去完成某一件事。②语言有独特的语法规则。交流双方都了解明白并遵守这些规则。一个只会说汉语的中国人和一个只会说法语的法国人,因为互相不知道对方的语法规则,相互肯定听不懂对方所讲的话,沟通会失败。很自然,学生会想到请翻译。同样,如果人掌握了程序设计语言的语法规则,但是计算机不一定能直接听懂,所以人与计算机之间也要请翻译,这个翻译就是编译程序,它能将程序设计语言“翻译”为计算机能听懂的语言,这样人和计算机就能互相沟通了。
(2)帮助学生对概念的理解。要学好C语言,必须得对C语言的知识与语法清晰,就好比学习英语时,首先要知道英语的语法特点和规则。英语的字符集是26个英文字母,通过英文字母来构成单词,再由这些单词构成语句。在C程序设计语言中也有它的字符集,通过这些字符来构成常量、变量、类型标示符(关键词)等,再由这些构成C语言的语句。如果对常量、变量的概念不清晰,就不能理解程序。比如:变量是其值可以改变的量,并且在内存中占据一定的存储单元。变量之所以能改变其值,是因为它可以被赋值(把数据或数据的备份存到该变量的内存单元中)。可以把变量比喻为一个瓶子,给变量赋值比喻为给这个瓶子中装液体,并且只能装一种,新的东西会把原来的东西覆盖掉。
(3)帮助学生对程序执行过程的理解。如:在进行IF语句的教学中,为了能让学生对执行过程有深刻的理解,在介绍IF语句的执行过程时可以作如下比喻:if语句有三种形式,最基本的是第二种:if(表达式) 语句1、else语句2。执行过程应该是当表达式成立时,则执行语句1,否则执行语句2。可以比喻为买衣服,口袋里只有50块,想买一件衣服,A、B两款看着都不错,B款标价39,A款的价格标签不见了,但从做工和质地看来,A款明显要好一点,这时,你也许会在心里盘算,问一下A款的价格,如果价格低于50,就买A款,否则,就买B款,这种“两条岔路中选一个”的流程,在C语言中对应着if-else结构。又如:在讲解两个变量中的值进行交换时,设交换的两个变量是整型变量a、b,把变量a、b作为瓶子,把a、b中的值比作瓶子中装的酱油和醋。原来的程序片段是:
int a,b,t;/*t是用来交换时的中间变量*/
t=a;
a=b;
b=t。学生本来写这段程序有些困难,我就把这段程序转换为做个游戏:交换a、b两个瓶子中的液体。显然,直接交换不行,必须要第3个瓶子t来过渡。实施过程:把酱油倒进空瓶t,a瓶就空出来了,再将b瓶的醋倒进a瓶,将t瓶中的酱油倒进b瓶,完成了交换,并引到变量交换上来。
三、 在C语言教学中应用比喻和比较后的作用
(1)增加课堂的趣味性,激发学生的学习兴趣。教育家第斯多惠曾说过:“教学成功的艺术就在于使学生对你教的东西感兴趣。”通过应用比喻和比较,使C语言课程内容不再枯燥乏味,学生可以产生愉悦的情绪,增强了课堂的趣味性,从而激发学生的学习兴趣。同样,也使教学的内容直观、易懂、易学,容易混淆或抽象、不易理解的概念,能比较快地理解,学生不再对程序设计语言“恐惧”。课堂气氛活跃与否,是衡量教学效果的标准之一,也是学生理解知识、消化知识的最佳时机。教师在教学过程中,根据学生情绪反应,随机应变地穿插一些生动活泼的比喻,将课堂教学气氛重新转入正轨。
(2)有助于培养学生的想象能力、思维能力和记忆能力。通过运用比喻,学生产生丰富的联想,而比较本身就是一种对比的思维过程,它能揭示某些事物之间的共性、不同点和相互之间的联系。通过联想和对比,学生在记忆相关知识点或概念时就印象比较深刻。
结束语:对C语言教学方法的探讨,是提高教学质量和提高学生对计算机应用水平的一件有益的事情。程序设计是一些老师认为比较难教好的学科,为了提高程序设计教学的有效性,这就自然要求在教学上有一套比较好的适合学生学习特点的教学方法,使学生在短暂的课堂学习时间内学到尽可能多的C语言的概念和用C语言的编程方法,甚至编程技巧。在短暂的课堂教学时间内,引导学生运用计算机解决实际问题是一件难事。本文提出的观点,主要是想打破传统教学过分注重对语言本身的概念和语法规则的条条框框,而想尽早引导学生解决问题,在应用中求完善。实践证明,C语言教学中应用了比喻和比较后,一定程度上把学生从枯燥无味的程序设计中解脱出来,也相对提高了学生学习与理解程序的能力。
参考文献:
[1]廖雷.C语言程序设计[M].北京:高等教育出版社,2002.
[2]谭浩强.C程序设计[M].北京:清华大学出版社,1999.
[3]康莉,李宽,零基础学C语言[M].北京:机械工业出版社,2004.
(江阴市职业技术教育中心校)
关键词:C语言;比喻;程序设计
C语言因具有低级语言的能力同时具有高级语言的方便而受到使用者的喜爱,但C语言涉及的概念比较复杂、规则繁多、使用灵活,给初学者带来不少困难。许多计算机专业的毕业生在毕业后往往并不从事本专业的工作,很大一部分原因是程序设计没有学好,程序设计也是一些老师认为比较难教好的学科。为了提高程序设计教学的有效性,这就自然要求在教学上有一套比较好的适合学生学习特点的教学方法,使学生在短暂的课堂学习时间内学到尽可能多的C语言的概念和用C语言的编程方法,甚至编程技巧,在计算机的应用中尽快发挥作用。通过实践,笔者发现在C语言教学中恰当运用比喻与比较,能起到事半功倍的效果。
一、 比喻与比较
比喻,即打比方。《学论》中说:“君子之教,喻也。”教学如此,自然学科的教学尤其如此。越是抽象难懂的内容,越需要形象性的描述和想象。若能从学生已有的可感知的知识结构(如日常生活经验、熟知的各种事实等)找出某种相似性,借以打个比方,那么抽象的知识就可以得到很好地理解。比较,是人类认识事物的一种重要方法。对许多复杂的事物只有通过比较和鉴别,我们才能形成正确的认识与评价。在教学中,通过比较,可以帮助学生克服易混点、易错点,培养准确运用语言能力的有效途径。在计算机C语言教学中,有些内容比较抽象,不容易被学生接受和理解,作为教师可尝试应用比喻和比较的教学手段,化繁为简,化难为易。
二、 比喻和比较在C语言教学中的应用
(1)帮助学生认识程序设计语言。C语言属于程序设计语言中的一种语言,是学生学习的第一门程序设计语言。学生在毫无知识背景的前提下,我认为首先要理解什么是程序设计语言,才能具体去学习程序设计语言。可以将程序设计语言与人类的语言相比较,比如汉语言、英语言,就可以很容易理解程序设计语言。①人类语言是用来交流沟通的。有一方说,并且有另一方听,必须有两方参与,这是语言最重要的功能。语言就是用来表达意思传递信息的。说的一方传递信息,听的一方接受信息;说的一方下达指令,听的一方遵从命令做事情。程序设计语言是人与计算机交流沟通的一种语言,“说”的一方是人类,“听”的一方是计算机。我们把计算机比喻为我们的仆人,我们是计算机的主人,主人要告诉仆人去完成某一件事。②语言有独特的语法规则。交流双方都了解明白并遵守这些规则。一个只会说汉语的中国人和一个只会说法语的法国人,因为互相不知道对方的语法规则,相互肯定听不懂对方所讲的话,沟通会失败。很自然,学生会想到请翻译。同样,如果人掌握了程序设计语言的语法规则,但是计算机不一定能直接听懂,所以人与计算机之间也要请翻译,这个翻译就是编译程序,它能将程序设计语言“翻译”为计算机能听懂的语言,这样人和计算机就能互相沟通了。
(2)帮助学生对概念的理解。要学好C语言,必须得对C语言的知识与语法清晰,就好比学习英语时,首先要知道英语的语法特点和规则。英语的字符集是26个英文字母,通过英文字母来构成单词,再由这些单词构成语句。在C程序设计语言中也有它的字符集,通过这些字符来构成常量、变量、类型标示符(关键词)等,再由这些构成C语言的语句。如果对常量、变量的概念不清晰,就不能理解程序。比如:变量是其值可以改变的量,并且在内存中占据一定的存储单元。变量之所以能改变其值,是因为它可以被赋值(把数据或数据的备份存到该变量的内存单元中)。可以把变量比喻为一个瓶子,给变量赋值比喻为给这个瓶子中装液体,并且只能装一种,新的东西会把原来的东西覆盖掉。
(3)帮助学生对程序执行过程的理解。如:在进行IF语句的教学中,为了能让学生对执行过程有深刻的理解,在介绍IF语句的执行过程时可以作如下比喻:if语句有三种形式,最基本的是第二种:if(表达式) 语句1、else语句2。执行过程应该是当表达式成立时,则执行语句1,否则执行语句2。可以比喻为买衣服,口袋里只有50块,想买一件衣服,A、B两款看着都不错,B款标价39,A款的价格标签不见了,但从做工和质地看来,A款明显要好一点,这时,你也许会在心里盘算,问一下A款的价格,如果价格低于50,就买A款,否则,就买B款,这种“两条岔路中选一个”的流程,在C语言中对应着if-else结构。又如:在讲解两个变量中的值进行交换时,设交换的两个变量是整型变量a、b,把变量a、b作为瓶子,把a、b中的值比作瓶子中装的酱油和醋。原来的程序片段是:
int a,b,t;/*t是用来交换时的中间变量*/
t=a;
a=b;
b=t。学生本来写这段程序有些困难,我就把这段程序转换为做个游戏:交换a、b两个瓶子中的液体。显然,直接交换不行,必须要第3个瓶子t来过渡。实施过程:把酱油倒进空瓶t,a瓶就空出来了,再将b瓶的醋倒进a瓶,将t瓶中的酱油倒进b瓶,完成了交换,并引到变量交换上来。
三、 在C语言教学中应用比喻和比较后的作用
(1)增加课堂的趣味性,激发学生的学习兴趣。教育家第斯多惠曾说过:“教学成功的艺术就在于使学生对你教的东西感兴趣。”通过应用比喻和比较,使C语言课程内容不再枯燥乏味,学生可以产生愉悦的情绪,增强了课堂的趣味性,从而激发学生的学习兴趣。同样,也使教学的内容直观、易懂、易学,容易混淆或抽象、不易理解的概念,能比较快地理解,学生不再对程序设计语言“恐惧”。课堂气氛活跃与否,是衡量教学效果的标准之一,也是学生理解知识、消化知识的最佳时机。教师在教学过程中,根据学生情绪反应,随机应变地穿插一些生动活泼的比喻,将课堂教学气氛重新转入正轨。
(2)有助于培养学生的想象能力、思维能力和记忆能力。通过运用比喻,学生产生丰富的联想,而比较本身就是一种对比的思维过程,它能揭示某些事物之间的共性、不同点和相互之间的联系。通过联想和对比,学生在记忆相关知识点或概念时就印象比较深刻。
结束语:对C语言教学方法的探讨,是提高教学质量和提高学生对计算机应用水平的一件有益的事情。程序设计是一些老师认为比较难教好的学科,为了提高程序设计教学的有效性,这就自然要求在教学上有一套比较好的适合学生学习特点的教学方法,使学生在短暂的课堂学习时间内学到尽可能多的C语言的概念和用C语言的编程方法,甚至编程技巧。在短暂的课堂教学时间内,引导学生运用计算机解决实际问题是一件难事。本文提出的观点,主要是想打破传统教学过分注重对语言本身的概念和语法规则的条条框框,而想尽早引导学生解决问题,在应用中求完善。实践证明,C语言教学中应用了比喻和比较后,一定程度上把学生从枯燥无味的程序设计中解脱出来,也相对提高了学生学习与理解程序的能力。
参考文献:
[1]廖雷.C语言程序设计[M].北京:高等教育出版社,2002.
[2]谭浩强.C程序设计[M].北京:清华大学出版社,1999.
[3]康莉,李宽,零基础学C语言[M].北京:机械工业出版社,2004.
(江阴市职业技术教育中心校)