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

上传人:zhu****ei 文档编号:247934985 上传时间:2024-10-21 格式:PPT 页数:21 大小:850KB
返回 下载 相关 举报
学习情境二第六讲结构体的初始化和赋值_第1页
第1页 / 共21页
学习情境二第六讲结构体的初始化和赋值_第2页
第2页 / 共21页
学习情境二第六讲结构体的初始化和赋值_第3页
第3页 / 共21页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,C语言与数据结构,情境二 二维连续数据管理系统 任务一 第三单元 结构体和结构体数组,能用C语言设计和实现结构体,数组PDA描述算法的能力,能用C语言实现结构体数组,输入、访问、输出。,通过本次课的学习,,使学生掌握结构体,数组的定义、初始化、,赋值、引用,以及,数组元素成员的访问。,10/21/2024,10/21/2024 2:22 PM,一、引入问题,s0,s1,s2,s3,s4,s5,s6,85,89,78,99,75,65,87,赵,钱,孙,李,周,武,郑,Math0,C 1,Foxpro2,张0,80,75,92,王1,61,65,71,李2,59,63,70,赵3,85,87,90,周4,76,77,85,10/21/2024,10/21/2024 2:22 PM,一、引入问题,根据学生成绩表,统计出全班的最高成绩、最低成绩和每个人的平均成绩。,10/21/2024,10/21/2024 2:22 PM,结构体类型的定义,定义一个结构体的一般形式为,:,struct 结构体名,成员表列,;,成员表,由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:,类型说明符 成员名;,结构体名和成员名的命名应符合标识符的书写规定。,10/21/2024,10/21/2024 2:22 PM,相关例题,例如:,struct stu,int num;,char name20;,char sex;,float score;,;,由此可见,,结构,是一种复杂的数据类型,是数目固定,类型不同的若干有序变量的集合。,结构体名,成员,10/21/2024,10/21/2024 2:22 PM,结构体变量的定义,结构体变量有以下,三种方法,。,1先定义结构,再说明结构变量。,2在定义结构体类型的同时说明结构体变量。,3 直接说明结构变量。,10/21/2024,10/21/2024 2:22 PM,先定义结构,再说明结构变量,例如:,struct stu,int num;,char name20;,char sex;,float score;,;,struct stu boy1,boy2;,说明了两个变量boy1和boy2为stu结构体类型。即图4-10所表示的数据结构。,10/21/2024,10/21/2024 2:22 PM,定义结构体类型的同时说明结构体变量,。,例如:,struct stu,int num;,char name20;,char sex;,float score;,boy1,boy2;,10/21/2024,10/21/2024 2:22 PM,直接说明结构变量,例如:,struct,int num;,char name20;,char sex;,float score;,boy1,boy2;,第三种方法与第二种方法的,区别,在于:第三种方法中省去了结构体名,而直接给出结构体变量。,10/21/2024,10/21/2024 2:22 PM,结构体变量的初始化,和其他类型变量一样,对结构体变量可以在定义时指定初始值。,【例4-18】外部结构体变量初始化。,源程序,:,struct stu /*定义结构 */,int num;,char name20;,char sex;,float score;,boy2,boy1=102,Zhang ping,M,78.5;,void main(),boy2=boy1;,printf(Number=%dnName=%sn,boy2.num,boy2.name);,printf(Sex=%cnScore=%fn,boy2.sex,boy2.score);,10/21/2024,10/21/2024 2:22 PM,结构体变量的赋值,结构体变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。,【例4-19】给结构变量赋值并输出其值。,源程序,:#include “stdio.h”,#include “string.h”,void main(),struct stu,int num;,char name20;,char sex;,float score;,boy1,boy2;,boy1.num=102;,strcpy(boy1.name,Zhang ping);,printf(input sex and scoren);,scanf(%c%f,boy2=boy1;,printf(Number=%dnName=%sn,boy2.num,boy2.name);,printf(Sex=%cnScore=%fn,boy2.sex,boy2.score);,10/21/2024,10/21/2024 2:22 PM,赋值用法总结,1、普通变量可以直接赋值;,2、数组用for循环逐个赋值;,3、字符串用strcpy赋值;,4、结构体可以直接赋值;,10/21/2024,10/21/2024 2:22 PM,结构体数组,s0,s1,s2,s3,s4,s5,s6,85,89,78,99,75,65,87,赵,钱,孙,李,周,武,郑,如果数组的元素是结构体类型,则可以构成,结构体数组,。,stu0,stu1,stu2,stu3,stu4,101,李平,M,45,102,张苹,M,62,103,何方,F,92,104,陈玲,F,87,105,王明,M,58,10/21/2024,10/21/2024 2:22 PM,定义结构体数组,结构体数组的定义方法和结构变量相似,只需说明它为,数组类型,即可。例如:,struct stu,int num;,char name20;,char sex;,float score;,boy5;,定义了一个结构数组boy,共有5个元素,boy0boy4。每个数组元素都具有,struct stu,的结构形式。,10/21/2024,10/21/2024 2:22 PM,结构体数组的初始化,与其他类型的数组一样,对结构数组可以初始化。,例如:,struct stu,int num;,char name20;,char sex;,float score;,boy5=,101,Li ping,M,45,102,Zhang ping,M,62.5,103,He fang,F,92.5,104,Cheng ling,F,87,105,Wang ming,M,58,当对全部元素作初始化赋值时,也可不给出数组长度。,10/21/2024,10/21/2024 2:22 PM,结构体数组应用举例,【例4-20】已知学生成绩表,计算学生的平均成绩和不及格的人数。,分析,:,若用结构体数组来存储学生基本信息,而成绩作为每个数组元素的一个成员,则在main函数中可直接通过循环来完成题目所给的任务。,10/21/2024,10/21/2024 2:22 PM,例4-20流程图,源程序,调用集成,编译环境,10/21/2024,10/21/2024 2:22 PM,例4-21,【例4-21】建立同学通讯录。,分析,:,通讯录里面至少包含两方面内容:名字和电话号码。可定义一个结构mem,里面有两个成员。然后定义一个mem的结构体数组。可以通过初始化的方法给数组赋初值,也可以通过输入函数给数组赋值。,10/21/2024,10/21/2024 2:22 PM,例4-21流程图,源程序,调用集成,编译环境,10/21/2024,10/21/2024 2:22 PM,课堂教案,结构体和结构体数组,教学内容,掌握结构体类型的定义,结构体变量的定义、赋值及引用,结构体数组的定义、初始化及赋值的方法。,教学重点,1结构体类型和结构体变量的定义、初始化、赋值及使用,2结构体数组的定义、初始化、赋值及使用,教学难点,结构体类型和结构体变量的区别,作业,Ch3的6、7、8,Start,10/21/2024,10/21/2024 2:22 PM,下课,Thank You!,The End.,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!