- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计教学的探讨
摘要:指针是C语言的精华,可以说没有掌握指针,就没有掌握C的精华。
关键词:指针;数组;教学方法
指针是C语言中一个重要而又极具特色的问题,正确而又灵活应用它,可以有效地表示复杂的数据结构;支持C语言的动态存贮分配功能;能方便有效地使用字符串和数组;能为函数提供了修改调用参数的方法和改善某些函数的效率;能直接处理内存地址等。这对利用C语言编写系统软件和应用软件极其重要。那么如何学习和掌握指针就是至关重要的问题。
1总体教学安排
在课堂教学有限的时间内学习好指针并非易事,那么合理安排课堂教学显得尤其重要。根据教学大纲学习指针总体安排课堂教学10课时,辅加实验教学4课时,而针对的内容多而难的情况下,又如何安排?在教学中,讲解内容为:指针概念;指针变量定义;指针运算;指针的应用(包括指针变量作为函数参数)。做到概念要清晰准确易懂;重点要突出;难点要突破;疑点要思考。做到“三要”:课堂教学要认真;课后辅导要跟上;上机实验要重视。在辅导中解决疑难,在上机实践中巩固,加深理解。
2教学安排及基本要求
以《C程序设计》谭浩强著这本教材为准,本内容属第10章,总共划分为8小节,其中数组的指针和指向数组的指针变量及字符串的指针和指向字符串的指针变量这两小节分别分配2学时;其它包括地址和指针的概念;变量的指针和指向变量的指针变量;函数的指针和指向函数的指针变量;返回指针值的函数;指针数组和指向指针的指针;及有关指针的数据类型和指针运算小结这6小节各分配1学时。
教学重点:指向变量、数组和字符串的指针变量及其应用。
教学难点:指针函数和指针数组。
熟练掌握变量、数组、字符串以及函数的指针;掌握指针概念、指针函数、指针数组和指向指针的指针。要求学生重点要多看书,多编程,多上机;难点要多思考、多对比、多总结。例如指针数组和数组指针,指针函数和函数指针的区别。总之,学习时间安排适当,学习态度认真,问题总会迎刃而解。
3一种重要学习方法:回顾对比法
回顾对比法:顾名思义,回忆前面所学的知识,结合现今所学的新知识进行同类对比。回顾对任何人而言,都是个熟悉的字眼,在生活中、工作中及其它诸多方面都需要去回顾,在学习中也一样,尤其在指针这个难点方面的学习也同理。下面具体讲解。
3.1普通变量和指针变量
在前面第三章已学过变量,在指针这一章中将学习指针变量,那么我们先来对比一下普通变量和指针变量,普通变量:其值可以改变的量称为变量,一个变量应该有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。指针变量:存放变量地址的变量,它是用来专门存放地址的,必须将它定义为“指针类型”。先看一个具体例子:
inti,j;
int*p1,*p2;
p1=i;
p2=j;
第一条 语句定义了两个整型变量i和j,在内存中各分配两个字节,在该存储单元中存放赋予变量i和j的整型数据;第二条语句定义了两个指针变量p1和p2,它们是指向整型变量的指针变量,定义时有别于普通变量的是变量名前必须加“*”表示指针类型,存放的是变量的地址;第三、四条语句是两个赋值语句,分别让p1和p2指向整型变量i和j,让p1存放的是整型变量i的地址,p2存放的是整型变量j的地址。重要的区别在于变量存放的是值,指针变量存放的是地址。对比理解,理解才更加深刻。
3.2数组和指针数组
数组是有序数据的集合。数组中的每一元素都是同一类型的数据,通俗地说,数组一旦定义,数组中的每一元素都相当于一个变量,存放的是具体的值。指针数组是一个数组其元素均为指针类型数据,也就是说,指针数组中的每一个元素都相当于一个指针变量,存放的是地址。以一组数组为例:
inta[10];
int*p[10];
p=a;
第一条 语句定义了一个整型数组a,共有10个数组元素,每个数组元素均为整型;第二条语句定义了一个指针数组,由于[]比*优先级高,因此p先与[]结合,形成了p[10]形式,这显然是数组形式,它有10个数据元素。再与p前面的“*”结合,“*”表示此数组是指针类型的,每个数组元素(相当于一个指针变量)都可指向一个整型变量;第三条语句p赋了一个数组的a的首地址,表示指针数组当中的每一个元素存放的是整型数组a中的每一个元素的地址。
3.3函数和指针函数
函数就是子程序,一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据,即地址。指针函数相对函数而言,区别在于带回的值的类型是指针类型。下面看一例子:
inta(intx,inty);
int*aa(intxx,intyy);
第二行表示函数aa,调用它以后能得到一个指向整型数据的指针(地址)。xx和yy是函数aa的形参,
文档评论(0)