C语言程序设计第3版学习手册第9章 指针.docx

上传人:b****1 文档编号:2017585 上传时间:2023-05-02 格式:DOCX 页数:18 大小:31.71KB
下载 相关 举报
C语言程序设计第3版学习手册第9章 指针.docx_第1页
第1页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第2页
第2页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第3页
第3页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第4页
第4页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第5页
第5页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第6页
第6页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第7页
第7页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第8页
第8页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第9页
第9页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第10页
第10页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第11页
第11页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第12页
第12页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第13页
第13页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第14页
第14页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第15页
第15页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第16页
第16页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第17页
第17页 / 共18页
C语言程序设计第3版学习手册第9章 指针.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计第3版学习手册第9章 指针.docx

《C语言程序设计第3版学习手册第9章 指针.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第3版学习手册第9章 指针.docx(18页珍藏版)》请在冰点文库上搜索。

C语言程序设计第3版学习手册第9章 指针.docx

C语言程序设计第3版学习手册第9章指针

学习手册

(1):

指向变量的指针变量

学习内容

指针变量的定义和引用

学习目标

应知

指针的意义及使用

应会

单个变量的指针应用

难点

通过指针引用变量的意义

专业英语词汇

英文词汇

中文名

Pointer

指针

Memory

内存

Address

地址

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

1.定义两个整型变量a、b,从键盘输入,并且输出a、b的值及a、b的地址

2.

定义两个整型指针变量p1、p2,分别指向变量a,b,从键盘输入数据并输出p1、p2和*p1、*p2

3.在程序中输出&*p1,&*p2,*&a,*&b比较输出的结果

4.拓展练习:

分别定义浮点数、字符型变量及其指针,并采用指针进行输入输出。

5.将变量a、b的值按从大到小顺序输出,分别以以下三种方式进行,是否都能实现?

比较有什么不同

◆以普通变量进行交换{t=a;a=b;b=t;}

◆以普通变量作中间变量,使用指针所值变量的值进行交换(t=*p1;*p1=*p2;*p2=t;)

◆以指针变量作中间变量,使用指针进行交换{p=p1;p1=p2;p2=p;}

6.将以上各步的整型变量改为字符型,再进行各步骤的操作

7.将浮点型变量a、b的值按从大到小顺序输出,分别以以下三种方式进行,比较有什么不同

◆以普通变量进行交换{t=a;a=b;b=t;}

◆以普通变量作中间变量,使用指针所值变量的值进行交换(t=*p1;*p1=*p2;*p2=t;)

◆以指针变量作中间变量,使用指针进行交换{p=p1;p1=p2;p2=p;}

容易出错的地方

定义指针后不经过赋值直接使用

指针与指向的数据类型不同

错用&和*

问题与讨论

指针定义后为什么一定要赋值才能使用?

如果不赋值直接使用可能会发生什么后果?

为什么指向某个变量的指针一定要同变量的类型一致?

回顾以下内容

变量的存取方式有直接访问(通过变量的名称访问变量)和间接访问(通过变量的指针访问变量)两种

变量的指针是变量的首地址

指针变量用来存放变量的地址

课后任务

完成本节课的学生任务书

(2):

指针与数组

学习内容

指针与数组

学习目标

应知

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

应会

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

难点

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

专业英语词汇

英文词汇

中文名

Array

数组

Subscript

下标

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

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

下标法

数组名寻址法

指针法

2.将第1步数组的输入采用指针实现,再用指针方法输出

3.编程:

通过指向数组的指针,将数组a中的最大数与最小数输出

4.编程:

通过指向数组的指针,从键盘输入10个成绩,将平均成绩输出

容易出错的地方

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

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

问题与讨论

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

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

回顾以下内容

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

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

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

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

课后任务

完成本节课的学生任务书

(3):

指针变量作函数参数

学习内容

指针变量作函数参数

学习目标

应知

变量直接访问与间接访问的概念

指针变量可作为函数的参数

应会

指针变量作为函数参数时,函数的声明、定义和调用

难点

函数的声明、定义和调用

专业英语词汇

英文词汇

中文名

Function

函数

Parameter

参数

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,用指针实现

2.将数组stu[10]的内容输出到屏幕上,用指针实现

3.将成绩数组按照从高到低进行排序,用指针实现

4.将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单

5.写一通用函数,在该函数从一个字符串中查找指定字符,若找到,返回1,否则返回0.

6.找到的第一个(5)采用指针方法,输入字符串“studentscore”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)

容易出错的地方

指针定义不赋值就直接使用

给指针赋值时赋给的不是地址

问题与讨论

指针作函数参数同变量作函数参数有什么区别?

指针作函数参数时实参应该是个什么数据?

什么情况下用指针作函数参数?

回顾以下内容

当要求从函数得到一个以上改变了的数据时,可用指向该数据的指针作函数参数

当要求采用指针编程时,首先要确定指针要指向的变量,再定义指针变量并赋值。

指向数组的指针变量作函数参数同数组名作函数参数时情况是一样的;

课后任务

完成本节课的学生任务书

(4):

字符串指针

学习内容

字符串的指针和指向字符串的指针变量

