《C语言程序设计》教案

第十六学时

教师姓名

李思广

授课班级

05计应1-2

授课形式

讲授

授课日期

2006 年 5 月 12 日 第 10 周

授课时数

2

授课章节名称

第10章 指针应用(2/2)-数组的指针和指向数组的指针变量

教学,目的

1、 数组的指针及指向数组(或数组元素)指针变量

2、 指向数组的指针作为函数参数

教学重点

1、 数组的指针及指向数组(或数组元素)指针变量

2、 指向数组的指针作为函数参数

教学难点

使用教具

教学内容

引言

复习指针基本概念,指针变量定义、初始化、引用。本节介绍指针变量的应用-数组的指针。

l 数组:相同类型元素构成的有限、有序的序列。

l 数组元素的指针-数组元素的地址

l 数组的指针-数组的地址,数组的起始地址,第一个元素的地址(首地址)。

C语言用数组名代表数组的起始地址(首地址)。

例如:int a[10];数组的指针-a或&a[0],

讲授-指针应用(数组的指针、指向数组的指针变量)

一、指向数组的指针变量

1、指向数组的指针变量:就是指向数组元素的指针变量,也就是指向基类型的指针变量并将其初始化指向数组。

例如:数组int a[10];其中每个元素为整型变量。可以定义一个指向整型变量的指针变量int *p;并将p初始化为&a[0]或a。此时可以将p称为指向数组的指针变量。

2、数组的指针变量的定义和初始化

数组基类型 *p; p=数组名;/* p=&数组名[0] */

或:数组基类型 *p=数组名;

二、通过指针引用数组元素 (假设int a[100]; int *p=a; 即指针p指向数组)

1、 指针a+i、指针变量p+i的含义。存在a[i]、是否有p[i]?-C允许p[i]!

2、 指针与数组的关系。数组元素可以用下标访问,也可以用指针访问。

3、 通过指针引用数组元素。

(1) 数组元素的地址表示:&a[i],p+i,a+i。

(2) 数组元素的访问:a[i],*(p+i),*(a+i)。

(3) 指向数组的指针变量,数组名在许多场合可以交换使用。a[i]甚至可以表示为p[i]。

注意:

(1) 引用数组元素可以采用下标法和指针法。(假设p=a)

下标法:a[i],p[i];指针法:*(a+i),*(p+i)

(2) 数组名是常量指针,指向数组的指针变量是变量。例10-3.P141-P142。

(3) 注意:使用数组的指针变量,如果改变了其值,那么应当关注其当前指向的位置。必要时可以重置指针。参阅P143例子。(详细分析见教材p143)

三、数组名作为函数参数(基本等价于用指向数组的指针作函数参数)

1、复习例8-4(P.110)

形参数组的数组名b接受了实参数组a的首地址-不严格。接受地址的变量是指针变量。

C编译系统将形参数组名作为数组的指针变量来处理。所以形参float b[]即:float *b。

思考:本例如何用指针改写。

2、例10-4.(P.144)来源于例7-4选择法排序。(使用函数、形参使用指针)

同样,本例也可以将形参改写为用形参数组表示。思考:如何改写?

3、数组作为函数参数,使用指针更加灵活。

例10-5.P145。将数组前n个元素逆序存放。注意:指针在移动。

点名、课堂提问讨论

小结、作业布置

2

展开阅读全文

