已阅读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年广州石化人员招聘考试参考试题及答案详解
- 武胜县公安局招聘警务辅助人员的(10人)笔试备考题库及答案解析
- 2026年中国大唐集团有限公司人员招聘参考题库及答案详解
- 施工现场防暑降温管理方案
- 科研楼实验室安全巡检检查表
- 2026年中国煤炭地质总局人员招聘考试题库及答案详解
- 光明区2025广东深圳市光明区科技创新服务中心博士后招聘笔试历年参考题库典型考点附带答案详解
- 《长颈鹿与小鸟》教学设计-北师大版小学二年级数学上册第九单元第一课时
- 高级机工见习记录薄填写
- 中国创新药械多元支付白皮书2026
- 学校后勤外包合同
- 2026年建行信息技术类笔必背题库【夺冠】附答案详解
- 《濒危野生动植物种国际贸易公约》附录中文版2026
- 超声介入管理制度
- 创伤性前房积血护理
- 【2025秋 新教材】统编版 二年级上册道德与法治 第16课《祖国我为您自豪》(第二课时)
- 杭州雷峰塔图文课件
评论
0/150
提交评论