C语言第10章教案标准.doc

C语言第10章教案标准.doc

ID:56720961

大小:334.00 KB

页数:56页

时间:2020-07-06

C语言第10章教案标准.doc_第1页
C语言第10章教案标准.doc_第2页
C语言第10章教案标准.doc_第3页
C语言第10章教案标准.doc_第4页
C语言第10章教案标准.doc_第5页
资源描述:

《C语言第10章教案标准.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第十章指针教案17科目C语言课题第十章指针§1-§2编号C1001-1教学目的了解指针与地址的概念掌握指针变量的定义、初始化及指针的运算教材分析教学重点指针变量的定义、初始化及指针的运算教学难点指针的运算 课时安排2教法讲授与演示法相结合教具计算机、投影仪    教   学   设   计教    学    过    程步骤一复习引导指针是C语言的一个重要概念,也是C语言的一个重要特色。正确而灵活地运用它,可以有效地表示复杂的数据结构;能动态分配内存;能方便地使用字符串;有效而方便地使用数组;在调用函数时能得到多于1个

2、的值;能直接处理内存地址等,这对设计系统软件是很必要的。指针的概念比较复杂,使用也比较灵活,因此初学者时常会出错,务请在学习本章内容时十分小心。 步骤二讲授新课§10.1地址和指针的概念计算机的主存储器被分成一个个存储单元,为了区分各存储单元,要为每个存储单元编号,这个编号即地址。例:i=3;或scanf(“%d”,&i);是将3送给i所在的空间。例:将3送到变量I_pointer所“指向”的单元(即I所标志的单元)。所谓“指向”,是通过地址来体现的,I_pointer中的值为2000,它是变量I的地址,这样就在I_p

3、ointer和变量之间建立起一种联系,即通过I_pointer能知道I的地址,从而找到变量I的内存单元。因而在C语言中,将地址形象化地称为“指针”。意思是通过它能找到以它为地址的内存单元。一个变量的地址称为该变量的“指针”。内存单元的地址和内存单元的内容是两个不同的概念。指针:就是地址,即内存单元的编号。指针变量:用来存放另一变量的地址(即指针)的变量。如:地址2000是变量i的指针;i_pointer是指针变量,其值就是指针2000。 §10.2变量的指针和指向变量的指针变量变量的指针就是变量的地址。存放变量地址的变

4、量是指针变量,用来指向另一个变量。*i_pointer表示i_pointer所指向的变量。 一、定义一个指针变量指针变量的定义包含三个方面的内容:⑴指针类型说明,即定义变量为一个指针变量⑵指针变量名⑶变量值(指针)所指向的变量的数据类型。格式:存储类型基类型*指针变量名;例:int*pointer_1,*pointer_2;float*pointer_3;char*pointer_4;辅助活动  教案17科目C语言课题第十章指针§1-§2编号C1001-2教学目的了解指针与地址的概念掌握指针变量的定义、初始化及指针的运

5、算教材分析教学重点指针变量的定义、初始化及指针的运算教学难点指针的运算     教   学   设   计课时安排2教法讲授与演示法相结合教具计算机、投影仪教    学    过    程二、指针的引用指针变量有两个运算符:&:取地址运算符功能:取变量地址;单目,右结合。*:取内容运算符(“间接访问”运算符)功能:只能跟地址,取变量所指向单元的内容;单目,右结合。例:&a为变量a的地址,*p为指针变量p所指向的存储单元。例:inta=5,*p=&a;printf(“%d”,*p);main(){inta,b;int*p

6、ointer_1,*pointer_2;a=100;b=10;pointer_1=&a;/*把变量a的地址赋给pointer_1*/pointer_2=&b;/*把变量b的地址赋给pointer_2*/printf(“%d,%d”,a,b);printf(“%d,%d”,*pointer_1,*pointer_2);}输出结果:100,10100,10 评注:1、在第3行虽然定义了两个指针变量,只是提供了两个指针变量,但并未指向任何一个整型变量。称为指针“悬空”。2、最后一行的*pointer_1和pointe

7、r_2就是变量a和b。3、程序中两处出现*pointer_1等,含义不同。程序第3行中的*pointer_1表示定义指针变量pointer_1。它前面的*只是表示该变量是指针变量。程序最后一行中的*pointer_1则代表变量,即pointer_1所指向的变量。4、第5行中的pointer_1=&a是将a的地址赋给指针变量pointer_1,而不是*pointer_1。注意:不应写成:*pointer_1=&a;5、从上例中可看出,*pointer_1等价于a,*pointer_2等价于b,故凡在程序中出现a的地方均可

8、用*pointer_1代替。所以,若有:intx,y,*px=&x;则下面的运算均是正确的:y=*px+1;/*把x的内容加1送变量y*/printf(“%d”,px);/*打印当前x的内容*/d=sqrt((double)px);/*把x的平方根送变量d*/px=0;/*把x置为0*/*px+=1;/*把x的值加1*/(*p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。