第六章 数据的织结构(二)---结构体.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数据的织结构(二)---结构体

第六章 数据的组织结构--结构体 一、 结构体 复合数据对象的需求 描述由不同类型的数据元素组成的数据类型 例如: 教学管理系统中的学生数据,包括:姓名、性别、学号、班级 等 每本书都有书号、书名、作者、出版社 等 用结构体类型来表示 语言支持 C 语言中的结构 Pascal 语言中的记录 C++ 、Java 语言中的类 结构定义和变量说明 语法结构 struct 结构类型名 { 数据类型 成员变量1; 。。。 }; /* 学生信息的结构体 */ struct student { char name[32]; char sex; int no; char class[8]; }; 结构变量说明 struct student chen; 或直接说明 struct { char name[32]; char sex; int no; char class[8]; } chen; 结构类型的存储 声明了结构类型后并不分配存储空间 只为该类型的变量分配存储空间 结构变量的存储空间由结构类型决定 例: struct student{ char name[20]; int age; char sex; long num; float score; }; struct student chen; 结构体变量及相关运算 结构体变量占用的内存空间 大于等于各个元素占用内存空间之和 一般利用 sizeof 运算符计算 如:sizeof ( struct Student ) 结构体变量的运算 初始化 如:struct Student chen = { “chen”, ‘F’, 24, “9707” }; 赋值(即整体赋值) 函数参数 结构体变量的成员变量及相关运算 结构分量的运算 引用: chen.name chen.sex 格式:结构体变量名. 成员名 运算取决于分量的类型 赋值(即对分量赋值) 如: chen.sex = ‘F’ ; chen.no = 24 ; strcpy(chen.name, “chen”) ; // 字符串 即可看成普通变量的使用 实例1 单一学生信息中有3门课成绩,求其平均分 问题分析 需要使用结构变量存放学生信息 姓名、学号、3门课成绩、平均分 变量中存放成绩的成员,可采用下面方式之一 1个有3个整型元素的数组成员 3个整型成员 #include stdio.h main( ) { struct stuinfo { char name[20]; long num; int score[3]; float ave; }; struct stuinfo stu={zhang, 98012, 78, 65, 89 }; int k, sum=0; for(k=0; k3; k++) sum += stu.score[k]; stu.ave = sum / 3.0; printf(%s %ld %6.2f\n, stu.name, stu.num, stu.ave); } 问题:成绩单包含每个学生的学号、姓名和成绩,请编写一个程序,构造一个含30名学生的成绩单。要求学号和成绩自动产生,姓名从键盘输入,计算平均值,并打印输出。 问题分析 1. 结构类型 struct stud { long No; char name[20]; int score; }; 2. 结构体数组变量 struct stud s[30]; 或直接 3. 结构体数组元素的引用 第i个结构体数组元素分量的表示: s[i].No s[i].name s[i].score 4. 程序实现 #include stdio.h #define N 30 struct stud { long No, char name[20]; int score; }; void main( ) { struct stud s[N]; int i; for (i=0;iN;i++) { s[i].No=1071000+i+1; scanf(“%s”, s[i].name); s[i].s

文档评论(0)

189****8221 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档