华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap09_结构

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程序解析例9-1构建学生信息库■假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,且最多需要处理50名学生的数据。■构建学生信息库,实现学生基本信息的建立、查询和输出功能。(源程序参见教材例9-1)
9.1.1 程序解析 例9-1 构建学生信息库 ◼ 假设学生的基本信息包括学号、姓名、三 门课程成绩以及个人平均成绩,且最多需 要处理50名学生的数据。 ◼ 构建学生信息库,实现学生基本信息的建 立、查询和输出功能。 (源程序参见教材例9-1)

9.1.1程序解析主函数main:主界面功能控制函数newstudent:新建学生信息函数search_student:查询学生信息函数output _student:输出学生信息main()new_student()search_student()output_student()
9.1.1 程序解析 ◼ 主函数main:主界面功能控制 ◼ 函数new_student:新建学生信息 ◼ 函数search_student:查询学生信息 ◼ 函数output_student:输出学生信息 main() new_student() search_student() output_student()

9.1.1程序解析程序首部定义了结构类型structstudent,其中的成员分别代表学生的基本信息structstudent(*学号*/int num;/*姓名*/char name[10];intcomputer,english,math;/*三门课程成绩*/*个人平均成绩*double average;3;主函数中定义的结构数组students中每一个数组元素就是一个结构变量,对应一名学生struct student students[50];
9.1.1 程序解析 ◼ 程序首部定义了结构类型struct student,其中 的成员分别代表学生的基本信息 struct student{ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ }; ◼ 主函数中定义的结构数组students中每一个数组 元素就是一个结构变量,对应一名学生 struct student students[50];

9.1.1程序解析■全局变量Count用于计数当前学生总数三个自定义函数的参数之一都是结构数组。 void new_student(struct student students[]);void search_student(struct student students[], intnum);void output_student(struct student students[]):结构数组名作为函数实参实际上与普通数组名作函数参数是一样的,就是将数组首地址传递给函数形参
9.1.1 程序解析 ◼ 全局变量Count用于计数当前学生总数 ◼ 三个自定义函数的参数之一都是结构数组。 void new_student(struct student students[ ] ); void search_student(struct student students[ ], int num); void output_student(struct student students[ ]); 结构数组名作为函数实参实际上与普通数组名作 函数参数是一样的,就是将数组首地址传递给 函数形参

9.1.2结构的概念与定义结构与数组:·都是构造类型,是多■使用结构来表示学生信息:个变量的集合struct student(·数组成员类型相同,/*学号*int num;结构成员类型不同/*姓名+char name[10];intcomputer,english,math;/*三门课程成绩*double average;/*个人平均成绩*3;结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据统一成一个整体,使它们相互关联结构又是变量的集合,可以按照对基本数据类型的操作方法单独使用其变量成员
9.1.2 结构的概念与定义 ◼ 使用结构来表示学生信息: struct student{ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ }; ◼ 结构是C语言中一种新的构造数据类型,它能够 把有内在联系的不同类型的数据统一成一个整体, 使它们相互关联 ◼ 结构又是变量的集合,可以按照对基本数据类型 的操作方法单独使用其变量成员。 结构与数组: •都是构造类型,是多 个变量的集合 •数组成员类型相同, 结构成员类型不同

9.1.2结构的概念与定义■结构类型定义的一般形式为:关键字struct和它后面struct 结构名的结构名一起组成一t个新的数据类型名类型名结构成员名1;类型名结构成员名2;...类型名结构成员名n;结构的定义以分号结3;束,C语言中把结构的定义看作是一条语句
9.1.2 结构的概念与定义 ◼ 结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员名1; 类型名 结构成员名2; • • • 类型名 结构成员名n; }; 结构的定义以分号结 束,C语言中把结构的 定义看作是一条语句 关键字struct和它后面 的结构名一起组成一 个新的数据类型名

9.1.2结构的概念与定义■例如,平面坐标结构:·虽然x、y的类型相同,也可以用数组的方式表示,struct point但采用结构进行描述,更(贴近事物本质,从而增加了程序的可读性,使程序floatX;更易理解floaty;·结构比较适合用于描述具3;有多个属性的实体或对象
9.1.2 结构的概念与定义 ◼ 例如,平面坐标结构: struct point { float x; float y; }; •虽然x、y的类型相同,也 可以用数组的方式表示, 但采用结构进行描述,更 贴近事物本质,从而增加 了程序的可读性,使程序 更易理解 •结构比较适合用于描述具 有多个属性的实体或对象
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap08_指针.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap07_数组.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap06_回顾数据类型和表达式.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap05_函数.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap04_循环结构.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap03_分支结构.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap02_用C语言编写程序.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap01_概论.ppt
- 华南农业大学:《高级语言程序设计》课程教学大纲 Programming.pdf
- 华南农业大学:《高级语言程序设计》课程授课教案(负责人:刘财兴).pdf
- 《The Basics of Information Security》参考书籍PDF电子版(Understanding the Fundamentals of InfoSec in Theory and Practice,作者:Jason Andress).pdf
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第八章 网络安全.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第九章 网络管理.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第七章 多媒体联网.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第四章 网络层.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第六章 无线网和移动网.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第五章 链路层与局域网.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第二章 应用层.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第三章 运输层.ppt
- 《计算机网络》课程PPT教学课件(自顶向下方法,中文第三版)第一章 计算机网络和因特网概述.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap10_函数与程序结构.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap11_指针进阶.ppt
- 华南农业大学:《高级语言程序设计》课程教学资源(PPT课件)chap12_文件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第10章 过程.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第1章 Visual Basic程序设计概述(海南大学:吴星).ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第2章 程序设计入门.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第3章 VB语言基础.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第4章 基本的控制结构.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第5章 数组.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第6章 常用控件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第7章 图形操作.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第8章 文件.ppt
- 《Visual Basic程序设计》课程电子教案(PPT课件)第9章 界面设计.ppt
- 海南大学:《Java语言程序设计》课程教学大纲 Java Programming.pdf
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第一章 Java入门(主讲:杨厚群).ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第七章 数组和向量.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第三章 控制语句.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第九章 创建用户界面.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第二章 基本数据类型与基本操作.ppt
- 海南大学:《Java语言程序设计》课程电子教案(PPT教学课件)第五章 使用对象对象与类编写程序.ppt