[工学]Ch11结构体与共用体课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]Ch11结构体与共用体课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 Ch11 结构 共用 课件
- 资源描述:
-
1、12022-8-922022-8-93 一个学生的信息有一个学生的信息有学号学号、姓名姓名、性别性别、年龄年龄、住住址址、成绩成绩等。等。一本图书的信息有一本图书的信息有分类编号分类编号、书名书名、作者作者、出版出版社社、出版日期出版日期、价格价格、库存量库存量等。等。如何描述这些类型不同的相关数据?如何描述这些类型不同的相关数据?一种构造类型数据一种构造类型数据 结构体结构体由若干不同类型的数据项组成,由若干不同类型的数据项组成,构成结构体的各个数据项称为构成结构体的各个数据项称为结构体成员结构体成员。2022-8-94 数据类型数据类型1 成员名成员名1;数据类型数据类型2 成员名成员名2
2、;数据类型数据类型n 成员名成员名n;lstructstruct为关键字;为关键字;l结构体名结构体名是用户定义是用户定义的的类型标识类型标识。l 中是组成该结构体中是组成该结构体的的成员成员。成员的。成员的数据数据类型类型可以是可以是C语言所允语言所允许的任何数据类型许的任何数据类型。2022-8-95例如图书类型的定义:例如图书类型的定义:struct bookcard char num10;/*图书图书分类编号是字符数组类型分类编号是字符数组类型*/char name30;/*书名是字符数组类型书名是字符数组类型*/char author30;/*作者是字符数组类型作者是字符数组类型*/
3、char publisher60;/*出版社是字符数组类型出版社是字符数组类型*/float price;/*价格是单精度实型价格是单精度实型*/int n;/*库存量是整型库存量是整型*/;例如学生类型的定义:例如学生类型的定义:struct student char num8;/*学号是学号是字符数组字符数组类型类型*/char name30;/*姓名是姓名是字符数组字符数组类型类型*/char sex;/*性别是性别是字符型字符型 */int age;/*年龄是年龄是整型整型 */char addr60;/*住址是住址是字符数组字符数组类型类型*/int score6;/*成绩是成绩是整
4、型数组整型数组类型类型*/;2022-8-96 按照结构体类型的组成,系统为定义的结构体按照结构体类型的组成,系统为定义的结构体变量分配内存单元。结构体变量的各个成员在内存变量分配内存单元。结构体变量的各个成员在内存中占用连续存储区域,中占用连续存储区域,结构体变量结构体变量所占内存所占内存结构体中结构体中每个成员每个成员所占用内存的所占用内存的长度之和长度之和。2022-8-97应先定义一个应先定义一个,而后再定义,而后再定义。系统对系统对不分配空间,仅对不分配空间,仅对分配空间。分配空间。只能对只能对赋值、存取或运算,而不能对一个赋值、存取或运算,而不能对一个赋值、存取或运算。赋值、存取或
5、运算。不同结构体不同结构体类型的成员名也可相同,类型的成员名也可相同,struct date int year,month,day;struct student char num8;char name30;char sex;birthday;/*成员为结构体类型成员为结构体类型*/char addr60;int score6;2022-8-98例如:例如:2022-8-99例如:例如:2022-8-910 如果初值个数少于结构体成员个数,如果初值个数少于结构体成员个数,则将无初值对应的成员赋以则将无初值对应的成员赋以0值。值。如果初值个数多于结构体成员个数,如果初值个数多于结构体成员个数,则编
6、译出错。则编译出错。2022-8-911 元素的个数可以省略,根据赋初值时元素的个数可以省略,根据赋初值时结构体常量的个数确定数组元素的个数结构体常量的个数确定数组元素的个数 2022-8-9122022-8-9132022-8-9142022-8-915 结构体变量结构体变量a的各成员可分别表示为的各成员可分别表示为a.num、a.name、a.sex、a.birthday、a.score a.birthday.yeara.birthday.montha.birthday.day 2022-8-916【例】编写一个统计选票的程序。例】编写一个统计选票的程序。struct candidate
7、char name20;/*name为候选人姓名为候选人姓名*/int count;/*count为候选人得票数为候选人得票数*/list=invalid,0,Zhao,0,Qian,0,Sun,0,Li,0,Zhou,0;2022-8-917main()int i,n;printf(Enter voten);scanf(%d,&n);/*输入所投候选人编号,编号从输入所投候选人编号,编号从1 1开始开始*/while(n!=-1)/*当输入编号为当输入编号为-1-1时,表示投票结束时,表示投票结束*/if(n=1&n=5)listn.count+;/*有效票,则相应候选人计票成员加有效票,则
8、相应候选人计票成员加1 1*/else printf(invalidn);list0.count+;/*无效票无效票,list0的计票成员加的计票成员加1*/scanf(%d,&n);/*输入所投候选人编号输入所投候选人编号*/2022-8-918for(i=1;i-”是指向结构体成员是指向结构体成员运算符,优先级为一级运算符,优先级为一级 2022-8-921输入今天的日期,然后输出该日期。输入今天的日期,然后输出该日期。main()struct date /*在函数中定义结构体类型在函数中定义结构体类型 */int year,month,day;today,*p=&today;/*定义结构
展开阅读全文