C语言程序设计第四版PPT 谭浩强_第1页
C语言程序设计第四版PPT 谭浩强_第2页
C语言程序设计第四版PPT 谭浩强_第3页
C语言程序设计第四版PPT 谭浩强_第4页
C语言程序设计第四版PPT 谭浩强_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“函数”习题讲解,函数编写应注意的问题模块划分的原则: P.203功能要单一,相互影响尽量少。例7.17是个不好的程序。 初学者常见的习惯:输入、输出与数据处理运算放在一个函数中。 关于数组(的首地址)作为函数的形参: P.195 数组的大小是否指定全无影响。 通常会定义一个整型的参数,接收实参数组的大小。,第9章 用户建立的数据类型,本章内容,9.1 结构体类型和结构体变量 9.2 结构体数组 9.3 结构体指针 9.4 用指针处理链表 9.5 共用体类型 9.6 枚举类型 9.7 用typedef命名类型,9.1 结构体(Structure),概念 不同类型的相关数据组合成一个整体,以便引

2、用。 例: 电话本程序 P.297 例9.1,9.1 结构体,(1) 定义结构体类型,struct 结构体名 成员表列 ;,类型名 成员名; 类型名 成员名; 类型名 成员名;,基本类型(int num) 数组(char name ) 结构体类型(struct Date birthday) 指针类型(struct Student *next),通常首字母大写,member成员 field 域,9.1 结构体,(2) 定义结构体类型的变量,struct 结构体名 变量名1,变量名2,;,9.1 结构体,(2) 定义结构体类型的变量,亦可在定义结构体的同时定义结构体类型的变量,通常只在小程序中用;

3、,struct 结构体名 成员表列 变量名1,变量名2,;,9.1 结构体,(2) 定义结构体类型的变量,也可以不定义结构体类型的名称而直接定义结构体类型变量,极少用(P.296),struct 成员表列 变量名1,变量名2,;,9.1 结构体,(2) 定义结构体类型的变量并初始化,可在定义结构体类型的变量时对该变量(的成员)进行初始化 struct 结构体名 变量名=值1,值2, ; 也可以只对一部分成员进行初始化,未初始化的成员被设为0(P.297最后5行),9.1 结构体,(3) 引用结构体类型的变量,访问结构体变量的元素 结构体变量.元素 同类结构体类型变量互相赋值 变量1 = 变量2

4、 相当于逐个元素赋值(P.298(5)) 不能对整个结构体类型变量输入、输出,9.1 结构体,一个简单的例子,struct Teacher char id4; char name10; int age; char course20; ; struct Teacher t1=0324,Li,40,C Language, t2=1728,Hu,30,Data Structure; printf(%s teaches %sn,,t1.course); printf(No: %s teaches %sn,t2.id,t2.course); t1=t2;,9.1 结构体,一个简单的例子,s

5、truct Teacher char id4; char name10; int age; char course20; t1,t2=1728,Hu,30,Data Structure; strcpy(t1.id,0324); strcpy(,Li); t1.age=40; strcpy(t1.course,C Language); printf(%s teaches %sn,,t1.course); printf(No: %s teaches %sn,t2.id,t2.course);,9.2 结构体数组,例子修改结构体类型数组,struct Teacher ch

6、ar id4; char name10; int age; char course20; teac2; int i; strcpy(teac0.id,0324); strcpy(,Li); teac0.age=40; strcpy(teac0.course,C Language); strcpy(teac1.id,1728); strcpy(,Hu); teac1.age=30;strcpy(teac1.course,Data Structure); for(i=0;i2;i+) printf(%s teaches %sn,,teac

7、i.course);,9.2 结构体数组,例子修改结构体类型数组初始化,struct Teacher char id4; char name10; int age; char course20; teac2=0324,Li,40,C Language, 1728,Hu,30,Data Structure; int i; for(i=0;i2;i+) printf(%s teaches %sn,,teaci.course);,9.3 结构体指针,首先明确概念: 结构体类型变量的首地址 指向结构体类型变量的指针变量 指向结构体数组元素的指针变量 然后了解:通过指向结构体的指针,

8、访问结构体变量的成员,或访问结构体数组元素的成员(例9.5,9.6及P.304格式说明),9.3 结构体指针,认真阅读教材实例,理解指向结构体和结构体数组的指针变量的用法 例 9.5 通过指向结构体变量的指针变量,访问结构体变量的成员 例 9.6 通过指向结构体数组的指针变量,访问结构体数组元素的成员 例 9.7 以结构体变量作为实参和形参的函数定义与调用,9.4 链表,有序数据的两种存储结构 线性结构:物理上连续地存储不易扩展 链表结构:每个数据项后面有个指针,指向下一个数据项的地址 链表需要用指向结构体变量的指针来访问 struct Student int num; float score; struct Stundent *next; ,9.7 声明新类型名,当类型名太长或太复杂时,使用typedef重新声明类型名(不是“定义类型”),相当于别名,使程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论