佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第9章 结构

Chap9结构 9.1职工发工资 9.2结构变量 9.3结构数组 9.4结构指针
Chap 9 结构 9.1 职工发工资 9.2 结构变量 9.3 结构数组 9.4 结构指针

本章要点 ■什么是结构?结构与数组有什么差别? ■ 有几种结构的定义形式,它们之间有什么不同? 什么是结构的嵌套? 熊育暴續村变益和结村成员变过,如何引用结构 结构变量如何作为函数参数使用? 什么是结构数组,如何定义和使用结构数组? ■ 什么是结构指针,它如何实现对结构分量的操作? ■结构指针是如何作为函数的参数的?
本章要点 ◼ 什么是结构?结构与数组有什么差别? ◼ 有几种结构的定义形式,它们之间有什么不同? ◼ 什么是结构的嵌套? ◼ 什么是结构变量和结构成员变量,如何引用结构 成员变量? ◼ 结构变量如何作为函数参数使用? ◼ 什么是结构数组,如何定义和使用结构数组? ◼ 什么是结构指针,它如何实现对结构分量的操作? ◼ 结构指针是如何作为函数的参数的?

9.1职工发工资 9.1.1程序解析 9.1.2结构的概念与定义 9.1.3结构的嵌套定义
9.1 职工发工资 9.1.1 程序解析 9.1.2 结构的概念与定义 9.1.3 结构的嵌套定义

9.1.1程序解析 在一个职工工资管理系统中,工资项目包括编号、姓 名、基本工资、奖金、保险、实发工资。 输入一个正整数n,再输入n个职工的前5项信息,计 算并输出每位职工的实发工资。 实发工资=基本工资+奖金-保险
9.1.1 程序解析 在一个职工工资管理系统中,工资项目包括编号、姓 名、基本工资、奖金、保险、实发工资。 输入一个正整数n,再输入n个职工的前5项信息,计 算并输出每位职工的实发工资。 实发工资 = 基本工资+奖金–保险

#include 源程序 struct employeef intnum; char name[20]; floatjbgz,jj,bx, 请输入职工人数n:1 ; 请输入第1个职工的信息:102 Zhong2200.580085.2 int main(void) 编号:102姓名:Zhong实发工资:2915.30 inti,n; struct employee e; printf("请输入职工人数n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("请输入第%d个职工的信息:",i); scanf("%d%s",&e.num,e.name); scanf("%f%f%f",&e.jbgz,&e.jj,&e.bx); e.sfgz=e.jbgz+e.jj-e.bx; printf("编号:%d姓名:%s实发工资:%.2fn",e.num,e.name,e.sfgz; return 0;
#include 源程序 struct employee{ int num; char name[20]; float jbgz, jj, bx, sfgz; }; int main(void) { int i, n; struct employee e; printf("请输入职工人数n: "); scanf("%d", &n); for(i = 1; i <= n; i++){ printf("请输入第%d个职工的信息: ", i); scanf("%d%s", &e.num, e.name); scanf("%f%f%f", &e.jbgz, &e.jj, &e.bx); e.sfgz = e.jbgz + e.jj - e.bx; printf("编号:%d 姓名:%s实发工资:%.2f\n", e.num, e.name, e.sfgz); } return 0; } 请输入职工人数n: 1 请输入第1个职工的信息:102 Zhong 2200.5 800 85.2 编号:102 姓名:Zhong 实发工资:2915.30

9.1.2 结构的概念与定义 ■使用结构来表示通讯录信息: struct friends_list{ char name[10];*姓名*M int age; *年龄*/ char telephone[13];*联系电话*/ }; 结构:构造数据类型,把有内在联系的不同类型 的数据统一成一个整体,使它们相互关联 ■结构又是变量的集合,可以单独使用其成员
9.1.2 结构的概念与定义 ◼ 使用结构来表示通讯录信息: struct friends_list{ char name[10]; /*姓名*/ int age; /*年龄*/ char telephone[13]; /*联系电话*/ }; ◼ 结构:构造数据类型,把有内在联系的不同类型 的数据统一成一个整体,使它们相互关联 ◼ 结构又是变量的集合,可以单独使用其成员

结构的定义 ■结构类型定义的一般形式为: struct结构名{ 关键字struct和它后面 的结构名一起组成一个 类型名结构成员名1; 新的数据类型名 类型名结构成员名2; ●● 类型名结构成员名n; 结构的定义以分号结束, 被看作一条语句
结构的定义 ◼ 结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员名1; 类型名 结构成员名2; • • • 类型名 结构成员名n; }; 结构的定义以分号结束, 被看作一条语句 关键字struct和它后面 的结构名一起组成一个 新的数据类型名

