C语言程序设计:第9章 结构体 课件教案

合集下载

c语言学习,c语言课件第09章

c语言学习,c语言课件第09章

struct { char char char long long char };
addr 像这些对不同登记 name[20]; department[30] ;/*部门*/ 表的数据结构的描 address[30]; /*住址*/ 述类型称为结构体 box; /*邮编*/ phone; /*电话号码*/ 类型 email[30]; /*Email*/
9.2 结构体变量的引用与初始化
9.2.1 结构体类型变量的引用 引用结构体类型变量的一般形式为: 引用结构体类型变量的一般形式为: 结构体类型变量名 .成员名 其中“ 是成员(分量)运算符,它在所有运算符中优先级最高。 其中“.”是成员(分量)运算符,它在所有运算符中优先级最高。 说明: 说明: (1)结构体类型变量的各成员与相应的简单类型变量一样可以进行 (1)结构体类型变量的各成员与相应的简单类型变量一样可以进行 各种运算,例如: 各种运算,例如: student2.score[1]= student1.score[1]; sum=stud1.score[0]+stud1.score[1]+stud1.score[2]; (2)如果成员本身又属一个结构体类型 如果成员本身又属一个结构体类型, (2)如果成员本身又属一个结构体类型,则要用若干成员运算符 一级一级地找到最低的一级成员。 ,一级一级地找到最低的一级成员。只能对最低级的成员进行 赋值或存取以及运算。例如: 赋值或存取以及运算。例如: birthday.day=01;student1.birthday.month=10; student1. birthday.day=01;student1.birthday.month=10; student.birthday.year=2004; student.birthday.year=2004;

《C语言程序设计》课件 《C语言程序设计》课件 第9章-结构类型的使用

《C语言程序设计》课件 《C语言程序设计》课件 第9章-结构类型的使用

