admin 管理员组文章数量: 1086019
2023年12月17日发(作者:dateadd函数的用法mysql)
福建 电脑 2010年第8期 论C语言指针的启发式教学 王必晴 (铜陵学院数学与计算机科学系安徽铜陵244000) 【摘 要】:指针是c语言教学的重点,也是教学的难点。本文从教学实践出发,针对c语言指针教学 过程中存在的问题.提出在C语言指针的课堂教学中利用问题启发和引导学生的思维.建立多元化的教学 模式,以进一步增强教学效果,提高学生理解和应用指针的能力,对C语言指针的教学具有一定的借鉴意 义。 【关键词】:C语言;指针;启发式教学;程序设计 O、C语言指针教学现状分析 C语言是目前大多数高校理工科专业学生高级语 1、用问题启发思维,建立多元化教学模式 从上述分析可以看出.目前在C语言指针的教学 言程序设计的入门课 指针是C语言的精华部分.是C 中,有些教师采删的仍是以教师为中心、老师讲、学生 语言的重要特征 运用指针编程是C语言最主要的风 听的模式 这种模式的主要目的在于使学生系统掌握 格之一。因此可以说,指针是C语言的精髓 指针的基础知识和基本技能 毫无疑问.这样的模式有 利用指针技术.可以描述各种复杂的数据结构.对 其固有的优点.我们必须首先肯定它的价值所在.不能 字符串的处理可以更灵活.对数组的处理更方便.支持 轻易抛弃.但同时我们也必须看到这种模式的局限性 动态内存分配.提供了函数的地址调用和自由地在函 教师在采用此模式教学时.没有贯彻启发性教学原则. 数之问传递各种类型数据的功能等 学习指针是学习 上课45分钟都是高密度的讲解.既没有教师启发性的 C语言最重要的一环.能否正确理解和使用指针是能 提问.学生也没有独立思考、提问的机会.走人了”满堂 否掌握C语言的一个重要标志 但是.由于指针概念抽 灌”的误区,这直接导致学生以记忆、练习为主的单一 象、种类复杂、使用灵活、容易出错,所以对初学者来说 学习方法的产生.不利于学生全面素质的培养 较难理解和掌握。因此.在C语言的教学中.指针既是 如果教师在”传授式”教学的基础上注意调动学生 重点,也是难点。 的学习主动性.引人”启发式”教学.精心巧妙地设计问 有些教师为了学生能更”容易”、更”轻松”地啃下指 题,充分利用比喻和类比.启发他们积极思维.把单纯 针这块”硬骨头”,往往采取”填鸭式”的教学方法 教师 的传授知识变为开拓学生的思维.挖掘学生的潜力.激 利用P 边放边讲.从语法角度按部就班、不分轻重地 励学生勇于创新上来.在一定程度上就可以弥补”传授 罗列知识点 然后.针对某些知识点列举几个简单的例 式”的缺点.实现教学模式从单一化向多元化的发展。程。学生则边听边记笔记 但是.殊不知过细的语法知 基于此,教师的角色要发生转换,变过去的主讲、填鸭 识却反而容易使学生失去学习兴趣.大量的概念和语 为现在的引导、启发,言简意赅地描述自己的思想、思 句使学生望而生畏 在整个教学过程中.教师始终处 路.让学生领悟、理解、接受,并变为自己的思想。同时, 于”主体”地位.而学生只能处于”被动”地位 这样的教 让学生充分参与到课堂教学中来.变“一言堂”为”群言 学安排,学生很快便会感到厌倦.学习热情很难调动起 堂”.积极开展课堂讨论.使学生在不知不觉中也变换 来。学生普遍反映很难理解指针定义的抽象描述.语法 着自己的角色.变”要我学”为”我要学”。利用”启发式” 知识太多,理解和记忆都不太容易.即使记住了也不一 教学可以培养学生在程序设计方面的发散思维.提高 定能灵活应用。很多学生在学习指针后,感觉读程序还 程序设计中的应变能力 问题是活的.但程序设计的思 勉强.编程则难以下手.甚至在程序设计中回避使用指 想总是有章可循的.要启发学生善于在已经解决问题 针,仅仅是为应付考试而死记硬背 结果直到学期结 的基础上”引申”与扩展.借此解决相关联的问题。 束,学生仍无法领略到指针功能的强大和使朋的乐趣。 例如,在教学中引入指针的概念时.由于学生没有 对内存缺乏直观的认识,那 在对本校非计算机专业学生C语言期末试卷的调查中 学过《操作系统》这门课程,发现:即使指针试题是判断题或选择题.50%的学生仍 么就可采用以下的一系列问题来启发学生 首先.教师 会失分。所以,C语言指针的教学一直是高校计算机教 提问:”如果我们去寝室楼找某位同学,那么有几种方 师重点研究的教研课题 法可以找到?”有的同学会回答:”如果知道这位同学寝 基金项目:铜陵学院2009年度院级科研项目(2009tkxy22)
2010年第8期 福建 电脑 41 室的门牌号,就可以找到这位同学。”这时,教师可以再 第三.问题中隐含地要求了返回指向目的字符串 反问:”如果我们不知道这位同学寝室的门牌号,该怎 的指针.应如何在答案中体现?经过思考和查阅教材. 么办?”于是。又有同学说:”问寝室楼的传达室就知道 学生会在while循环之后添加如下代码: 了.因为传达室知道哪个寝室里住的是哪些人。”接下 return dest; 来.教师就可以水到渠成地利用比喻引入指针的概 当然.如果从更严谨的角度讲.实际上应在while 念:”如果我们把计算机的内存比喻成寝室楼。那么内 循环之前先保存原始的dest值.最后再将其返回.这点 存单元(或变量)相当于每间寝室;内存单元(或变量) 对学生可以不做要求。这样,通过逐步引导,不仅把几 的地址相当于每间寝室的门牌号;内存单元(或变量) 个关键点都深度剖析.加深了学生对关键设计点的理 中存放的数据相当于每间寝室里的学生:指针变量也 解,而且最终使学生明白.只有在分析实际问题的基础 是一个变量.相当于寝室楼的传达室。存放着其他变量 上.以清晰的思路去设计程序,才能深入思考,打下扎 的地址 通过变量地址存取变量值的方法就如同直接 实的编程基本功 通过寝室的门牌号找到某位同学.称为 直接访问 方 再比如.笔者在教学实践中发现.学生普遍很难理 式 而通过指针访问所指向变量的方式就如同间接地 解指向二维数组的指针 因此讲授指向二维数组指针 通过传达室找到某位同学,称为 间接访问 方式。” 时要紧紧抓住与指向一维数组指针的联系.运用”启发 又比如.在讲授”指针与字符串”相关内容时.教师 式”教学,使学生顺利地从一维”过渡”到二维.完成知 可提出以下的问题:”已知字符串拷贝函数strcpy的原 识的”正向迁移”。开始时,教师应从指向一维数组指针 型是:char*strcpy fchar*dest,char src1.如果不调 的学习中总结出以下三点结论:~.一维数组名代表了 用库函数,怎样用指针自己编程实现strcDv函数?”这 该数组的起始地址.也就是该一维数组的第一个元素 时.有些基础较好的学生会模仿有关的类似例程给出 的起始地址,是一个指针常数。二,一维数组的任何一 如下的答案: 个元素的地址.都可以用其数组名加上一个偏移量来 char copystr(chm" dest.char st'c1 表示.这个偏移量的单位不是字节.而是数组元素的大 ( 小。三,数组元素a 的地址是&a 。学生有了对这三 while( desl++= src++); J 点结论的深刻认识.教师就可以利用提问来启发学生 在充分肯定学生创造力和思维方向正确性的基础 对指向二维数组指针的理解。首先,教师提问:n既然我 上.教师可通过以下的一系列问题来继续启发学生进 们已经学习了一维数组.那么能否将二维数组看做一 一步地深入思考。第~,while( dest++= sre++1这句代 维数组?”学生马上可以意识到可以把二维数组解释为 码是否存在某种缺陷?如何改进?通过教师在TC上的 以一维数组为元素的一维数组。于是.教师可以继续提 验证学生会发现,虽然这句代码可以通过编译.但是会 问:”那么对于一个二维数组a来说,an1是表示地址还 出现”Possibly incorrect assign— ment”的Warning.而 是表示元素?”这时,学生可以顺利回答:”对于一个二 当我们把上面这句代码改为while dest++=g:Src++1 1= 维数组a,a『i]既是广义一维数组a的一个元素,又是一 ,1,则会顺利通过TC编译,不再存在任何问题。那么 个一维数组ari1的名字,是指向a『i]的起始元素的指针 为什么会出现这样的现象?经过认真思考,学生会逐渐 常量。”然后。教师再提问:”对于广义一维数组a来说, 意识到经过循环,表达式*dest++= src++的值最终为 a代表了什么的地址?”学生根据从第一点结论得到的 ,是一个字符。而while语句的条件表达式一般应为 启示,回答:”a是一个二级指针,存放着afO1的地址。” 关系表达式或逻辑表达式.表达式的值是逻辑值.即l 接下来,教师提问:”由int p和int( p1『51分别定义的 或非0。因此 dest++=¥src++的值与while语句的条件 指针有何区别?”学生根据从第二点结论得到的启示。 表达式的要求并不匹配,所以编译时会出现Warning。 回答:”前者是指向整型数据的指针,p+l产生的位移 而在修改后,( dest++=:l:src++)!= 0 的值是逻辑值,满 是一个整型数据所占字节数:而后者指向一个包含5 足while语句的条件表达式的要求.故编译时不会出现 个元素的一维数组.p+l产生的位移是五个整型数据 Warning。第二,如果dest或sre为空指针.如何在程序 所占字节数。”最后,教师提问:”&afi1fi1表示什么的地 中保证指针的有效性?这时.学生在教师的提示下会仿 址?”学生根据从第三点结论得到的启示,回答:”&aⅢ 照相关参考书的类似例子在while循环之前增加以下 【j】表示二维数组元素a[硼]的地址。”经过这样的不断 语句以提高代码的健壮性: 深入启发引导,加上一定的图示,学生对指向二维数组 if((dest==NULL)II(src==NULL)) 的指针就有了一个比较清晰的认识 ( 2、结束语 pfinff(”no memo ̄”); 在程序设计语言的发展历程中.C语言是一个重要 Exit(1); 的里程碑。在面向对象、可视化、基于网络的程序设计 l 语言占据主流地位的今天,C语言仍然f下转第34页1
福建电脑 2010年第8期 不是期末考试时突击复习,考完就忘记。当然平时成绩 响。相反,如果一个教师仅仅满足于获得经验而不对经 是由多次小考和作业等成绩构成的.这样做学生平时 验进行深刻反思。那么即使是有”2O年的教学经验.也 的压力要大一些,但是有了平时的扎实基础,期末时就 许只是一年工作的20次重复:除非……善于从经验反 会相对轻松些。此外.书本的知识只是考试的一部分, 思中吸取教益。否则就不可能有什么改进。”,他永远只 为了鼓励学生实际能力的提高.上机实验课也要作为 能停留在一个新手型教师的水准上 美国著名的教育 考试的重要内容。应该认识到,一个好的考核方法对于 学家波斯纳提出了一个教师成长的公式:经验+反思: 学习一门课程是至关重要的 成长。我国著名心理学家林崇德先生也提出:优秀教 2.4注重高职高专的师资培训 师=教学过程+反思。可见教学反思是一种有益的思维 教师是学校教学质量提高的重要资源.是学校教 和再学习活动.教师可以通过教学反思不断地丰富和 学的重要组成部分.教师的专业素质的高低,直接影响 完善自我。叶澜教授说过:”一个教师写一辈子教案不 着教学质量的好与坏.对高等职业教育任务的完成和 一定成为名师.如果一个教师写三年反思可能成为名 目的的实现都有着直接的重大影响 一是教师应该通 师 ”事实证明许多专家型教师都有一个共性.即是不 过在职学习、参加进修和培训等方式来加深专业理论 断地进行教学反思.实现有效教学。所以,教学反思是 知识;深入企业接受实际工作能力的锻练,提高自身动 提高教学水平、实现有效教学的重要途径。 手能力.使自己能始终站在本学科的技术前沿。专业知 3、小结 ’ 识不深必然影响讲授内容的深度、广度和学生对教师 计算机教学有一个不断发展变化的过程.要改善高 的信任度,从而影响学生的学习兴趣和信念。二是教师 职高专院校计算机课程的教学效果.教师必须在教学 应该具有丰富的与本专业有联系的知识.能够将本专 实践中不断更新教学理念.大力改善教学方法.自觉地 业与其他相关专业知识进行糅合和相互渗透.以便扩 进行教学反思 激发学生对计算机的兴趣和热爱,让学 大学生的知识视野.激励学生的求知欲望与信心。三是 生在有限的时间内迅速地掌握计算机相关课程的基本 通过刻苦锻炼,教师应该具有较强的教育能力。包括全 概念、基本技能和应用能力,以培养出更多适应当今社 面细致地观察了解学生的能力:发挥教育艺术、驾驭课 会发展的综合应用型人才 堂教学的能力:具有缜密的思维和精准的语言表达能 力:能把教学实践和教学改革结合起来.独立完成教研 参考文献: 任务的教研能力 最后,教师还应该在更新教育观念、 …谭浩强.高等学校计算机基础教育改革的新阶段U].计算机教 加强教学反思、教师问相互学习探讨等方面做进一步 育.2003(12). 的工作。 [21 ̄-.高职高专计算机专业课程教学改革的探索 .教育与职 2.5高职高专教师应自觉进行教学反思.提高教学水平 业.2006 ̄5). 教学反思对于教师自身的成长具有重要的意义: [3】胡一宁.培养反思型教师是教师教育的重要任务Ⅱ],课程.教材. 教法2006,(6):67—70. 一是可以找出教学中存在的问题.锻炼解决教学问题 【4]白羽;程远鹏.浅谈构建有效教学之根本Ⅱ】,吉林省教育学院 的能力:二是可以促使教师自觉学习,有利于教师成为 学报.2009 ̄):46—47. 学者型教师:三是可以促进教师问的教学交流.达到互 [5】孙琪.高职院校计算机专业教学形式的分析Ⅱ].福建电脑,2010 相提高效果:四是可以提高教研水平和教学能力,从而 (4),190,160. 实现有效教学 因此教学反思是教师专业发展和自我 [6]田崇峰.浅谈高职计算机网络的课程教学Ⅱ].福建电脑,2010 成长的重要手段。有专家强调,没有反思的经验是狭隘 (4),196. 的经验,至多只能形成肤浅的知识。只有经过反思,教 [7]黄胜忠.教学反思是高职高专教师实现有效教学的重要途径 师的经验方能上升到一定的高度.对后继行为产生影 Ⅱ】,现代教育,2010.6:70—73. f上接第41页1 是计算机专业和非计算计专业学生进入程序设计领域 的重要基础 指针是C语言中的一个极为重要的概 参考文献: 念.全面正确地掌握指针是进行C语言程序设计的必 【1】谭浩强.C程序设计(第 /gt)[M].北京:清华大学出版社,2005. 备基础。 [2]谭浩强.C程序设计题解与上机指导(第二版)【M】.北京:清华 在指针的教学过程中教师要注意方式方法,积极 大学出版社.2000. 地使用”启发式”教学激发学生的学习兴趣.教给学生 【3】严蔚敏.数据结构及应用算法教程【M】.北京:清华大学出版社, 由浅入深。由表及里的思考方法。让学生学会如何运用 2001. 指针编程.如何运用指针灵活地解决实际问题。 【4】王柏盛.C程序设计[M】.北京:高等教育出版社,2004. 【5】李平.C语言程序设计[M].成都:电子科技大学出版社,2005.
版权声明:本文标题:论C语言指针的启发式教学 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1702758641a429648.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论