c语言程序设计教案 文库,C语言程序设计教案.doc相关推荐

  1. c语言编程入门文库,C语言程序设计入门:计算机和编程语言

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  2. c语言库函数大全文库,c语言常用的库函数_相关文章专题_写写帮文库

    时间:2019-05-12 16:51:22 作者:admin 字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件 ctype.h 函数列表 函数类别 函数用途 ...

  3. c语言入门教程文库,C语言入门教程(全集)课件

    C语言入门教程(全集)课件 01123364105 Y N p AB X=0? YN P1 A A P2 a a b b Y Y N N y n A B P A A B X=0? 3 a97 3 U ...

  4. c语言程序设计一维数组教案,《C语言程序设计》-任正云-电子教案 第7章数组

    1.第七章 数组,The C Programming Language Chapter 7 Arrays,构造数据类型; 有序数据的集合; 可以看成是具有相同名字不同下标的同一数据类型的简单变量的集合 ...

  5. C语言找出4个最大和4个最小数,济南大学C语言程序设计教案:C语言实验课程第四课.doc...

    济南大学C语言程序设计教案:C语言实验课程第四课 C语言实验课程第四课 实验一 数组与函数.数组与指针 一.实验目的 1 掌握数组名作为函数参数的含义.使用方法. 2 掌握多维数组作为函数参数的使用方 ...

  6. 谭浩强c语言程序设计教材特点,《C语言程序设计》教案(清华谭浩强)教材.doc

    第一章C语言及程序设计概述 本章要求: 了解C语言的特点.C语言与其它高级语言相比有什么异同: 了解C程序在PC机上的建立.编译和运行过程: 了解C语言程序设计思想的基本篇: 重点:①C语言的主要特点 ...

  7. 计算机程序设计语言教案,高中信息技术VB程序设计教案

    我们知道,计算机系统是由硬件和软件两大部分组成的.硬件指的是各种机器设配,而软件则是人们为解决各种问题而编写的程序. 编写计算机程序需要使用计算机编程语言.计算机编程语言是人和计算机"对话& ...

  8. c语言程序的引言,C语言程序设计-第1章-引言

    <C语言程序设计-第1章-引言>由会员分享,可在线阅读,更多相关<C语言程序设计-第1章-引言(80页珍藏版)>请在人人文库网上搜索. 1.c语言编程,2,1 .你为什么学这门 ...

  9. C语言程序设计期末考试A卷,C语言程序设计(B)期末考试A卷-试卷.doc

    C语言程序设计(B)期末考试A卷-试卷.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

最新文章

  1. 技术详解 | 如何用GAN实现阴影检测和阴影去除?
  2. C语言自学《四》---- 循 环
  3. 项目进度管理:规划项目进度管理
  4. 神策数据易向文:打造券商上层数据应用的坚实基础
  5. libgit2 0.28.1 发布,纯 C 实现的可移植 Git 核心开发包
  6. ASP.NET Core ---日志
  7. Django中的class Meta知识点
  8. java包管理之maven安装
  9. MVC公司架构介绍——自运行任务
  10. python数据结构剑指offer-链表中环的入口结点
  11. 安卓图片处理全解:获取视频的缩略图
  12. {知道力} = {怎么做} + {为什么} 并且 {为什么} {怎么做}
  13. 华为笔试题:进制转换
  14. 人工神经网络基本构成有哪些,常见的人工神经网络有哪几种
  15. 极简工具(AutoCAD、Tekla)——零件图自动标注
  16. 微信小程序播放器实战开发教程
  17. 读侯世达之《哥德尔、艾舍尔、巴赫:集异壁之大成》
  18. 树莓派I2C控制DLPDLCR230NPEVM(python改写c)+注意事项
  19. iOS 15.0+ 中 SwiftUI 顶部或底部悬浮功能小面板的极简实现
  20. 高德地图动态锁定地图不能放大缩小和滑动

热门文章

  1. mysql 一对多映射_mybatis关系映射之一对多和多对一
  2. Python面向对象编程Day 25部分知识点
  3. PythonWeb开发教程(一),开发之前需要准备什么
  4. 直接用img 的src属性显示base64转码后的字符串成图片【原】
  5. 成功者五大因素 奸的好人-笔记
  6. 爸爸我爱您(之十二)
  7. 左连接 和右链接的区别,内连接和外连接的区别
  8. date(w) 输出后对应的周几不对的问题
  9. 中班音乐计算机反思,中班歌曲《不再麻烦好妈妈》活动反思
  10. SwiftUI之深入解析如何定制视图的动画和转场