圳 职 业 技 术 学 院Shenzhen Polytechnic

七单元(2):指针与数组

教学内容 指针与数组

教学目标

应知 数组的指针的意义,数组元素的指针的意义,数组名作函

数参数

应会 通过指针引用数组元素,数组名与数组的指针作函数参数

难点 指针引用数组时指针的定位

学方法

项目递进驱动教学法,通过数组的几种表示方法引入数组的指针

学过程

1. 提问与复习

what’s a point of a variable?

What’s is the characteristic of the function result when the parameter is

a pointer?

2. 输出数组 int a[10]各元素的值,采用如下三种方法:

下标法(复习数组的定义、引用,数组下标从0 开始) (提问)

数组名寻址法 (引入数组的地址) (学生易错:数组名是一个常量,不能出现在赋

值号的左边)

通过数组名计算数组元素的地址,找出元素的值

指针法 (引入数组的指针) (指向数组的指针是一个变量,可以有运算)

用指针变量指向数组元素

3. 将第2 步数组的输入采用指针实现,再用指针方法输出(观察程序,修改

程序,学生易错:必须明确指针当前所指的元素)

4. 通过实例熟悉指针运算(指向数组的指针变量在使用中要注意):

*p++ 等价于* (p++):符合++运算符的规律

*p++ 与 *(++p) :符合++运算符的规律

算机系乌云高娃 Wygw@21 第 54 页 共 83 页

圳 职 业 技 术 学 院Shenzhen Polytechnic

(*p)++ :p 所指向的元素值加1

p+n ,(p-n):将指针从当前位置前进或后退n 个元素

p2-p1 :表示两指针变量之间数组元素的个数,而不是指针的地址之差

5. 编程训练:通过指向数组的指针,将数组a 中的最大数与最小数输出

定义数组int a[10],指针int *p,存放最大值最小值的变量max 和min

将指针指向该数组,p=a;

从键盘输入数组数据 (采用指针法)

将max 与min 赋值为a[0]

在循环中依次进行比较,将比较大、比较小的元素值存入max,min

输出max 和min ,应为数组a 中的最大值和最小值

6. 编程训练:通过指向数组的指针,将数组a 中的最大数与最小数输出

实参和形参都用数组名

实参用数组名,形参用指针

实参用指针,形参用数组名

实参和形参都用指针

学生容易出错的地方

指向数组的指针移动后没有重新指向数组头部

对数组名赋值,数组名是常量不能进行赋值

问题与讨论

形参是数组的指针时,实参可以是什么?

数组名和指向数组的指针有什么异同?

小结 (可由问题与讨论方式给出)

数组的指针是数组在内存中的起始地址,数组元素的指针是数组元素在内存中的起

始地址

数组名是常量,代表数组的起始地址,也就是第一个数组元素的地址

算机系乌云高娃 Wygw@21 第 55 页 共 83 页

圳 职 业 技 术 学 院Shenzhen Polytechnic

指向数组的指针变量同样要经过定义、赋值才能引用

指向数组的指针变量可以改变本身的值

