已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
情境二二维连续数据管理系统任务一第三单元结构体和结构体数组 能用C语言设计和实现结构体数组PDA描述算法的能力能用C语言实现结构体数组输入 访问 输出 通过本次课的学习 使学生掌握结构体数组的定义 初始化 赋值 引用 以及数组元素成员的访问 1 29 20205 52PM 一 引入问题 1 29 20205 52PM 一 引入问题 根据学生成绩表 统计出全班的最高成绩 最低成绩和每个人的平均成绩 1 29 20205 52PM 结构体类型的定义 定义一个结构体的一般形式为 struct结构体名 成员表列 成员表由若干个成员组成 每个成员都是该结构的一个组成部分 对每个成员也必须作类型说明 其形式为 类型说明符成员名 结构体名和成员名的命名应符合标识符的书写规定 1 29 20205 52PM 相关例题 例如 structstu intnum charname 20 charsex floatscore 由此可见 结构是一种复杂的数据类型 是数目固定 类型不同的若干有序变量的集合 结构体名 成员 1 29 20205 52PM 结构体变量的定义 结构体变量有以下三种方法 1 先定义结构 再说明结构变量 2 在定义结构体类型的同时说明结构体变量 3 直接说明结构变量 1 29 20205 52PM 先定义结构 再说明结构变量 例如 structstu intnum charname 20 charsex floatscore structstuboy1 boy2 说明了两个变量boy1和boy2为stu结构体类型 即图4 10所表示的数据结构 1 29 20205 52PM 定义结构体类型的同时说明结构体变量 例如 structstu intnum charname 20 charsex floatscore boy1 boy2 1 29 20205 52PM 直接说明结构变量 例如 struct intnum charname 20 charsex floatscore boy1 boy2 第三种方法与第二种方法的区别在于 第三种方法中省去了结构体名 而直接给出结构体变量 1 29 20205 52PM 结构体变量的初始化 和其他类型变量一样 对结构体变量可以在定义时指定初始值 例4 18 外部结构体变量初始化 源程序 structstu 定义结构 intnum charname 20 charsex floatscore boy2 boy1 102 Zhangping M 78 5 voidmain boy2 boy1 printf Number d nName s n boy2 num boy2 name printf Sex c nScore f n boy2 sex boy2 score 1 29 20205 52PM 结构体变量的赋值 结构体变量的赋值就是给各成员赋值 可用输入语句或赋值语句来完成 例4 19 给结构变量赋值并输出其值 源程序 include stdio h include string h voidmain structstu intnum charname 20 charsex floatscore boy1 boy2 boy1 num 102 strcpy boy1 name Zhangping printf inputsexandscore n scanf c f 1 29 20205 52PM 赋值用法总结 1 普通变量可以直接赋值 2 数组用for循环逐个赋值 3 字符串用strcpy赋值 4 结构体可以直接赋值 1 29 20205 52PM 结构体数组 如果数组的元素是结构体类型 则可以构成结构体数组 1 29 20205 52PM 定义结构体数组 结构体数组的定义方法和结构变量相似 只需说明它为数组类型即可 例如 structstu intnum charname 20 charsex floatscore boy 5 定义了一个结构数组boy 共有5个元素 boy 0 boy 4 每个数组元素都具有structstu的结构形式 1 29 20205 52PM 结构体数组的初始化 与其他类型的数组一样 对结构数组可以初始化 例如 structstu intnum charname 20 charsex floatscore boy 5 101 Liping M 45 102 Zhangping M 62 5 103 Hefang F 92 5 104 Chengling F 87 105 Wangming M 58 当对全部元素作初始化赋值时 也可不给出数组长度 1 29 20205 52PM 结构体数组应用举例 例4 20 已知学生成绩表 计算学生的平均成绩和不及格的人数 分析 若用结构体数组来存储学生基本信息 而成绩作为每个数组元素的一个成员 则在main函数中可直接通过循环来完成题目所给的任务 1 29 20205 52PM 例4 20流程图 源程序 调用集成编译环境 1 29 20205 52PM 例4 21 例4 21 建立同学通讯录 分析 通讯录里面至少包含两方面内容 名字和电话号码 可定义一个结构mem 里面有两个成员 然后定义一个mem的结构体数组 可以通过初始化的方法给数组赋初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年太原市万柏林区医疗系统事业编人员招聘笔试参考题库及答案详解
- 2026年河北省承德市政务服务中心(窗口人员)招聘考试参考题库及答案详解
- 2026年鹤岗市兴安区政务服务中心(窗口人员)招聘考试参考题库及答案详解
- 2026年韶关市曲江区医疗系统事业编人员招聘笔试参考题库及答案详解
- 2026年大同市矿区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年乐山市沙湾区政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 2026年平顶山市湛河区政务服务中心(窗口人员)招聘考试参考题库及答案详解
- 2026年汕头市金平区政务服务中心(窗口人员)招聘考试模拟试题及答案详解
- 2026年浙江省嘉兴市政务服务中心(窗口人员)招聘笔试备考试题及答案详解
- 风力发电机碳纤维叶片项目可行性研究报告
- 监控系统调试报告
- 2026年下半年浙江金义人才集团有限公司公开招聘工作人员8人笔试备考题库及答案详解
- 2026年中国医师节主题宣传:以德立医魂+以技护生命
- 2026内蒙古乌海市高新工业投资集团有限责任公司招聘工作人员5名(第二批)考试备考题库及答案详解
- 小学道德与法治学科教师专业素质考试试题及答案
- 中药提取原理及基础知识
- 中医针灸学(A1题型)历年真题试卷汇编2
- 政治审查表(模板)
- 食堂设备操作安全培训
- F-1600泥浆泵性能及维护课件
- 湖南省中小学生转学申请表(模板)
评论
0/150
提交评论