- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构体变量的引用-浙江长征职业技术学院.ppt
项目七 学生成绩单制作 任务1 用结构体数组进行学生信息的输入输出 三、相关知识 有时需要将不同类型的数据组合成一个有机的整体以便于引用。 如:一个学生的学号、姓名、3门课成绩、总分。 分别定义简单变量难以反映它们之间的联系。 应当将它们组成一个组合项,其中可以包含若干个类型不同的数据项 C提供的结构体相当于记录。 (一)先声明结构体类型再定义结构体变量 (二) 结构体变量的引用 (二) 结构体变量的引用 不能将一个结构体变量为一个整体进行输入输出 printf(“%d,%s,%c,%f\n”,student1);× 只能对最低级的成员进行赋值或存取以及运算 student1.birthday.month 对成员变量可以象普通变量一样进行各种运算 sum=student1.score + student2.score (三) 结构体变量的初始化 任务4 举一反三 (四) 结构体数组 【例7-3】计算三个同学的总成绩、平均成绩。 【例7-3】计算三个同学的总成绩、平均成绩。 (五) 指向结构体类型数据的指针 【例7-4】将例7-2的程序改为用结构体指针变量引用 2. 指向结构体数组的指针 【例7-5】将例7-3改为用结构体指针变量引用。 任务2 求平均分最高学生的学号、姓名 三、相关知识 共用体 1)共用体的概念 有时需要将几种不同类型的变量存放到同一段内存单元中,如:将一个整型变量,一个字符型变量, 一个实型变量放在同一个地址开始的内存单元中。 2)共用体变量的引用方式 先定义后使用,不能引用共用体变量, 只能引用共用体变量中的成员 如正确引用: Num.c; Num.n; Num.d; 错误引用:printf(“%d”, Num); 3)共用体类型数据的特点: (4)不能对共用体变量名赋值, 如 Num=1 不能初始化 如:union {int i; char ch; float f; }a={1,a,1.5}; 浙江长征职业技术学院-计算机应用系-相方莉制作 项目要求 在键盘中读入一个班学生的相关数据(学号,姓名,三门课的成绩),输出按照平均分数从高到低进行排序后的成绩单。 程序的运行要求是:(程序运行时为了方便,只输入五个学生记录) 项目分析 要完成学生成绩单的制作,虽然可以用前面的项目四中的数组解决,但是如果用结构体数组会显得更科学。所以在本项目中将用结构体数组进行操作。 具体步骤是: 第一是进行学生信息的输入输出; 第二是计算每个同学的三门课的平均分; 第三是按平均分的高低排序后输出成绩单。 一、问题情景 一个班40个同学参加了数学、语文、英语考试,现要将这个班的40个同学的相关信息(包括学号,姓名,三门课的成绩)从键盘上输入,然后输出这40个同学的原始成绩单。 1、一个学生的属性包括学号、姓名、几门课的成绩应该定义成的数据类型,即结构体; 2、结构体数组的输入与输出; 238 82 80 88 方辘恒 110 197 77 87 53 任高翔 109 220 60 84 76 孙盛兵 108 222 78 98 64 於斌 107 226 88 80 68 张腾伟 106 241 78 87 76 胡瀚文 105 258 82 93 83 申洪伟 104 225 68 88 79 周京京 103 270 90 88 92 徐丽萍 102 232 77 86 75 张圣丹 101 总分 英语 C语言 高等数学 姓名 学号 学生成绩表 记录 (1)先声明结构体类型再定义结构体变量。 格式: struct 结构体名 { 成员表列; } [struct] 结构体名 变量名表列; struct stu {char id[6],name[10]; int m1,m2,m3; float avg;} main() {struct stu x,y; …… } struct stu {char id[6],name[10]; int m1,m2,m3; float avg;} main() {stu x,y; …… } (2)在声明类型的同时定义变量 格式如下: struct [结构体名] { 成员表列; }变量名表列; main() {struct stu {char id[6],name[10]; int m1,m2,m3; float avg;}
文档评论(0)