哈工大c语言指针实验题,C语言程序设计_哈工大(2):指针与数组.pdf相关推荐

  1. c语言的实验题答案,大一C语言上机实验试题及答案

    大一c语言基础 实验三 选择结构程序设计(2学时) 一.实验方式:一人一机 二.实验目的: 1.熟练掌握if语句和switch语句. 2.练习并掌握多分支选择结构的编程方法. 3.学习调试和修改程序的 ...

  2. 沈航C语言上机实验题答案,大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc...

    大学大一c语言程序设计实验室上机题全部代码答案(实验报告) C语言实验报告 实验1-1: hello world程序: 源代码: #include main() { printf("hell ...

  3. c语言程序设计 第三版 哈工大,C语言程序设计_哈工大(3):字符串指针.pdf

    圳 职 业 技 术 学 院Shenzhen Polytechnic 七单元(3):字符串指针 教学内容 字符串的指针和指向字符串的指针变量 教学目标 应知 字符串可以用字符数组和字符指针表示 应会 用 ...

  4. c语言程序设计 第三版 哈工大,C语言程序设计_哈工大(3):指针与结构体.pdf...

    圳 职 业 技 术 学 院Shenzhen Polytechnic 八单元(3):指针与结构体 教学内容 指针与结构体 教学目标 应知 指向结构体变量的指针 指向结构体数组的指针 指向结构体的指针作函 ...

  5. c语言四则运算实验报告,c语言四则运算实验报告.doc

    c语言四则运算实验报告.doc 课程编号 1300050027 得分教师签名批改日期深 圳 大 学 实 验 报 告课程名称 C语言实验 实验名称 100以内的四则运算游戏 学 院 信息工程学院 指导教 ...

  6. C语言及实验作业,C语言作业及参考答案

    <C语言作业及参考答案>由会员分享,可在线阅读,更多相关<C语言作业及参考答案(65页珍藏版)>请在人人文库网上搜索. 1.C语言及实验作业参考做法分支程序设计上机作业:标题 ...

  7. 华北科技c语言综合实验报告,C语言综合性实验报告1.doc

    C语言综合性实验报告1.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档 ...

  8. c语言定时器实验程序,C语言定时器实验.doc

    C语言定时器实验 实验三 C语言定时器实验 一.实验目的 1.进一步熟悉DSP的中断机制 2.在掌握中断服务程序编写的基础上进一步熟悉定时器的运用 3.进一步掌握如何编写DSP中断服务子程序 二.实验 ...

  9. c语言编程实践题,C语言实践编程题

    <C语言实践编程题>由会员分享,可在线阅读,更多相关<C语言实践编程题(11页珍藏版)>请在人人文库网上搜索. 1.C语言实践编程题一.分支结构()1. 利用一元二次方程ax ...

最新文章

  1. 命令行启动ssh_如何在虚拟机中正确的第一次启动Linux系统
  2. OSPF 报文 链路状态请求报文 LSR
  3. iOS开发-63】Unknown type name CGRect,did you mean Rect?的解决方案
  4. 如何使用 C# 判断一个文件是否为程序集
  5. 【logstash】使用logstash拉取数据到kerberos+SSL认证的kafka集群中遇到的坑
  6. signature=73d4f2b7e55a02359b7d1bf362a074d6,SHOCK ABSORBER
  7. 跟我一起学QT_QT标准对话框_颜色选择框
  8. Selenium爬虫 -- 图片视频的src绝对地址链接分析
  9. 现代软件工程 第一章 【概论】第6题——原旭莹
  10. 微信小程序中如何应用音频
  11. 资讯App排行榜出炉,凤凰新闻客户端如何成了行业变量?
  12. 交换机和路由器技术-15-链路聚合
  13. 和风天气开发者使用总结
  14. 大数据平台,Hadoop集群架构,概述及原理
  15. redis夺命连环问10--说说Redis是怎么做旁路缓存的?
  16. Vue响应式更新原理(个人总结)
  17. 2021-07-05 Ubuntu18安装Caffe-ssd with GPU并运行Apollo mutitask yolo3d
  18. 某云服务器挖矿病毒查杀日记
  19. python 请在微信客户端打开_如何实现‘请在微信客户端打开链接’
  20. 怎样把java降至7_JDK1.8降到1.7技巧

热门文章

  1. 安装与使用pytorch_cpu版
  2. STM32 使用内部FLASH存储读取数据
  3. 添加光效:颜色减淡法
  4. 船舶设计图纸管理系统_全方面设计图纸管理方案
  5. SSD讲堂五(训练)_错误调试:failed to allocate 4.75G (5102921216 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
  6. 想好这三个问题,再决定要不要做积分兑换商城系统
  7. 上大学究竟是来干什么的?为什么会这样?
  8. 零跑汽车上市破发,第四上市为何难获高估值
  9. 人宅-MMOARPG无法登录问题
  10. UESTC 1634 记得小苹初见,两重心字罗衣 欧拉路径(回路)