printf("%4u%8s%6d%6d%6d\n",t.num,
,t.exama,t.examb,t.total); }
运行结果:
程序 演示
结构体变量 整体的引用
<<C语言程序设计>>
Page 15
9.1 结构类型的根本使用
【随堂练习9-1】
有如下定义: struct job_exam a,b;
<<C语言程序设计>>
Page 19
9.2 用函数处理结构类型数据
例9-6
用函数完成:查找最高 总成绩的考生信息。
【自定义函数】 void find(struct job_exam *p) { *p=s[0];
for(int i=1;i<3;i++) if((*p).total<s[i].total) *p=s[i];

姓名
王虎 李雪 张扬

笔试 成绩 89 82 77

面试 成绩 92 85 96

总成绩
如何处理?
unsigned num; char name[10]; int exama; int examb; int total;
数据特点:
1.各行内数据不尽相同; 2.各行间数据情况相同; 3.以行为单位处理数据.
<<C语言程序设计>>
Page 3
问题引入
某单位招聘考试成绩汇总表
考号
1501 1502 1503
姓名
王虎 李雪 张扬
笔试 成绩
89 82 77
面试 成绩
92 85 96
总成 绩

C语言程序设计:第9章 结构体 课件教案

C语言程序设计:第9章 结构体 课件教案

掌握结构体的定义、存储、引用和初始化的基本语法,学会引用结构体中的每一个成员变量。

掌握结构体数组的定义、存储、引用和初始化的基本语法。

1. 熟练掌握结构体的定义、存储、引用和初始化的基本语法2. 学会引用结构体中的每一个成员变量3. 熟练掌握使用typedef 定义结构体4. 熟练掌握结构体数组的定义、存储、引用和初始化的基本语法1. 结构体的应用2. 结构体成员变量的引用3. 结构体数组的应用1. 笔记本电脑2. VC20223. 投影仪讲授法、练习法、讨论法6 课时一、课程引入同时存储全班同学的C 语言成绩、PS 成绩等需要定义多个类型不同的变量,可以采用定义结构体的方式解决。

二、结构体的定义C 语言中,可以自己构造出自己想要的数据类型,这种类型叫做复合数据类型。

复合数据类型------ 结构体--是由一系列具有相同类型或者不同类型的数据构成的数据集合结构体:不同的数据类型组成的组合型的数据结构1.结构体的定义struct 结构体名{成员列表};struct student{int num;int age;float score;double avg;};说明:1>定义了一个结构体类型,结构体的关键字---struct,结构体名为student;2>这个结构体包含了多个不同的基本数据类型。

注意:1>结构体的类型可以多种,名字由关键字struct 和结构体名组合而成2>访问成员的规则:(1)结构体普通变量通过"."来访问成员,例如:pe.id(2)结构体指针变量通过"->"来访问成员, 例如:p->id (大致提一下)三、定义结构体变量1.先声明,再定义struct 结构体名{数据类型数据类型数据类型...;}; 成员变量名; 成员变量名; 成员变量名;语法:struct 结构体名变量名;例如:struct student//student 为结构体名{int num;int c_score;int ps_score;float avg;};//定义结构体int main(void){struct student Tom;//Tom为结构体变量Tom.num = 10;printf("序号:%d\n",Tom.num);return 0;}2.在声明类型的同时,定义变量struct 结构体名{数据类型数据类型数据类型...;}变量名列表; 例如:struct people 成员变量名; 成员变量名; 成员变量名;{int age;int id;}p1; //p1 是一个结构体变量这里的p1, 相当于struct people p1;p1.age = 20;p1.id = 15;3.省略结构体名,直接定义结构体类型的变量struct{数据类型成员变量名;...;}变量名列表;例如:struct{int age;;int id}p1;特点:只能定义一次,接下来不能再定义结构体变量了。

C语言程序设计第9章结构体与共用体简明教程PPT课件

C语言程序设计第9章结构体与共用体简明教程PPT课件

//书名 //作者 //出版社 //价格
【例9.2】定义一个结构体类型struct student,描 述学生的基本信息,包含学号、姓名、性别和成绩
struct student { int num; //学号 char name[20]; //姓名 char sex; //性别, M-男,F-女 float score; //成绩 };
第9章
结构体与共用体
第9类型,但在实际问题中, 数据要复杂一些,往往具有不同的数据项和类型: 例如: 图书基本信息 用户自定义 学生基本信息 数据类型 球赛基本信息 ……
方法:创建结构体类型、共用体类型(或称为联合 体类型)和枚举类型
C语言程序设计 第9章 结构体与共用体 2
9.1 结构体类型
整 型
单精度型float
基本类型
实型(浮点型)
双精度型double
字符类型char
C 数 据 类 型
数组 构造类型
结构体struct 共用体union 枚举类型enum 指针类型
本章所介绍 空类型void 的数据类型
C语言程序设计
数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作
C语言程序设计
定义了结构体类型: struct book 定义了结构体变量: book1,book2;
第9章 结构体与共用体
14
• 方式三:
定义无名结构体类型的同时定义结构体变量
struct { 成员列表 } 变量名列表; struct { char name[40]; char author[100]; char publish[100]; float price; }book1,book2; 说明:第三种方法,由于没 有给出结构体类型标识符, 在实际应用中,此方法往往 是一次性的,适用于定义临 时的局部变量或者嵌套的结 构体成员变量。

C语言程序设计_课件_第九章(适于清华谭浩强版)

C语言程序设计_课件_第九章(适于清华谭浩强版)

注意, 注意,对嵌套结构体的引用必须引用
到最末一级。 到最末一级。
struct OBJECT { struct TASK { long plan; long start; long finish; } ti,tj; int count; } ob;
可以使用scanf(“%d”,&ob.ti.plan) 输 可以使用 入数据。但是不能引用ob.ti 。 入数据。但是不能引用
9.2 结构体与数组 9.2.1结构体包含数组 结构体包含数组 由于结构体的成员可以是任何基 本数据类型和另外一个构造类型, 本数据类型和另外一个构造类型,所 以结构体的成员当然可以是数组。 以结构体的成员当然可以是数组。 下面我们说明一个可以描述一个股票 信息的结构体: 信息的结构体:
struct STOCK { char stockname[8]; /*股票名称 */ 股票名称 char stockcode[6]; /*股票代码 */ 股票代码 float price[3]; /*买 入价、卖出价、成交价 */ 买 入价、卖出价、 }; ;
不能混淆结构体名和结构体变量这两 个概念。 个概念。结构体名实际上标识了程序员定 义的一种新的数据类型, 义的一种新的数据类型,编译系统不可能 为结构体名分配内存空间。 为结构体名分配内存空间。只有当变量被 说明为这种由程序员自己定义的数据类型 的结构体时, 的结构体时,编译系统才会为结构体变量 分配存储空间。在不引起混淆的情况下, 分配存储空间。在不引起混淆的情况下, 结构体变量可以简称为结构体。 结构体变量可以简称为结构体。
*/
Struct STOCK sfz={"ShenFaZhan","000001",8.77,8.78,8.78 }; /*用深发展的数据初始化结构体变量 用深发展的数据初始化结构体变量sfz*/ 用深发展的数据初始化结构体变量 printf("\n %s %s ", sfz.stockname, sfz .stockcode); /*输出股票名称和股票代码 */ 输出股票名称和股票代码 for (i=0;i<3;i++) /*输出股票的买入价、卖出价和成交价 输出股票的买入价、 输出股票的买入价 卖出价和成交价*/ printf("%6.2f ", sfz.price[i]); }

《C语言程序设计》电子课件 第9章课件

《C语言程序设计》电子课件 第9章课件

Your site here
重 庆
9.2文件的打开与关闭

子 工
3.使用文件的方式

文件使用方式
意义

(1)文件使用方式由r、w、a、t、 rt(只读)
打开一个文本文件,只允许读数据

b,+六个字符拼成,各字符的含义
学 院
是:r(read):读;w(write):写; a(append):追加;t(text):文本文
计 算
行管理,把它们的输入、输出等同于对磁盘文件的读和写。

ASCII文件:也称为文本文件,这种文件在磁盘中存放时每
学 院
个字符对应一个字节,用于存放对应的ASCII码。
二进制文件:是按二进制的编码方式来存放文件的。
Your site here

9.1文件概述



工 程
2.文件类型指针

用一个指针变量指向一个文件,这个指针称为文件指针。


9.1文件概述
9.2文件打开与关闭
计 算
9.3文件的读写

9.4文件检测函数


Your site here

第九章 文件



工 程
9.1概述
职 业
“文件”是指一组相关数据的有序集合。这个
学 院
数据集有一个名称,叫做文件名。实际上在前
面的各章中我们已经多次使用了文件,例如源
程序文件、目标文件、可执行文件、库文件



说明文件指针的一般形式如下:
FILE * 指针变量标识符

FILE *fp;

《C语言程序设计与数据结构》课件第09章

《C语言程序设计与数据结构》课件第09章
C语言程序设计与数据结构
上述工人( 上述工人(worker)结构体类型可以声明为: )结构体类型可以声明为: struct worker { char name[20]; char sex; int age, number; float salary; }; ;
C语言程序设计与数据结构
9.2 结构体变量
C语言程序设计与数据结构
工人包含有多个属性,比如姓名、性别、年龄、 工人包含有多个属性,比如姓名、性别、年龄、 包含有多个属性 工号、工资等等, 工号、工资等等,我们无法简单的用某一种数据类 型或者数组来实现 。
C语言程序设计与数据结构
解决方法: 解决方法: C语言中引入了一种新的数据结构,称为“结构体”。 语言中引入了一种新的数据结构,称为“结构体” 它可以把若干个有内在联系的数据组合在一起, 它可以把若干个有内在联系的数据组合在一起,形成 一个有机整体。 一个有机整体。
第九章 结构体与共用体
C语言程序设计与数据结构
总体要求: 总体要求: 掌握结构体的概念; 掌握结构体的概念; 掌握结构体成员的引用; 掌握结构体成员的引用; 学会使用typedef声明数据类型的别名。 声明数据类型的别名。 学会使用 声明数据类型的别名C语言程序设计与数据结构
学习重点: 学习重点: 结构体的概念; 结构体的概念; 结构体成员的引用。 结构体成员的引用。
C语言程序设计与数据结构
说明: 说明: (1) 句首 句首struct是关键字, 是声明结构体类型的标识符。 “ 结 是关键字, 是关键字 是声明结构体类型的标识符。 构体标识名” 定义的是结构体的名字, 它是可选项, 构体标识名 ” 定义的是结构体的名字 , 它是可选项 , 可以 不出现; “ 结构体成员名表”由多个成员名组成, 彼此之 不出现 ; 结构体成员名表 ” 由多个成员名组成, 间用分号隔开,两者都要符合标识符的命名规则。 间用分号隔开,两者都要符合标识符的命名规则。 (2) 结构体中定义的所有成员都用大括号括起来,成员名可以 结构体中定义的所有成员都用大括号括起来, 与程序中其他变量相同。 与程序中其他变量相同。 (3) 结构体中的“数据类型名”可以是基本类型,也可以是构 结构体中的“数据类型名”可以是基本类型, 造类型( 如数组) , 还可以是已经定义的其他结构体类型。 造类型 ( 如数组 ) 还可以是已经定义的其他结构体类型。 (4) 结构体类型的定义只是创建了一种模式,表示该结构体 结构体类型的定义只是创建了一种模式, 的组成情况。结构体定义结束后, 的组成情况。结构体定义结束后,系统并没有为该结构体 分配相应的空间; 分配相应的空间;只有在我们使用这种结构体进行定义变 量后,系统才为结构体变量分配存储空间。 量后,系统才为结构体变量分配存储空间。

C程序设计(第四版)教案第九章

C程序设计(第四版)教案第九章

学习好资料欢迎下载教案首页第9章用户自己建立数据类型9.1 定义和使用结构体变量9.1.1 自己建立结构体类型用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,是属于同一个学生的,因此组成一个组合数据,如student_1的变量,反映它们之间的内在联系声明一个结构体类型的一般形式为:struct 结构体名{ 成员表列 };说明:(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,例如struct Teacherstruct Workerstruct Date等结构体类型各自包含不同的成员(2) 成员可以属于另一个结构体类型。

struct Date{ int month; int day; int year; };struct Stu{ int num;char name[20];char sex;int age;struct Date birthday;char addr[30];};前面只是建立了一个结构体类型,它相当于一个模型,并没有定义变量,其中并无具体数据,系统对之也不分配存储单元。

相当于设计好了图纸,但并未建成具体的房屋。

为了能在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。

9.1.2 定义结构体类型变量1. 先声明结构体类型,再定义该类型变量声明结构体类型struct Student,可以用它来定义变量struct Student student1,student2;2.在声明类型的同时定义变量struct Student{ int num;char name[20];char sex;int age;float score;char addr[30];} student1,student2;3. 不指定类型名而直接定义结构体类型变量其一般形式为:struct{ 成员表列 }变量名表列;指定了一个无名的结构体类型。

第9章结构体

第9章结构体
《C语言其实很简单》 教材配套课件
概述
管理学生成绩
const int N=5;
int num[N];
//学号
char name[N][10]; //姓名
char sex[N]; //性别
float score[N]; //分数
num[0]num[1]num[2]num[3]num[4] num: 1001 1002 1003 1004 1005 name:
int num; char name[10]; char sex; float score; };
struct stu boy1;
boy1=1001; scanf(%d", &boy1); printf("%d",boy1);
结构体变量名.成员名
boy1.num=1001;
boy1.sex='M';
20
对类型和变量均 printf("%d", sizeof(boy2));
20
可使用
printf("%d", sizeof(struct stu)); 20
printf("%d", sizeof(stu));
类型叫struct stu,不叫stu 5
结构体类型变量的定义方式
①先定义类型,再定义 ②定义类型的同时,
num boy1:
num boy2:
name name
sex score sex score
stu.num=1001; printf("%f", stu.score);
boy1.num=1001; printf("%f", boy2.score);

C语言程序设计-电子教案 第9章 结构体、共用体和枚举类型

C语言程序设计-电子教案 第9章 结构体、共用体和枚举类型

第9章 结构体、共用体和枚举类型
9.1 结构体
9.1.3 结构体数组的定义与使用
一个结构体变量只能存放一个对象(如一个学生)的数据,如 果要存放一所学校所有的学生数据就要用到数组,这就是结构体数 组。结构体数组的每个数组元素都是一个结构体类型的变量。 1.结构体数组的定义 (1)先定义结构体类型再定义结构体数组。例如:
struct worker { char name[20]; char sex; int age; float salary; }; struct worker w[50];
第9章 结构体、共用体和枚举类型
9.1 结构体
9.1.3 结构体数组的定义与使用
1.结构体数组的定义 (2)定义类型的同时定义数组。例如:
第9章 结构体、共用体和枚举类型
9.1 结构体
9.1.3 结构体数组的定义与使用
2.结构体数组的初始化 结构体数组在定义时可以直接进行初始化。例如:
struct worker { char name[20]; char sex; int age; float salary; } w[50]={ {"LiuGang",'M',30,5500},{"WangKe",'F',25,4000}};
结构体变量.结构体成员名
– 其中符号“.”称为成员运算符。
struct student { char num[11]; char name[10]; char sex; int age; char nation; char addr[20]; }stu1; strcpy(, "LiMing" ); stu1.age=19;

C语言程序设计教程第9章 结构体共用体PPT课件

C语言程序设计教程第9章 结构体共用体PPT课件

2020/7/30
10
举例:
定义结构体: struct stu
{ char num[20]; char name[20]; char sex; float score;
}; 声明结构体变量: struct stu student1, student2;
2020/7/30
11
② 声明结构体类型的同时定义结构体 变量
第9章 结构体、共用体
9.1 结构体类型概述
9.2 结构体类型变量的定义和引用
9.3 结构体数组
9.4 结构体与指针
9.5 结构体与函数
9.6 链表的基本操作
9.7 共用体类型数据的定义和引用
9.9 位运算和位段
9.10 自定义类型(typedef)
9.11 常见错误及改正方法
2020/7/30
1
整体 概述
struct 结构体名 {
成员表列 }变量名表列;
如: struct stu { char num[20];
char name[20]; char sex; float score; } student1, student2
2020/7/30
12
③ 直接定义结构体类型变量
struct { 成员表列 }变量名表列; 这种定义方法没有出 现结构体名,只能定义 变量一次。
表中,通常包括学在生C语的言中学称号为结、构姓体类名型、性别、年
龄、姓成名绩、年家龄庭性地别址民等族项文目化。程度数组住只址能按电序话号组码 织多字符个数同组 类整型型的字数符据字,符显然整我型 们不字符能数用组 一长个整数型
2020/7/30
4
组来存放这一组数据。
9.1.1 结构体类型定义
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计课件教案第九章结构体教学目的掌握结构体的定义、存储、引用和初始化的基本语法,学会引用结构体中的每一个成员变量。

掌握结构体数组的定义、存储、引用和初始化的基本语法。

教学要求1.熟练掌握结构体的定义、存储、引用和初始化的基本语法2.学会引用结构体中的每一个成员变量3.熟练掌握使用typedef定义结构体4.熟练掌握结构体数组的定义、存储、引用和初始化的基本语法重点和难点1.结构体的应用2.结构体成员变量的引用3.结构体数组的应用教学支撑环境与教学资源:1.笔记本电脑2.VC20103.投影仪教学方法讲授法、练习法、讨论法授课课时6课时教学过程---------------------------------AM---------------------------------一、课程引入同时存储全班同学的C语言成绩、PS成绩等需要定义多个类型不同的变量,可以采用定义结构体的方式解决。

二、结构体的定义C语言中,可以自己构造出自己想要的数据类型,这种类型叫做复合数据类型。

复合数据类型------结构体--是由一系列具有相同类型或不同类型的数据构成的数据集合结构体:不同的数据类型组成的组合型的数据结构1.结构体的定义struct 结构体名{成员列表};struct student{int num;int age;float score;double avg;};说明:1>定义了一个结构体类型,结构体的关键字---struct,结构体名为student;2>这个结构体包含了多个不同的基本数据类型。

注意:1>结构体的类型可以多种,名字由关键字struct和结构体名组合而成2>访问成员的规则:(1)结构体普通变量通过"."来访问成员,例如:pe.id(2)结构体指针变量通过"->"来访问成员, 例如:p->id(大致提一下)三、定义结构体变量1.先声明,再定义struct 结构体名{数据类型成员变量名;数据类型成员变量名;数据类型成员变量名;...;};语法:struct 结构体名变量名;例如:struct student//student为结构体名{int num;int c_score;int ps_score;float avg;};//定义结构体int main(void){struct student Tom;//Tom为结构体变量Tom.num = 10;printf("序号:%d\n",Tom.num);return 0;}2.在声明类型的同时,定义变量struct 结构体名{数据类型成员变量名;数据类型成员变量名;数据类型成员变量名;...;}变量名列表;例如:struct people{int age;int id;}p1; //p1 是一个结构体变量这里的p1, 相当于struct people p1;p1.age = 20;p1.id = 15;3.省略结构体名,直接定义结构体类型的变量struct{数据类型成员变量名;...;}变量名列表;例如:struct{int age;;int id}p1;特点:只能定义一次,接下来不能再定义结构体变量了。

课堂练习1:1.定义结构体,包含学生的信息(序号、C语言成绩、PS成绩、平均分),定义结构体变量并赋初值,输出学生的信息。

struct student//student为结构体名{int num;int c_score;int ps_score;float avg;};//定义结构体int main(void){struct student Tom = {15,90,95,92.5};printf("我的序号是:%d\n",Tom.num);printf("C语言成绩是:%d\n",Tom.c_score);printf("PS成绩是:%d\n",Tom.ps_score);printf("平均分是:%f\n",Tom.avg);return 0;}2.定义结构体,包含学生的信息(序号、3门课的成绩、平均分),定义结构体变量并赋初值,输出学生的信息。

struct student//student为结构体名{int num;int score[3];float avg;};//定义结构体int main(void){struct student Tom = {15,{90,95,80},83.3};int i = 0;printf("我的序号是:%d\n",Tom.num);printf("成绩分别是:%d,%d,%d\n",Tom.score[0],Tom.score[1],Tom.score[2]);printf("平均分是:%f\n",Tom.avg);return 0;}四、typedef关键字功能:它不是用来创造类型,而是给已有的类型取一个别名。

定义变量int a;int a[10];struct student stu;规则:将名字去掉,剩下的就是类型intstruct studenttypedef 已有的类型别名;//注意:别名后面的分号;不能省略例如:typedef int TYPE;======>TYPE与int 等价,如TYPE a;相当于int a; typedef struct student{int num;}STU1,STU2;//STU1和STU2都是别名STU1 <===>struct studentdemo:typedef struct student{int num;int age;}STU;//STU是struct student的别名int main(void){struct student Jim;//定义别名后,原先的结构体名称也可以用STU Tom;//相当于struct student Tom;Tom.age = 18;Jim.age = 20;return 0;}课堂练习2:1.定义结构体(使用typedef),包含学生的信息(序号、三门课的成绩、平均分),定义结构体变量并赋初值,输出学生的信息。

typedef struct student//student为结构体名{int num;int score[3];float avg;}STU;//STU是结构体别名int main(void){//相当于struct student TomSTU Tom = {15,{90,95,80},83.3};int i = 0;printf("我的序号是:%d\n",Tom.num);for(i=0;i<3;i++){printf("第%d门的成绩:%d\n",i+1,Tom.score[i]);printf("平均分是:%f\n",Tom.avg);return 0;}2.定义结构体(使用typedef),包含学生的信息(序号、3门课的成绩、平均分),从键盘输入学生的信息,计算平均分,并出这个学生的信息。

#define SIZE 3typedef struct student//student为结构体名{int num;int score[SIZE];float avg;}STU;//STU是结构体别名int main(void){//相当于struct student TomSTU Tom;int i = 0;Tom.avg = 0;printf("请输入序号:");scanf("%d",&Tom.num);for(i=0;i<SIZE;i++){printf("请输入第%d门的成绩:",i+1);scanf("%d",&Tom.score[i]);Tom.avg += Tom.score[i];//求累加和}Tom.avg = Tom.avg / SIZE;//求平均分printf("我的序号是:%d\n",Tom.num);for(i=0;i<3;i++){printf("第%d门的成绩:%d\n",i+1,Tom.score[i]);}printf("平均分是:%f\n",Tom.avg);return 0;}---------------------------------PM---------------------------------五、结构体数组一个学生的信息我们知道怎么去存储了----使用结构体那么全班50名学生的信息,我们怎么去存呢?-----使用结构体数组1.定义结构体数组的一般形式:1>声明结构体的时候就定义结构体数组:struct 结构体名{成员列表} 数组名[数组长度];2>先声明一个结构体类型(如struct student ), 然后再用此类型定义结构体数组;结构体类型数组名[数组长度];demo:struct student{int num;int c_score;int ps_score;float avg;};struct student class3[5];//class3 是结构体数组名2.结构体数组的初始化:结构体类型数组名[数组长度] = { 初值表列};struct student class2[3] = {{10,90,95,92.5},{11,80,90,85.0},{12,100,90,95.5}};课堂练习3:1.有n个学生的信息(包括序号、成绩),找出成绩的最高的学生,并输出该学生的信息#include<stdio.h>#define N 5typedef struct student{int num;int score;}STU;int main(void){STU class3[N] = {{10,90},{14,70},{8,95}};int i = 0;int max = 0;//存放成绩最高所在的结构体数组元素下标for(i=1;i<N;i++){if(class3[i].score > class3[max].score)max = i;}printf("成绩最高的学生:\n");printf("序号:%d\n",class3[max].num);printf("成绩:%d\n",class3[max].score);return 0;}六、课后作业1.定义函数:把10名学生的学号、成绩以及平均分放在一个结构体中,学生的学号、成绩由键盘输入,然后计算出平均分。

相关文档
最新文档