《C语言学习与应用》教学课件11结构体操作.pdf
《《C语言学习与应用》教学课件11结构体操作.pdf》由会员分享,可在线阅读,更多相关《《C语言学习与应用》教学课件11结构体操作.pdf(60页珍藏版)》请在咨信网上搜索。
1、C语言学习与应用教学课件学习任务11结构体操作一按学生成绩排序任务说明本学习任务通过学习结构体类型的说明,变量、数 组和指针的定义,数组元素各成员的遍历等知识,掌握 针对结构体类型数据的程序设计技能,能够按照要求编 写出处理学生信息的程序,如查找 排序 删除等,并 在任务实施中得以实现。学习任务11结构体操作一按学生成绩排序微课3华晒敦肓网 HUATENGC语言学习与应用教学课件大舛现代桐珍姓衔辔浣国家示范性高等职业院校建设成果精品课件任务说明学习任务11结构体操作一按学生成绩排序知识要求用typedef说明一种新类型。结构体类型的说明。结构体类型变量、数组和指针的定义。结构体成员的引用。了解
2、链表知识。学习任务11结构体操作一按学生成绩排序能力要求。能够输入 输出结构体变量的各成员值。能够编写结构体数组各元素的函数。能够编写针对结构体数组操作的函数。能够认真耐心地调试程序。能够排查程序中的错误。学习任务11结构体操作一按学生成绩排序用typedef说明一种新类型名形式:typedef类型名标识符类型名是C语言中的数据类型名或前面已有定义的 类型标识符,如结构体数据类型,标识符是一个用户 命名的新的类型名。注意:typedef语句的作用仅仅是用标识符来代表 已存在的类型名,并未产生新的数据类型且原有类型 名仍然有效。例如:typedef int INTEGER;表示用INTEGER标
3、识符代表int,贝lj INTEGER m,n;语句,等价于int m,n;语句。学习任务11结构体操作一按学生成绩排序结构体类型结构体是一种较为复杂但却非常灵活的构造型数 据类型,由若干个成员组成,各成员的数量及类型视 需要而定。对一个具体的结构体,其成员的数量是固 定的,各成员的数据类型可以不同且确定。这点与数 组不同,当需要把一些相关信息(数据类型不同)组合 在一起时,就需要采用结构体类型。学习任务11结构体操作一按学生成绩排序结构体类型1.结构体类型的说明struct结构体标识名类型名1结构体成员名表1;类型名2结构体成员名表2;类型名n 结构体成员名表n;struct是关键字,是结构
4、体类型的标志。结构体标识名是 用户定义的标识符,可省略,成员名表中可以含有多个不同类 型的成员,相同类型的多个成员名之间可以用逗号分隔一并类 型声明,成员名可以与程序中的其他变量同名,不同结构体中 的成员也可以同名,成员声明必须以分号结尾,结构体的说明 也可以嵌套。学习任务11结构体操作一按学生成绩排序微课学习任务十一 结构体操作.按学生成绩排序 悠庆号鬻结构体类型的说明学习任务11结构体操作一按学生成绩排序应用举例11T结构体类型的说明(1)说明一个名为data的结构体,含有三个整型成员year、month和day。struct data(i nt year,month,day;);(2)说
5、明一个名为student的结构体,它的成员中含结构体类型。struct student char name 12;char sex;struct data b i rthday;fI oat sc 4;1;(3)嵌套说明student结构体。struct student char name 12;char sex;struct i nt year,month,day;b i rthday;fI oat sc 4;;注意:结构体类型的说明并不分配存储空间,占有存储空间的是具有相应结构体 类型的变量,数组等。学习任务11结构体操作一按学生成绩排序问题117说明一个结构体类型说明一个结构体类型st,
6、含有姓名(name)、年龄(age)和身高(heigh)三个成员。学习任务11结构体操作一按学生成绩排序结构体类型2.结构体类型变量的定义(1)紧跟在结构体类型说明之后进行相应结构体变量定义。”如:struct data i nt year,month,day;b i rthday;/b i rthday就是定义的变量(2)说明一个无名结构体类型的同时定义变量。例如:struct i nt year,month,day;b i rthday;(3)先说明结构体类型,再单独定义变量。例如:struct data int year,month,day;先说明名为 data 的结构体类型struct
7、 data bi rthday;/再定义变量,bi rthday就是定义的变量(4)用新类型名定义变量,例如:typedef struct data i nt year,month,day;D ATA;/先说明一个新结构体类型D ATAD ATA birthday;再定义相应结构体变量,b i rthday就是定义的变量学习任务11结构体操作一按学生成绩排序微课学习任务十一结构体操作.按学生成绩排序ctfl知识四效传抵定义结构体类型的变量2.结构体类型变量的定义 紧跟在结构体类型说明之后进行变量定义 struct dataint year,month,day;birthday;说明一个无名结构
8、体类型的同时定义变量 struct int year,month,day;birthday;先说明结构体类型,再单独定义变量struct dataint year,month,day;struct data birthday;用新类型名定义变量typedef struct dataint year,month,day;DATA;DATA birthday;结构体类型变量的定义学习任务11结构体操作一按学生成绩排序问题11-2定义一个结构体类型的变量参照问题117,使用一种方法定义一个st结构体类型的变量 studo学习任务11结构体操作一按学生成绩排序结构体类型3.给结构体变量赋初值应用举例1
9、1-2给结构体类型的变量与数组赋初值。#i ncIude stdio.hstruct data i nt year,month,day;struct student char name 12;char sex;struct data b i rthday;fI oat sc 4;Jstd=CLiming,M,1962,5,10,67.5,56.8,90,100);/*以上说明两个结构体类型,说明student同时定义变量std并赋初值*/vo i d ma i n()(struct student s 2=W angfan,W,1954,12,23,56,78,89,67.5),W umi,M
10、,1978,11,30,98.6,34.5,67.9,90;/*定义student类型的数组s 2并初始化,是续行符*/1学习任务11结构体操作一按学生成绩排序问题11-3定义一个结构体类型的变量并赋初值参照应用举例11-2,定义一个student结构体类型的变量 stud并赋初值,其值参照个人信息确定。学习任务11结构体操作一按学生成绩排序O结构体类型4.对结构体成员的引用使用成员运算符:结构体变量名.成员名;使用结构体指向运算符:指针变量名-成员名;通过指针变量引用:(*指针变量名).成员名;学习任务11结构体操作一按学生成绩排序应用举例11-3引用结构体成员的多种方式#i ncIude
11、std io.hstruct data int year,month,day;struct studentchar name 12;char sex;struct data b i rthday;fI oat sc 4;std=W angfan,W,1954,12,23,56,78,89,67.5),*p;/*定义一个变量和一个指针,并为变量赋初值*/vo i d ma i n()p=&std;为指针赋值pr i ntf(Name Sex B i rthday Score n);printf(%s t%c t%d-%d-%d t%.1f%,1f%.1f%,1f n,std.name,p-sex
12、,(*p).b i rthday.year,(*p).b i rthday.month,p-b i rthday.day,std.sc 0,p-sc 1,std.sc 2,(*p),sc 3);1学习任务11结构体操作一按学生成绩排序应用举例11-3引用结构体成员的多种方式。程序运行结果:Name Sex Bi rthday ScoreW angfan W 1954-12-23 56.0 78.0 89.0 67.5注意:此例的输出中给出了多种引用成员的方法,是有规律 的,由于有p二&stclj(*p)就是std,(*p).bi rthday.month就 是std变量的bi rthday成员
13、的month成员,还可以表示为:p-b i rthday.month;p-sc 0就是std变量的sc数组成员的第1个数组元素。也就是运算符要对应运算对象。学习任务11结构体操作一按学生成绩排序微课文件(F)编辑(E)视图(V)项目(P)生成(B)调试(D)团队(M)数据(A)工具测试(S)窗口(W)帮助(H)二,Debug j Win32 _ 当的项目 11-3-Microsoft Visual Studio1 z:田苑O;二弓 A 一 本季二?.解决方案资源管理器q x1103.cpp X电;争也其口解决方案项目11-3”(1个项目/3项目口3u aJ外部依赖项口头文件/q源文件3 110
14、3.cpp口资源文件(全局范围)一应用举例11-3,引用结构体成员的多种方式ttinclude“stdio.hstruct data int year,month,day,);定义一个变量和一个指针,并为变量赋初值Hvoid main 0 fB struct student char name12;char sex;struct data birthday,float sc4;std=*Wangfan/犷,1954,12,23,56,78,89,67.5,*p;p=&std;pr intf(/?Naine SexBirthdayprintfC%st%ct%d-%d-%dt%.If为指针赋值Sc
15、oren,,),%.If%.If%.lfXn,std.name,p-sex,(*p).birthday,year,(*p).birthday,month,p-birthday.day,std)臼/*程序运行结果:NameSexWangfan WBirthday 1954-12-23*/Sc ore|56.0 78.0 89.0 67.5100%输出显示输出来源(S):!生成11生成成功。11已用时间 00:00:00,65=生成:成功1个,失败o个,最新o个,跳过0个.sc0,p-scl,std.sc2,(*p).sc3);代码敬骸3输出应用举例 11-3丰,三4 H湎萧行23 列39 字符3
16、9 InsI-;工网醉M3禹学习任务11结构体操作一按学生成绩排序应用举例11-4用函数输出结构体类型变量的各成员值。下面这段程序,首先定义了结构体类型STU含有学号、姓名、性别、和成绩成员,在主函数中定义了一个结构体类型的变量x,通过调用函数输出变量的各成员值。#i ncIude stdio.h typedef struct char char char f I oat 1STU;vo i d show(STU y)num 3;定义结构体类型STUname 9;sex;score 2;函数定义,形参是结构体类型的变量printf(”学号姓名性别 成绩 n”);pr i ntf(%s%6s%3
17、c%.2f%.2f,y.num,y.name,y.sex,y.score 0,y.score 1);1vo i d ma i n()STU x=“OF,”张楠“,飞,67,94.5;定义结构体类型的变量xshow(x);1程序输出:调用函数,实参是x学号姓名性别成绩01 张楠 W 67.00 94.50 学习任务11结构体操作一按学生成绩排序微课区项目 11-4-Microsoft Visual Studied文件(F)授辑(E)视图(V)项目(P)生成(B)词试(D)团队(M)数据(A)工具(T)测试窗口也帮助(H)|Debug 一,1/画苑近11-|Win32事亘二?,解决方案资源管理器l
18、a电检口解决方案 项目11-4”(1个项目/第项目114外部依赖项口头文件/匕源文件(全局范围)臼应用举例11-4:用函数输出结构体类型变量的各成员值./*下面这段程序,首先定义了结构体类型STU含有学号、姓名、性别、和成绩成员,在主函数中定义了一个结构体类型的变量x,通过调用函数输出变量的各成员值。*/的 1104.CPP 匕I资源文件#include*stdio.h-typedef struct char char char floatJSTU;臼 voidshow(STU y)num3;/定义结构体类型STUname9;sex;score2;函数定义,形参是结构体类型的变量ni)T vo
19、idprintf(学号姓名性别成绩、n);pr intf(,z%s%6s%3c%.2f%.2f”,y.num,y.name,y.sex,y.score 0,y.score 1);STU x=01J张楠,吃67,94.5;定义结构体类型的变量:show(x);)调用函数,实参是x曰/*程序输出,学号姓名性别成绩输出题编出来源(S):生成1 正在*“Debug、项目 11-4.lastbuildstate”执行 Touch 任务。11生成成功。11已用时闾 00:00:01.55=生成:成功1个,失败0个,最新0个,跳过0个=IQ x代码定义窗口列20字符12行252:03 2020/7/9Ins
20、应用举例 11-4学习任务11结构体操作一按学生成绩排序结构体类型知识链接1:用函数更改主函数中的结构体变量的成员值C语言中,主函数与函数之间的数据传递是实参到形参的单向传 递方式来传递数值。如果通过函数更改主函数中结构体类型变量的成 员值,在调用函数时,实参必须是变量的地址。以应用举例11-4为例,如果变量是X,函数是fun,调用函数时写作:fun(&x),而在fun函 数的定义中,函数形参应写作:fun(STU*y),在函数体内(*y)就是 主函数中的x了,(*y).name就是主函数中的x.name,更改name成员值可调用:strcpy(*y).name,某某”)库函数实现。学习任务1
21、1结构体操作一按学生成绩排序问题11-4定义一个结构体类型STU参照应用举例11-4,定义一个结构体类型STU,并写出show函数和fun函数,fun函数的功能是更改x变量的name成员值,参照程序的执行结果,将代码补充 完整。#i ncIude std io.h#i ncIude typedefstr i ng.hstruct1STU;vo i d show(STU y)void fun(STU*z)此函数用于更改name成员值1学习任务11结构体操作一按学生成绩排序问题11-4定义一个结构体类型STUSTU x二01,“张楠”,,W,67,94.5;show(x);fun(&x);调用fu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言学习与应用 语言 学习 应用 教学 课件 11 结构 体操
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。