[电脑基础知识]第8章 自 结构体与共用体程序设计甘玲.ppt

[电脑基础知识]第8章 自 结构体与共用体程序设计甘玲.ppt

[电脑基础知识]第8章 自 结构体与共用体程序设计甘玲

《解析C程序设计(第2版)》第8章 结构体与共用体程序设计 第8章 结构体与共用体程序设计 信息查询问题 问题分析 数组解决方式 int studentId[30]; /* 最多可以管理30个学生, 每个学生的学号用数组的下标表示*/ char studentName[30][10]; int studentSex; int scoreMath[30]; /*数学课的成绩*/ int scoreEnglish[30]; /*英语课的成绩*/ int scoreComputer[30];/*计算机原理课的成绩*/ int scoreC[30]; /*C语言课的成绩*/ int scoreTelecomm[30]; /*通信网的成绩*/ int aveage[30]; /*平均成绩*/ 数组解决方式 数据的内存管理方式 希望的内存分配 问题分析 例8-1 实现代码 例8-1程序(续1) 例8-1程序(续2) 例8-1程序分析 结构体 结构体类型 声明结构体类型 使用typedef定义数据类型的别名 声明一个新的类型别名的方法 结构体变量的定义 结构体变量的定义 结构体变量的定义 结构体说明 结构体变量的引用 结构体变量的初始化 结构体变量的初始化 结构体变量的初始化 例8-2 输出3门课平均成绩 例8-2程序 结构体变量作函数参数 函数的返回值为结构体类型 一个函数可以带回一个函数值,这个函数值可以是整型、实型、字符型、指针等,也可以是结构体变量或结构体指针。 例8-3 输出学生成绩等信息 思考题 结构体数组 结构体数组的定义 结构体数组的引用 结构体数组的初始化 结构体数组作函数参数 例8-4 设计一个洗牌和发牌的程序 例8-4程序 例8-4程序(续1) 例8-4程序(续2) 举一反三 例8-5程序 信息打印问题 例8-6实现代码 结构体中的指针 指向结构体变量的指针 例8-7 指向结构体数组的指针 例8-8 举一反三 例8-10 围着一圈报数问题 例8-10程序 例8-10程序(续1) 例8-10程序(续2) 思考题 约瑟夫环问题 问题分析 例8-11 实现代码 例8-11程序(续1) 例8-11程序(续2) 自引用结构 动态内存分配 链表操作 单向链表结构 建立链表 例8-12程序 建立动态链表 例8-13程序 例8-13程序(续) 输出链表 完整的链表建立与输出程序 插入链表结点 空链表插入 结点插在表头 结点插在中间任意位置 结点插在链表尾 例8-15程序 删除链表结点 删除链表头结点 删除链表尾结点 删除链表中间任意结点 例8-16程序 举一反三 例8-17程序 例8-17程序(续1) 例8-17程序(续2) 例8-17程序(续3) 思考题 内存共享问题 例8-19 实现代码 例8-19程序(续1) 例8-19程序(续2) 共用体 声明共用体类型 共用体变量的定义 共用体变量的引用 共用体与结构体 例8-20 例8-20程序 例8-20程序(续1) 例8-20程序(续2) 举一反三 例8-21程序 位读取问题 例8-22 实现代码 位运算 “按位与”运算符() “按位与”运算的一些用途 “按位或”运算符(|) “按位异或”运算符(^) “按位异或”运算的一些用途 “按位取反”运算符(~) “左移”运算符() “左移”运算符() “右移”运算符() “右移”运算符() “右移”运算符() 复合位运算符 不同长度数据间的位运算 位段 位段的定义 位段定义例子 位段的引用 位段说明 位段说明(续1) 位段说明(续2) 举一反三 例8-23程序 应用实例 例8-25程序 例8-25程序(续1) 例8-25程序(续2) 例8-25程序(续3) 例8-25程序(续4) 课后作业 1.阅读教材第8章 2.读程序写结果:习题8.1、习题8.2 3.读程序写功能:习题8.3、习题8.4 4.程序填空:习题8.5、习题8.6 5.程序改错:习题8.7、习题8.8 6.编写程序:习题8.9——习题8.16 【例8-23】从键盘随机输入整数直至0为止。输出所有正整数的和及其个数。 【分析】 正整数的二进制数最高位为0,负数的二进制数最高位为1。对于一个具有2个字节的整数,可以定义位段数据,把符号位分离出来。 /* LI8_23.c */ #include stdio.h /* 将一个数分成两部分a和b */ struct pack { unsigned a:15; unsigned b:1; /* 整型数据的符号位(最高位):0表示正数,1表示负数 */ }; /* 将一个数据用不同的方式来看待 */ union data { int i;

文档评论(0)

1亿VIP精品文档

相关文档