学习情境二第六讲结构体的初始化和赋值.ppt

上传人:小飞机 文档编号:4972001 上传时间:2023-05-26 格式:PPT 页数:21 大小:850KB
返回 下载 相关 举报
学习情境二第六讲结构体的初始化和赋值.ppt_第1页
第1页 / 共21页
学习情境二第六讲结构体的初始化和赋值.ppt_第2页
第2页 / 共21页
学习情境二第六讲结构体的初始化和赋值.ppt_第3页
第3页 / 共21页
学习情境二第六讲结构体的初始化和赋值.ppt_第4页
第4页 / 共21页
学习情境二第六讲结构体的初始化和赋值.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《学习情境二第六讲结构体的初始化和赋值.ppt》由会员分享,可在线阅读,更多相关《学习情境二第六讲结构体的初始化和赋值.ppt(21页珍藏版)》请在三一办公上搜索。

1、情境二 二维连续数据管理系统 任务一 第三单元 结构体和结构体数组,能用C语言设计和实现结构体数组PDA描述算法的能力能用C语言实现结构体数组输入、访问、输出。,通过本次课的学习,使学生掌握结构体数组的定义、初始化、赋值、引用,以及数组元素成员的访问。,5/26/20235/26/2023 10:04 PM,一、引入问题,5/26/20235/26/2023 10:04 PM,一、引入问题,根据学生成绩表,统计出全班的最高成绩、最低成绩和每个人的平均成绩。,5/26/20235/26/2023 10:04 PM,结构体类型的定义,定义一个结构体的一般形式为:struct 结构体名 成员表列;成

2、员表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符 成员名;结构体名和成员名的命名应符合标识符的书写规定。,5/26/20235/26/2023 10:04 PM,相关例题,例如:struct stu int num;char name20;char sex;float score;由此可见,结构是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。,结构体名,成员,5/26/20235/26/2023 10:04 PM,结构体变量的定义,结构体变量有以下三种方法。1先定义结构,再说明结构变量。2在定义结构体类型的同时说明结构体变

3、量。3 直接说明结构变量。,5/26/20235/26/2023 10:04 PM,先定义结构,再说明结构变量,例如:struct stu int num;char name20;char sex;float score;struct stu boy1,boy2;说明了两个变量boy1和boy2为stu结构体类型。即图4-10所表示的数据结构。,5/26/20235/26/2023 10:04 PM,定义结构体类型的同时说明结构体变量。,例如:struct stu int num;char name20;char sex;float score;boy1,boy2;,5/26/20235/26

4、/2023 10:04 PM,直接说明结构变量,例如:struct int num;char name20;char sex;float score;boy1,boy2;第三种方法与第二种方法的区别在于:第三种方法中省去了结构体名,而直接给出结构体变量。,5/26/20235/26/2023 10:04 PM,结构体变量的初始化,和其他类型变量一样,对结构体变量可以在定义时指定初始值。【例4-18】外部结构体变量初始化。源程序:,struct stu/*定义结构*/int num;char name20;char sex;float score;boy2,boy1=102,Zhang ping

5、,M,78.5;void main()boy2=boy1;printf(Number=%dnName=%sn,boy2.num,boy2.name);printf(Sex=%cnScore=%fn,boy2.sex,boy2.score);,5/26/20235/26/2023 10:04 PM,结构体变量的赋值,结构体变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。【例4-19】给结构变量赋值并输出其值。源程序:#include“stdio.h”#include“string.h”void main()struct stu int num;char name20;char sex;

6、float score;boy1,boy2;boy1.num=102;strcpy(boy1.name,Zhang ping);printf(input sex and scoren);scanf(%c%f,5/26/20235/26/2023 10:04 PM,赋值用法总结,1、普通变量可以直接赋值;2、数组用for循环逐个赋值;3、字符串用strcpy赋值;4、结构体可以直接赋值;,5/26/20235/26/2023 10:04 PM,结构体数组,如果数组的元素是结构体类型,则可以构成结构体数组。,5/26/20235/26/2023 10:04 PM,定义结构体数组,结构体数组的定义方

7、法和结构变量相似,只需说明它为数组类型即可。例如:struct stu int num;char name20;char sex;float score;boy5;定义了一个结构数组boy,共有5个元素,boy0boy4。每个数组元素都具有struct stu的结构形式。,5/26/20235/26/2023 10:04 PM,结构体数组的初始化,与其他类型的数组一样,对结构数组可以初始化。例如:struct stu int num;char name20;char sex;float score;boy5=101,Li ping,M,45,102,Zhang ping,M,62.5,103,

8、He fang,F,92.5,104,Cheng ling,F,87,105,Wang ming,M,58当对全部元素作初始化赋值时,也可不给出数组长度。,5/26/20235/26/2023 10:04 PM,结构体数组应用举例,【例4-20】已知学生成绩表,计算学生的平均成绩和不及格的人数。分析:,若用结构体数组来存储学生基本信息,而成绩作为每个数组元素的一个成员,则在main函数中可直接通过循环来完成题目所给的任务。,5/26/20235/26/2023 10:04 PM,例4-20流程图,源程序,调用集成编译环境,5/26/20235/26/2023 10:04 PM,例4-21,【例4-21】建立同学通讯录。分析:,通讯录里面至少包含两方面内容:名字和电话号码。可定义一个结构mem,里面有两个成员。然后定义一个mem的结构体数组。可以通过初始化的方法给数组赋初值,也可以通过输入函数给数组赋值。,5/26/20235/26/2023 10:04 PM,例4-21流程图,源程序,调用集成编译环境,5/26/20235/26/2023 10:04 PM,课堂教案,Start,5/26/20235/26/2023 10:04 PM,下课,Thank You!,The End.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号