结构定义示例 定义平面坐标结构: struct point double x; double y; }; 虽然x、y的类型相同,也可以用数组的方式 表示,但采用结构体描述整体性更强,增加 了程序的可读性,使程序更清晰
结构定义示例 定义平面坐标结构: struct point { double x; double y; }; 虽然x、y的类型相同,也可以用数组的方式 表示,但采用结构体描述整体性更强,增加 了程序的可读性,使程序更清晰

9.1.3结构的嵌套定义 ■ 在实际生活中,一个较大的实体可能由多个成员 构成,而这些成员中有些又有可能是由一些更小 的成员构成的实体。 ■在手机通讯录中,增加“通信地址” 姓名 性别 年龄 通信地址 联系 电子 城市 街道 门牌号 邮编 电话 邮箱
9.1.3 结构的嵌套定义 ◼ 在实际生活中,一个较大的实体可能由多个成员 构成,而这些成员中有些又有可能是由一些更小 的成员构成的实体。 ◼ 在手机通讯录中,增加“通信地址” 姓名 性别 年龄 通信地址 联系 电话 电子 城市 街道 门牌号 邮编 邮箱

结构的嵌套定义 姓名 性别 年龄 通信地址 联系 电子 城市 街道门牌号 邮编 电话 邮箱 struct addressf struct nest_friendslist char city[10]; char name[10]; char street[20]; char sex[2] int code; int age; int zip; struct address addr; char telephone[13]; }; char email[13]; nest_friend; 在定义嵌套的结构类型时,必须先定义 成员的结构类型,再定义主结构类型
结构的嵌套定义 struct address{ char city[10]; char street[20]; int code; int zip; }; struct nest_friendslist { char name[10]; char sex[2] int age; struct address addr; char telephone[13]; char email[13]; } nest_friend; 在定义嵌套的结构类型时,必须先定义 成员的结构类型,再定义主结构类型。 姓名 性别 年龄 通信地址 联系 电话 电子 城市 街道 门牌号 邮编 邮箱
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第7章 数组.ppt
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第5章 函数.ppt
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 循环结构.ppt
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第3章 分支结构.ppt
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第2章 用C语言编写程序、第6章 数据类型和表达式.ppt
- 佛山科学技术学院:《C语言程序设计》课程教学资源(PPT课件讲稿)第1章 引言 C Language Programming.ppt
- 《C语言程序设计》课程教学资源(实验指导书)实验教材9 指针.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材12 综合实验二.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材11 文件.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材10 位运算.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材8 结构体与共用体.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材7 数组.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材6 综合实验一.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材5 函数.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材4 循环结构程序设计.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材3 分支结构程序设计.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材2 顺序结构程序设计.pdf
- 《C语言程序设计》课程教学资源(实验指导书)实验教材1 熟悉C语言编程环境.pdf
- 《C语言程序设计》课程教学资源(参考资料)常见问题解答.docx
- 佛山科学技术学院:《C语言程序设计》课程教学资源(参考资料)C语言经典编程案例100例.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第一章 制图基本知识.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第二章 投影理论基础.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第三章 集合体.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第四章 工程图中尺寸及文本标注.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第五章 图样画法.pdf
- 《画法几何与工程制图》课程教学资源(课件讲稿,打印版)第六章 零件图装配图简介.pdf
- 佛山科学技术学院:2017版理论课教学大纲物联网(合集).pdf
- 成都大学:信息科学与工程学院网络工程专业教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院电工专业教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院电子信息专业教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院计算机科学与技术专业课程教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院计算机科学与技术专业课程教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院软件工程专业课程教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院数字媒体技术专业课程教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院通信工程专业教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院物联网工程专业课程教学大纲(汇编).pdf
- 成都大学:信息科学与工程学院信息科学与计算专业课程教学大纲(汇编).pdf
- 《编译原理与技术》课程教学资源(教材书籍)Practical Foundations for Programming Languages(SECOND EDITION,Robert Harper Carnegie Mellon University).pdf
- 中国科学技术大学:《编译原理与技术》课程教学资源(课件讲稿)第1章 引论(主讲:张昱、陈意云).pdf
- 中国科学技术大学:《编译原理与技术》课程教学资源(课件讲稿)第2章 词法分析.pdf