资源描述:
《单元9-结构类型的使用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、<>课程单元九结构类型的使用主要内容结构类型概述结构类型的说明结构变量的定义(重点)结构变量的引用(重点)结构类型数据的处理用函数处理结构类型(难点)考号姓名笔试成绩面试成绩总成绩1501王虎89921502李雪82851503张扬7796…………某单位招聘考试成绩汇总表问题引入如何处理?数据特点:1.各行内数据不尽相同;2.各行间数据情况相同;3.以行为单位处理数据.unsignednum;charname[10];intexama;intexamb;inttotal;问题引入考号姓名笔试成绩面试成绩总成绩1501王虎
2、89921502李雪82851503张扬7796绘制二维表格第一步:制作表头第二步:画出各行第三步:编辑各行数据使用结构类型第一步:结构说明第二步:结构变量定义第三步:结构变量引用某单位招聘考试成绩汇总表如何转换成C语言描述?9.1结构类型的基本使用9.1.1结构类型说明9.1.2结构变量定义9.1.3结构变量引用9.1结构类型的基本使用9.1.1结构类型说明unsignednum;charname[10];intexama;intexamb;inttotal;{};structjob_exam考号姓名笔试成绩面试成绩总成绩1501王虎899
3、21502李雪82851503张扬7796某单位招聘考试成绩汇总表例9-19.1结构类型的基本使用9.1.1结构类型说明unsignednum;charname[10];intexama;intexamb;inttotal;{};structjob_exam结构类型说明的一般格式struct<结构名>{<类型名1><成员变量名1>;<类型名2><成员变量名2>;......<类型名n><成员变量名n>;};结构类型关键字结构类型说明的标识符结构类型成员列表结构成员起始终止标志分号为结构类型终止标记9.1结构类型的基本使用9.1.2结构变量定义
4、考号姓名笔试成绩面试成绩总成绩1501王虎89921502李雪82851503张扬7796某单位招聘考试成绩汇总表structjob_exam*p=&a;structjob_exama,b;structjob_exams[3];(1)定义两个结构变量a和b(2)定义结构变量数组s,有三个元素(3)定义结构指针p,指向结构变量aunsignednum;charname[10];intexama;intexamb;inttotal;{};structjob_exam例9-29.1结构类型的基本使用9.1.2结构变量定义结构类型说明和变量定义合二为
5、一unsignednum;charname[10];intexama;intexamb;inttotal;{};structjob_examstructjob_exam*p=&a;structjob_exama,b;structjob_exams[3];unsignednum;charname[10];intexama;intexamb;inttotal;{}a,b,s[3],*p;structjob_exam9.1结构类型的基本使用9.1.2结构变量定义结构体变量定义时同时初始化structjob_exam{unsignednum;char
6、name[10];intexama;intexamb;inttotal;}a={1501,"王虎",89,92},s[3]={{1501,"王虎",89,92},{1502,"李雪",87,96},{1503,“张扬”,82,85}},*p=&a;unsignednum;charname[10];intexama;intexamb;inttotal;{}a,b,s[3],*p;structjob_exam9.1结构类型的基本使用9.1.2结构变量定义结构体变量的存储特点系统为结构变量分配内存的字节总数为:结构变量所包含的各个成员变量所占字节数
7、之和。如结构变量a所占内存字节数为26。结构体变量的存储示意图nameexamaexambtotalnum10字节4字节4字节4字节4字节astructjob_exam{unsignednum;charname[10];intexama;intexamb;inttotal;}a={1501,"王虎",89,92},s[3]={{1501,"王虎",89,92},{1502,"李雪",87,96},{1503,"张扬",82,85}},*p=&a;9.1结构类型的基本使用9.1.3结构变量引用(1)用成员运算符“.”引用结构变量成员(2)用指针
8、引用结构变量成员a.total=a.exama+a.examb;p->total=p->exama+p->examb;structjob_exam{unsigned