2022年荆州职业技术学院C语言程序设计课程教案.docx

上传人:H****o 文档编号:58178758 上传时间:2022-11-07 格式:DOCX 页数:8 大小:137.78KB
返回 下载 相关 举报
2022年荆州职业技术学院C语言程序设计课程教案.docx_第1页
第1页 / 共8页
2022年荆州职业技术学院C语言程序设计课程教案.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年荆州职业技术学院C语言程序设计课程教案.docx》由会员分享,可在线阅读,更多相关《2022年荆州职业技术学院C语言程序设计课程教案.docx(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选学习资料 - - - - - - - - - 名师精编 精品教案荆 州 职 业 技 术 学 院 C 语言程序设计 课 程 教 案教 学 课 题数组的指针和指向数组的指针变量学 时2 教 学 明白数组的指针和指向数组的指针变量 目 的教重数组的指针和指向数组的指针变量材点分析难数组的指针和指向数组的指针变量点教学方法 讲授教学手段 课件讲解教 学 1. 数组的指针和数组元素的指针变量 25 分钟 过 2. 利用指针变量引用数组元素 35 分钟 程 3. 指向多维数组的指针和指针变量 25 分钟 及 4. 小节 5 分钟 时 间 分 配名师归纳总结 荆 州 职 业 技 术 学 院信 息 技 术

2、 系软 件 教 研 室第 1 页,共 6 页- - - - - - -精选学习资料 - - - - - - - - - 名师精编 精品教案9.3 数组的指针和指向数组的指针变量指针和数组有着特别的关系;一个数组在内存中占据连续的内存单元;数组名为此连续内存单元的首地址;一个数组元素也可以占据几个连续的内存单元 取决于数组元素的数据类型 ;一个数组元素的首地址也是指它所占有的几个内存单元的首地址;9.3.1 数组的指针和数组元素的指针变量不带方括号的数组名就是该数组的指针,它指向其第 1 个元素;int data5;data 就是第 1 个数组元素的地址;但必需留意,数组名是常量,因此,对数组名

3、不能当作指针变量使用;例如:像 data、 &data 和 data &a 之类的表达式都是非法的;int data5,*p_data ;p_data data ;这种赋值方式等价于:p_data &data0;9.3.2 利用指针变量引用数组元素在程序中通过下标引用数组元素,经过C 编译之后,下标值的运算就变为“ 基址位名师归纳总结 移” 的运算, 而引用元素的值就变为间接存取对应单元的内容; data0 就等价于 *(data第 2 页,共 6 页0),data1就等价于 * (data 1), ;int *pdata ;p 的值就表示数组data 的基址,而( pi )实现“ 基址位移”

4、 的运算,其值恰好是数组 data 第 i 个元素的地址,即&datai;- - - - - - -精选学习资料 - - - - - - - - - 名师精编 精品教案例如 : 输出数组的全部元素;有三种方法 : 下标法;main int a10,i; fori=0;i10;i+ scanf“ %d” ,&ai; printf“ n ” ; fori=0;i10;i+ printf“ %d” ,ai; 通过数组名运算数组元素的地址 , 找出元素的值;main int a10,i; fori=0;i10;i+ scanf“ %d” ,&ai; printf“ n ” ; fori=0;i10;i

5、+ printf“ %d” ,*a+i; 用指针变量指向数组元素;main int a10,i,*p; 名师归纳总结 - - - - - - -第 3 页,共 6 页精选学习资料 - - - - - - - - - 名师精编 精品教案 fori=0;i10;i+ scanf“ %d” ,&ai; printf“ n ” ; forp=a;pa+10;p+ printf“ %d” ,*p;9.3.3 指向多维数组的指针和指针变量1 . 多维数组的地址表示不管内存空间多大,内存单元的地址都是一维的;在 C语言中, 数组不管是一维的仍是多维的,都占用一片连续的内存空间;static int num4

6、31 ,3,5 ,2 ,4,6 ,13 ,16,19 , 8 ,18,28 ;如下图所示, 可以把数组num看成是“ 一维数组” ,它包含 4 个元素, 各代表数组的一行;上述每个元素又是一个一维数组,各包含 整数;3 个元素, 即 3 个列元素,每个列元素是一个数组名总是代表整个数组的起始地址,即:该数组第1 个元素的地址;numi 就代表第 i 行的首地址,也就是numi 的地址(留意:不是numi 本身);num0 、num1 、num2 和 num3 就分别是 num数组的第0 行数组名、 第 1 行数组名、第 2 行数组名和第3 行数组名, 从而它们就分别代表各个“ 行数组” 的首地

7、址,亦即各行第0 列元素的地址;numi j 就表示该行数组第 j 列元素的地址;2. 指向基本数组元素的指针变量利用指向数组元素的指针变量拜访二维数组的各个元素,并按逆序输出各元素的值;#include void main 名师归纳总结 int a1010,i ,j ,*p,n;第 4 页,共 6 页 for i0;i 10;i for j0;j 10;j *ai j i*10 j ; n0; for p&a99;p&a00; p - - - - - - -精选学习资料 - - - - - - - - - 名师精编 精品教案 printf 5d,*p ; if n 10 0 printfn;

8、 数组元素 aij 相对数组 a 起始地址的位移量是:i *10 j ;其中, i 表示行数, j 表 示列数,而 10 表示 a 数组每行有 10 列;假如我们设立一个指针变量 p,使它指向数组 a 的头一个元素 即 a00: p &a00;那么拜访 a45 就可采纳间接取内容的方式:*p 4*10 5 *p 45 3. 指向行数组的指针变量 指向二维数组中行数组的指针变量的一般定义形式是:类型名(*变量名) N ;变量名是指针变量的名称,N是定义数组大小的常量,类型名是表示数组的类型;在定义和使用指向行数组的指针变量时应留意以下几点: 在定义时必需用一对圆括号把“ 假如见到以下形式的定义:

9、int *p, *pp10;* ” 和指针变量名括起来;应留意:指针变量 p 和 pp 的含义及功能是不同的;p a00;或者 pa0 ;但不能执行下面的赋值语句: pa;0 行的首地址,而不是代表第0 行第 0 列元素的a 表示二维数组的首地址,也就是其第地址;尽管二者在数值上是一样的,但具有不同的物理含义,不能混为一谈;ppa; pp 就指向 a 的第 0 行;如要拜访第 i 行第 j 列元素,仍得再间接拜访一次: *(* (ppi ) j )例如 : 利用指向行数组的指针变量重写前面的程序;名师归纳总结 - - - - - - -第 5 页,共 6 页精选学习资料 - - - - - - - - - 名师精编 精品教案#include void main int a1010,i ,j ,*p; int *pp 10; ppa;for i0;i 10;i for j0;j 10;j *pp j i*10 j ; pp ; forp *pp 1;p a0 ; p printf 5d,*p ; if pa0 10 0 printf n; 小节 : 把握数组的指针和数组元素的指针变量的应用 元素 , 懂得指向多维数组的指针和指针变量的应用;, 把握利用指针变量引用数组名师归纳总结 - - - - - - -第 6 页,共 6 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com