C语言程序设计教程第8章结构体等构造数据类型ppt课件

上传人:钟*** 文档编号:4971806 上传时间:2020-01-16 格式:PPT 页数:56 大小:521KB
返回 下载 相关 举报
C语言程序设计教程第8章结构体等构造数据类型ppt课件_第1页
第1页 / 共56页
C语言程序设计教程第8章结构体等构造数据类型ppt课件_第2页
第2页 / 共56页
C语言程序设计教程第8章结构体等构造数据类型ppt课件_第3页
第3页 / 共56页
点击查看更多>>
资源描述
第8章结构体等构造数据类型 本章需要掌握的知识点结构体的类型说明结构体变量的定义结构体成员的引用使用指针操作结构体数据 内容安排 8 1结构体8 2结构体数组8 3结构体与指针8 4结构体与函数 8 5联合体 8 6枚举8 7类型定义 8 1结构体 C语言提供结构体的目的结构体类型说明结构体变量的定义和初始化结构体成员的引用 1 C语言提供结构体的目的 举例 编写一个学生成绩打印程序 要求 请求用户输入学生的基本情况 其中包括每位学生的学号 姓名和成绩 将每位同学的成绩添加5分 然后按照以下格式输出学生的成绩列表 格式描述如下 学号姓名成绩1张三992王五60 实例的数据分析 数据特点 描述学生基本信息的数据不是一个单独的数值 或者字符或者字符串 而是由学号 姓名和成绩等多个数据项一起构成的 基于旧知识的数据对象描述 将学号 姓名和成绩分别定义为互相独立的简单变量 缺点 难以反映它们之间的内在联系 从而导致数据难于理解和处理 结构体的引入 在C语言中 专门提供结构体机制来描述和处理这些由多个数据项组成的数据 2 结构体类型的声明 结构体通常是由多个数据项所组成的集合体 构成结构体的数据项称之为结构体成员 每一个成员具有各自的名字 可以分别属于不同的数据类型 struct 结构体名 类型标识符成员名 类型标识符成员名 成员类型可以是基本型或结构体型 struct是关键字 不能省略 合法标识符可省 无名结构体 例structstudent intcode 学号charname 20 floatscore 可换成charcode 13 3结构体变量的定义和初始化 1 结构体变量的定义2 结构体变量的初始化 1 结构体变量的定义 定义方法共3种先声明结构体类型 再定义结构体变量声明结构体类型的同时定义结构体变量使用无名结构体类型直接定义各种方法的适用情况 a 先声明结构体类型再定义变量 例structstudent intcode charname 20 floatscore structstudentstu1 stu2 struct结构体名 类型标识符成员名 类型标识符成员名 struct结构体名变量名列表 b 声明类型的同时定义变量 例structstudent intcode charname 20 floatscore stu1 stu2 struct结构体名 类型标识符成员名 类型标识符成员名 变量名列表 c 使用无名结构体类型直接定义 例struct intcode charname 20 floatscore stu1 stu2 struct 类型标识符成员名 类型标识符成员名 变量名列表 各种方法的适用情况 结构体类型只需使用一次 可以使用c方法 类型和变量的定义无法放置在一起的情况 必须使用a方法 如果变量的定义和类型的声明能够放置在一起 a b方法都合适 结构体变量的初始化 例structstudent intcode charname 20 floatscore structstudentstu1 2 WangWu 99 struct结构体名 类型标识符成员名 类型标识符成员名 struct结构体名结构体变量 初始数据列表 注意事项 类型和变量是不同的概念 不要混同 变量是一个具体的数据对象 可以参与运算 而类型不是 成员的类型也可以是一个结构体类型 例structdate intmonth intday intyear structstudent intcode charname 20 structdatebirthday stu 4结构体变量及其成员的引用 结构体变量的引用结构体变量成员的直接引用结构体变量成员的逐级引用 1 结构体变量的引用 可以将一个结构体变量作为一个整体赋值给另一个同类型的结构体变量 structstudents1 1 wangli 90 s2 s2 s1 不能将一个结构体变量作为一个整体进行输入和输出 只能对结构体变量中的各个成员分别进行输入和输出 2 结构体变量成员的引用 成员 分量 运算符 引用方式 结构体变量名 成员名 例structstudent intcode charname 20 floatscore s1 s2 s1 code 10 s2 score 85 5 s1 score s2 score 10 printf code d score d s1 code s1 score 3 结构体变量成员的逐级引用 结构体嵌套时需逐级引用 例structdate intmonth intday intyear structstudent intcode structdatebirthday stu stu birthday month 12 8 2结构体数组 结构体数组的定义结构体数组的初始化结构体数组元素成员的引用 1 结构体数组的定义 类型说明符数组名 常量表达式 inta 100 structstudentstus 20 2 结构体数组的初始化 首先考虑数组的初始化 然后考虑数组中每一个元素的初始化 也就是对每一个元素进行结构体的初始化 structstudent charnumber 13 charname 20 floatClanguage structstudents 3 01 WangXiao2 78 02 Zhang3 99 03 Li4 91 3 结构体数组元素成员的引用 先数组元素再结构体成员假如有定义structstudentstus 20 那么stus 0 code就是引用stus数组中第1个元素中的code成员 补充 结构体基本应用举例 需求描述数据结构描述程序输入部分程序处理部分程序输出部分程序的整体组合 1 需求描述 要求 请求用户输入学生的基本情况 其中包括每位学生的学号 姓名和C语言课程的成绩 将每位同学的成绩添加5分 然后按照以下格式输出学生的成绩列表 格式描述如下 学号姓名成绩1张三992王五60
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!