欢迎来到天天文库
浏览记录
ID:31777555
大小:56.87 KB
页数:6页
时间:2019-01-18
《基于创新思维c语言指针教学探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于创新思维c语言指针教学探究摘要:在c语言的教学中,如何让学生理解、掌握和灵活应用指针一直是教学的难点。文章研究了基于创新思维的c语言指针教学方法,引导学生自我发现问题、解决问题,达到学以致用的目标。关键词:c语言指针;创新思维;探究发现;学以致用中图分类号:G712文献标识码:A文章编号:1671-0568(2013)32-0075-02指针是一个重要的数据类型,指针的应用可以使代码高效、简洁,但也最容易出错。指针在函数传值、内存使用、数组遍历等使用上的灵活性及其类型的多样性,使得指针教学成为C语言教学的重点,也是难点,是教师与
2、学生花精力和时间最多,而效果相对较差的知识点。在C语言教学中,指针的讲授往往处于非常尴尬的地位,教师与学生都感到心有余而力不足。一、教学现状指针的类型很多,这是学生正确使用指针的一大障碍。指针变量的值是一个整数(内存字节编号),但与int不同,它代表内存的一个地址,需符合系统的地址编码规则。使用时可以指向不同的数据类型,学生很容易犯错。C语言规定,指针变量只能进行加减法运算:指针变量-指针变量,参与运算的指针变量必须是同类型的指针变量并指向同一块有效的内存区域才有意义,其结果是一个整数;指针变量的值土整数其结果为指向同一块有效的内存
3、区域,且该内存区域保存的数据类型与指针变量类型相同才有意义,对比较运算也有相同的限制。这也是学生很难理解的知识点,使用时容易出错。讲授指针赋值操作时,只是告诉学生有两种方式:一种是把某个同类型变量的地址或同类型指针变量的值赋给一个指针变量;另一种是把申请内存库函数的返回值赋给一个指针变量。学生难以理解直接赋一个地址给指针变量为什么经常出错。二、基于创新思维的教学1.创新思维内涵创新思维就是把已有的思维材料进行整理抽象,以适应新的环境,进而求解新的问题。在教学中,采用何种方法能启发学生获得知识呢?美国教育家布鲁纳主张教学采用“探究发现
4、”法,引导学生像科学家那样探求知识,而不是被动接受教师的灌输。不论是在校学生的发现,还是科学家致力于日趋尖端的研究领域的发现,按实质来说,都是把现象重新组织和转换,使人能超越现象再进行组合,从而获得新的领悟。对教学而言的创新思维,一般是指对引导学生利用已有的知识,发现新问题、引入新方法、解决新问题,使学生了解创新的过程与方法,理解理论源于实际的本质,进而培养学生的创新思维和科学素养。2•基于创新思维的指针教学C语言规定,指针变量只能保存地址,其实在学习指针之前,学生已经使用过地址。如代码intx;scanf("%d",&x);&x就
5、是变量x的地址,代码的含义就是声明一个int型变量x,并把x的地址传给scanf()函数。学习指针之前,只告诉学生记住变量前的&;学习指针之后,教师就应根据内存模型,告诉学生在计算机中每个内存空间(字节)对应的地址是唯一的,scanf函数功能就是把从键盘上输入的数据保存在内存中,供主调函数使用。所以,主调函数只要把变量地址(内存地址)传递给scanf函数即可。这个地址是对scanf函数,主调函数都是可见,因而都可以操作其中的数据,这样就实现了scanf函数的功能。为了引导学生利用创新思维,学习新知识指针。可以帮助学生回顾,当计算机执
6、行类似intx;这样的声明语句时,系统的行为,来建立新旧知识的联系。①系统给x分配了与int类型相符的连续空间(vc是4字节);②系统记录了这个空间第一个字节的编号,即x的地址;③系统标识了这个空间中保存的数据是int类型的数据。在程序开发中,经常需要把多个具有相同属性的数据保存在连续区域,而数据的个数需要到运行时才能确定。只要能记住这块内存开始的位置(即内存地址,也就是第一个字节的编号),通过简单的加减整数操作访问到全部的数据。首先,教师需要引导学生思考,C语言程序要实现这种场景就必须引入新的数据类型:这个数据类型的变量可以保存数
7、据空间地址,可以与一个整数相加减,还需要标识保存在数据空间中的数据的数据类型。指出这种新数据类型就是C语言中的指针类型,它具有两种属性(地址及保存在该内存空间数据的数据类型),给出新的数据类型指针变量的声明格式。例如,int*x;其中*标识X是一个指针变量,int标识这个x中只能保存int类型数据空间的地址。其次,教师引导学生分析这种新的数据类型,如int*x;根据学过的变量声明格式可知,x是一个int*类型的变量(int类型的指针变量),*x是一个int类型的变量。通过例子,利用数据的有效性,使学生明白x中的值必须是系统分配给程序
8、的有效内存的地址才有意义,从而理解指针运算的本质。此时,学生经历一个完整的发明过程,从应用中发现现有知识不能解决或不完美,进而引入一个能解决问题的新数据类型来圆满解决问题。这就是创新思维。学生在学习新知识的同时,建立了新旧知识的联系及
此文档下载收益归作者所有