学习目标

应知

字符串可以用字符数组和字符指针表示

应会

用字符指针表示字符串,用字符串指针作函数参数实现关于字符串的常用操作

难点

明确字符串指针的当前指向

专业英语词汇

英文词汇

中文名

Array

数组

Subscript

下标

String

字符串

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

1.定义字符串charstr[]=”Polytechnic”将一个字符串分别逐个输出和整体输出。

2.将字符串str1拷贝到字符串str2.

3.将第2步字符串拷贝的功能放在函数里实现,以字符指针和数组名作函数参数

4.编程:

编写一个合并字符串的函数

容易出错的地方

用字符串结束标志时误用“\0”

字符指针移动后没有重新指向字符串首地址

问题与讨论

字符串指针的初始化与字符数组的初始赋值有何区别?

回顾以下内容

字符数组和字符指针变量都能实现字符串的存储和运算

字符数组与字符串区别:

(1)字符数组的每个数组元素存放一个字符,字符指针变量存放字符串的首地址

(2)对字符数组不能有以下操作:

charstr[20];str=“hello”;

但是字符指针变量可以:

char*pstr;pstr=“hello”;

课后任务

完成本节课的学生任务书

 

(5):

指针与结构体

学习内容

指针与结构体

学习目标

应知

指向结构体变量的指针

指向结构体数组的指针

指向结构体的指针作函数参数

应会

能够是用指针变量引用结构体成员级结构体数组元素的成员.

理解指向结构体变量的指针变量作函数参数时的数据传递方式

难点

指向结构体变量的指针对成员的引用方式

专业英语词汇

英文词汇

中文名

Array

数组

Subscript

下标

Struct

结构

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

1.定义一个结构体变量a,包含四个成员,分别是charsname[10],intmath,intenglish,floatave,从键盘输入输出数据

2.定义一个指针变量指向结构体变量a,通过指针引用进行数据输入输出

3.定义三个学生一组的数据(结构体数组a[3]),从键盘输入数据,输出到屏幕

4.定义一个指针变量pa指向第3步的结构体数组a[3],通过指针变量输入数据并进行运算,再将结果输出。

5.采用指向结构体变量的指针变量作函数参数,编写三个函数,分别实现数据输入、数据处理、数据输出的操作。

6.采用指向结构体变量的指针变量作函数参数,编写以下三个函数,分别实现数学成绩90分以上人数统计并输出、英语成绩70分以上总人数统计并输出、求数学及英语平均分并输出操作。

容易出错的地方

指向结构体的指针对成员的引用

通过指针引用时成员的数据输入

问题与讨论

什么是结构体?

结构体类型变量如何定义?

有几种方法?

如何引用?

指向结构体变量的指针定义后就可以直接使用吗?

结构体数组的如何进行初始化?

用结构体变量的成员作实参,用结构体变量作实参,用指向结构体变量(或数组)的指针作实参,与形参如何传递?

回顾以下内容

结构体变量的首地址就是其指针,用取地址符&得到

指向结构体变量的指针变量称为结构变量的指针变量

指向结构体变量的指针在使用时同样必须要先定义,再赋值,然后才可以使用

如果有指针p指向结构变量a,则

1.a.math等价于(*p).math等价于p.math

使用指向结构数组的指针变量引用结构数组成员时,同指针指向数组时是类似的要明确指针当前指向的数组元素,同时要考虑结构体成员的引用方法

课后任务

完成本节课的学生任务书

(6):

链表

学习内容

链表,用typedef定义类型

学习目标

应知

了解链表的结构,链表基本操作的含义

能够写出C语言对链表节点的结构描述

能够写出有关链表操作的关键实现语句

应会

有关链表操作的关键实现语句:

创建,插入,删除,输出

难点

链表的结构特点和操作处理

1.专业英语词汇

英文词汇

中文名

LinkingList

链表

Node

结点

create

创建

insert

插入

delete

删除

modify

修改

学习方法

课前浏览学习手册进行预习,课后阅读按照步骤进行复习及完成作业,培养自我学习能力。

学习过程

一个链表目前由5个结点构成,结点数据是学生的学号和姓名,示意如下

学生学号

学生姓名

年龄

1311104

Alice

19

1311129

Tom

17

1311118

Jordan

17

1311105

Allen

18

1311108

Rodman

20

1.创建一个具有5个结点的动态链表

2.名为“Allen”的学生退学了,请将他的记录删除

3.新学期,班上来了位名为“James”,学号为“1311118”,年龄为19岁的学生,请插入他的信息

4.在3的基础上,将所有学生信息输出

容易出错的地方

创建链表时每个新节点都应该申请空间

插入、删除操作时的指针移位理解不透

最后一个节点的next指针赋值为NULL

问题与讨论

指向结构变量的指针如何定义和使用?

链表的定义和常用操作?

链表节点在C语言中如何描述?

如何申请和释放节点空间?

回顾以下内容

链表是一种动态存储结构,可以按需随时分配存储空间,结点内存空间的使用必须通过动态分配与释放函数进行

链表的常用操作有插入、输出(遍历)、查询、删除等

课后任务

完成本节课的学生任务书

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2