版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计 高等教育出版社 新形态一体化教材单元九编号编号姓名姓名笔试成绩笔试成绩面试成绩面试成绩总成绩总成绩1501王虎89921811502李雪87961831503张扬8285167.某某单位招聘考试结果单位招聘考试结果结构体数据特点:1.各行内数据不尽相同;2.各行间数据情况相同;3.以行为单位处理数据.unsigned num;char name10;int exama;int examb;int total;1结构体类型的基本使用2用函数处理结构体数据3链表的使用 结构体类型的基本使用4共用体类型5用户自定义类型1结构体类型的基本使用基本思路编号编号姓名姓名笔试笔试面试面试总成
2、绩总成绩1501王虎89921811502李雪87961831503张扬8285167某某单位招聘考试结果单位招聘考试结果绘制二维表格第一步:制作表头第一步:制作表头第二步:画出各行第二步:画出各行第三步:编辑各行数据第三步:编辑各行数据使用结构体类型第一步:第一步:结构结构体类型体类型说明说明第二步:第二步:结构结构体体变量变量定义定义第三步:第三步:结构结构体体变量变量引用引用如何转换成 C语言描述?1结构体类型的基本使用结构体类型说明编号编号姓名姓名笔试笔试面试面试总成绩总成绩1501王虎89921811502李雪87961831503张扬8285167某某单位招聘考试结果单位招聘考试结
3、果unsigned num;char name10;int exama;int examb;int total; ;struct job_exam结构体类型说明的一般格式struct ; ; . ; ; 结构结构体体类型类型关键字关键字自定义的自定义的结构体类型结构体类型标识符标识符结构体类型结构体类型成员列表成员列表1结构体类型的基本使用结构体变量的定义编号编号姓名姓名笔试笔试面试面试总成绩总成绩1501王虎89921811502李雪87961831503张扬8285167某某单位招聘考试结果单位招聘考试结果unsigned num;char name10;int exama;int exa
4、mb;int total; ;struct job_examstruct job_exam *p=&a ;struct job_exam a , b ;struct job_exam s3 ; (1)定义两个结构变量a和b(2)定义结构变量数组s,有三个元素(3)定义结构指针p,指向结构变量a示例1结构体类型的基本使用结构体变量的定义unsigned num;char name10;int exama;int examb;int total; ;struct job_exam二合一形式:struct job_exam *p=&a ;struct job_exam a , b ;
5、struct job_exam s3 ; unsigned num;char name10;int exama;int examb;int total; a , b, s3, *p=&a ;struct job_exam1结构体类型的基本使用结构体变量的定义unsigned num;char name10;int exama;int examb;int total; ;struct job_exam初始化形式:struct job_exam a =1501,王虎,89,92;unsigned num;char name10;int exama;int examb;int total;
6、s3=1501,王虎,89,92, 1502,李雪,87,96, 1503,“张扬”,82,85;struct job_exam1结构体类型的基本使用随堂练习说明与“名片管理”相对应的结构体类型。 ;struct business_cardbusiness cardunsigned num;char name20;char telephone15;char email30;char address30;char website30;1结构体类型的基本使用结构体变量的引用(1)引用结构体变量成员(2)引用结构体变量整体 用用成员运算符成员运算符“. .”引用结构变量成员引用结构变量成员 用用指针
7、引用结构变量成员指针引用结构变量成员 a.total=a.exama+a.examb; p-total=p-exama+p-examb;(*p).total= (*p). exama+ (*p). examb;unsigned num;char name10;int exama;int examb;int total; a,t,*p=a,s3=1501,王虎,89,92, 1502,李雪,87,96, 1503,“张扬”,82,85;struct job_exam for(int i=0;i3;i+) si.total=si.exama+si.examb; t=s0; if(t.totals1
8、.total) t=s1; if(t.totals2.total) t=s2;【例9-5】1结构体类型的基本使用2用函数处理结构体数据3链表的使用 用函数处理结构体数据4共用体类型5用户自定义类型2用函数处理结构体类型数据知识回顾函数调用中的数据传递方式:处理处理结构体类型结构体类型数据时,函数间传递数据时,函数间传递结构结构体体变量变量的的值还是地址值还是地址?编号编号姓名姓名笔试笔试面试面试总成绩总成绩1501王虎89921811502李雪87961831503张扬8285167某某单位招聘考试结果单位招聘考试结果数值传递方式地址传递方式2结构体类型变量特点分析:编号编号姓名姓名笔试笔试面
9、试面试总成绩总成绩1501王虎89921811502李雪87961831503张扬8285167某某单位招聘考试结果单位招聘考试结果 不能以整体为对象进行输入不能以整体为对象进行输入和和输出输出 可以以整体为对象进行赋值、可以以整体为对象进行赋值、传递传递给函数给函数以及作为函数以及作为函数返回值返回值。 通常在函数间传递结构体变量通常在函数间传递结构体变量地址地址nameexamaexambtotalnum10字节字节4字节字节4字节字节4字节字节4字节字节用函数处理结构体类型数据问题分析2编号编号姓名姓名笔试笔试面试面试总成绩总成绩1501王虎89921811502李雪8796183150
10、3张扬8285167某某单位招聘考试结果单位招聘考试结果【例9-6】用函数实现最高总成绩 的考生信息的查找。用函数处理结构体类型数据示例【例9-7】编写函数,实现按分数 的高低排列学生的记录。1结构体类型的基本使用2用函数处理结构体数据3链表的使用 链表的使用4共用体类型5用户自定义类型3链表的使用什么是链表 链表链表可以看作一可以看作一种新的数据结构种新的数据结构 用结构体变量和指向结构体变量的指针构成链表用结构体变量和指向结构体变量的指针构成链表(10K)FFF00B003FB003F(60K)FF000(80K)NULLA0010A0010head数据数据1 1指指针针数据域数据域指针域
11、指针域结点结点数据数据1 1指指针针数据数据1 1指指针针以内存空间的管理为例struct node int data; struct node *next;*head,*p,s10;3链表的使用链表操作struct node int data; struct node *next;*head,*p,s10;(1)建立空闲内存信息初始链表(2)将新空闲内存信息节点插入到链表中(3)删除链表中的节点1结构体类型的基本使用2用函数处理结构体数据3链表的使用4共用体类型5用户自定义类型 共用体类型4共用体类型基本使用思路union un int i; double x; s ; 共用体类型说明的一般
12、格式union ; ; . ; ; 示例printf( “%d”, s.i ) ;4共用体类型与结构体类型的异同union un int i; double x; s ; 共用体类型struct un int i; double x; s ; 结构体类型结构体变量存储示意图共用体变量存储示意图s.xs.i8字节字节s.xs.i4字节字节8字节字节1结构体类型的基本使用2用函数处理结构体数据3链表的使用4共用体类型5用户自定义类型 用户自定义类型5用户自定义类型将已有基本类型重新命名typedef ; (1)一般格式(2)示例typedef int SIGNED_INT; /将整型int重新命名
13、为SIGNED_INTSIGNED_INT i, j; /用SIGNED_INT定义变量i和j typedef char *CP; /将char *重新命名为CPCP p; /用CP定义指针变量p 5用户自定义类型说明一个用户自定义新类型可用typedef说明一个结构体、共同体等用户自定义类型/使用typedef将用户自定义的结构类型命名为STD_GRADEtypedef struct char name12; char sex; sturct date birthday; float sc4;STD_GRADE;/用STD_GRADE定义结构体变量std、pers3和*pstd STD_GRADE std,pers3,*pstd; 1结构体类型的基本使用2用函数处理结构体数据3链表的使用4共用体类型5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025死亡赔偿协议书格式
- 黑素瘤病因介绍
- 协议书汽车转让模板
- 合同战略合作协议
- 代理合作协议范本大全
- 公司保密协议案例
- 颅内静脉血栓形成病因介绍
- 2023夫妻结婚前协议书七篇
- 关于采购协议
- 中医药健康知识讲座
- 2023年报告文学研究(自考)(重点)题库(带答案)
- 国军淞沪会战
- 2023年湖南体育职业学院高职单招(语文)试题库含答案解析
- GB/T 39314-2020铝合金石膏型铸造通用技术导则
- 装饰装修施工质量检查评分表
- 非开挖施工技术讲稿课件
- 单绒毛膜双羊膜囊双胎2022优秀课件
- 《思想道德与法治》 课件 第四章 明确价值要求 践行价值准则
- 北师大版八年级上数学竞赛试卷
- 幼儿园讲座:课程游戏化、生活化建设的背景与目的课件
- 地理信息系统(GIS)公开课(课堂)课件
评论
0/150
提交评论