




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习情境二第六讲结构体的初始化和赋值第1页,课件共19页,创作于2023年2月7/22/20232:01AM一、引入问题s[0]s[1]s[2]s[3]s[4]s[5]s[6]85897899756587赵钱孙李周武郑
Math0C1Foxpro2张0807592王1616571李2596370赵3858790周4767785第2页,课件共19页,创作于2023年2月7/22/20232:01AM一、引入问题根据学生成绩表,统计出全班的最高成绩、最低成绩和每个人的平均成绩。第3页,课件共19页,创作于2023年2月7/22/20232:01AM结构体类型的定义定义一个结构体的一般形式为:struct结构体名{
成员表列};成员表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符成员名;结构体名和成员名的命名应符合标识符的书写规定。第4页,课件共19页,创作于2023年2月7/22/20232:01AM相关例题例如:structstu{intnum;charname[20];charsex;floatscore;};由此可见,结构是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。结构体名成员第5页,课件共19页,创作于2023年2月7/22/20232:01AM结构体变量的定义结构体变量有以下三种方法。
1.先定义结构,再说明结构变量。
2.在定义结构体类型的同时说明结构体变量。
3.直接说明结构变量。第6页,课件共19页,创作于2023年2月7/22/20232:01AM先定义结构,再说明结构变量例如:structstu{intnum;charname[20];charsex;floatscore;};structstuboy1,boy2;说明了两个变量boy1和boy2为stu结构体类型。即图4-10所表示的数据结构。
第7页,课件共19页,创作于2023年2月7/22/20232:01AM定义结构体类型的同时说明结构体变量。例如:structstu{intnum;charname[20];charsex;floatscore;}boy1,boy2;第8页,课件共19页,创作于2023年2月7/22/20232:01AM直接说明结构变量例如:struct{intnum;charname[20];charsex;floatscore;}boy1,boy2;第三种方法与第二种方法的区别在于:第三种方法中省去了结构体名,而直接给出结构体变量。第9页,课件共19页,创作于2023年2月7/22/20232:01AM结构体变量的初始化和其他类型变量一样,对结构体变量可以在定义时指定初始值。【例4-18】外部结构体变量初始化。源程序:structstu/*定义结构*/{intnum;charname[20];charsex;floatscore;}boy2,boy1={102,"Zhangping",'M',78.5};voidmain(){boy2=boy1;printf("Number=%d\nName=%s\n",boy2.num,);printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);}第10页,课件共19页,创作于2023年2月7/22/20232:01AM结构体变量的赋值结构体变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。【例4-19】给结构变量赋值并输出其值。源程序:#include“stdio.h”#include“string.h”voidmain(){structstu{intnum;charname[20];charsex;floatscore;}boy1,boy2;boy1.num=102;strcpy(,"Zhangping");printf("inputsexandscore\n");scanf("%c%f",&boy1.sex,&boy1.score);boy2=boy1;printf("Number=%d\nName=%s\n",boy2.num,);printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);}第11页,课件共19页,创作于2023年2月7/22/20232:01AM赋值用法总结1、普通变量可以直接赋值;2、数组用for循环逐个赋值;3、字符串用strcpy赋值;4、结构体可以直接赋值;第12页,课件共19页,创作于2023年2月7/22/20232:01AM结构体数组s[0]s[1]s[2]s[3]s[4]s[5]s[6]85897899756587赵钱孙李周武郑如果数组的元素是结构体类型,则可以构成结构体数组。stu[0]stu[1]stu[2]stu[3]stu[4]101李平M45102张苹M62103何方F92104陈玲F87105王明M58第13页,课件共19页,创作于2023年2月7/22/20232:01AM定义结构体数组结构体数组的定义方法和结构变量相似,只需说明它为数组类型即可。例如:structstu{intnum;charname[20];charsex;floatscore;}boy[5];定义了一个结构数组boy,共有5个元素,boy[0]~boy[4]。每个数组元素都具有structstu的结构形式。第14页,课件共19页,创作于2023年2月7/22/20232:01AM结构体数组的初始化与其他类型的数组一样,对结构数组可以初始化。例如:structstu{intnum;charname[20];charsex;floatscore;}boy[5]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chengling",'F',87},{105,"Wangming",'M',58}}当对全部元素作初始化赋值时,也可不给出数组长度。第15页,课件共19页,创作于2023年2月7/22/20232:01AM
结构体数组应用举例【例4-20】已知学生成绩表,计算学生的平均成绩和不及格的人数。分析:若用结构体数组来存储学生基本信息,而成绩作为每个数组元素的一个成员,则在main函数中可直接通过循环来完成题目所给的任务。第16页,课件共19页,创作于2023年2月7/22/20232:01AM例4-20流程图源程序调用集成编译环境第17页,课件共19页,创作于2023年2月7/22/20232:01AM例4-21【例4-21】
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脉管系统教学课件
- 2024-2025学年广西玉林市高一下学期八校联考化学试题及答案
- 安全生产责任落实机制研究考核试卷
- 化学纤维生产过程智能化控制考核试卷
- 施工现场粉尘控制措施考核试卷
- 应急预案演练评估指标体系构建方法考核试卷
- 云母制品销售网络国际化战略考核试卷
- 即兴动作考试题及答案
- 小儿喂养试题及答案
- 创新创业培训师资队伍建设考核试卷
- 中石油职称英语通用教材
- ICD-10疾病编码完整版
- 儿童疼痛与舒适度评估量表
- 智能客房控制器设计
- 滁州瑞芬生物科技有限公司年产1.5万吨赤藓糖醇项目环境影响报告书
- THMDSXH 003-2023 电商产业园区数字化建设与管理指南
- 新建ICU镇痛、镇静药物应用幻灯片
- 橡胶和基材的粘接
- GB/T 10610-2009产品几何技术规范(GPS)表面结构轮廓法评定表面结构的规则和方法
- GA/T 935-2011法庭科学枪弹痕迹检验鉴定文书编写规范
- 湖北省黄石市基层诊所医疗机构卫生院社区卫生服务中心村卫生室信息
评论
0/150
提交评论