c语言.第二十九课.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
29.2.3 结构体数组元素的引用 前面已经介绍过数组的使用,我们知道,对于数组元素的引用,其实质为简单变量的引用。对结构体类型的数组元素的引用也是一样的,其语法形式如下: 数组名[数组下标]; 和前面介绍的基本类型的数组定义一样,“[ ]”为下标运算符,数组下标的取值范围为(0,1,2,...,n-1),n为数组长度。对于结构体数组来说,每一个数组元素都是一个结构体类型的变量,对结构体数组元素的引用遵从对结构体变量的引用规则。 29.2.3 结构体数组元素的引用 【典型实例29-1】 结构体数据元素的输入输出。要求 从键盘输入5名学生的姓名、性别、年龄和分数,输出 其中所有女同学的信息。 29.2.3 结构体数组元素的引用 01 #include stdio.h 02 void main() 03 { 04 struct student /*定义结构体类型*/ 05 { 06 char name[10]; 07 char sex; /*定义性别,m代表男,f代表女*/ 08 int age; 09 float score; 10 }stu[5]; /*定义结构体数组*/ 11 int i; 12 printf(输入数据:姓名 性别 年龄 分数\n); /*提示信息*/ 13 /*输入结构体数组各元素的成员值*/ 14 for(i=0;i5;i++) 15 scanf(%s %c %d %f,stu[i].name,stu[i].sex,stu[i].age,stu[i].score); 16 printf(输出数据:姓名 年龄 分数\n); /*提示信息*/ 17 /*输出结构体数组元素的成员值*/ 18 for(i=0;i5;i++) 19 if(stu[i].sex==f) 20 printf(%s %d %4.1f\n,stu[i].name,stu[i].age,stu[i].score); } 本程序定义了包含5个元素的结构体类型的数组,对其中数组元素的成员进行了输入输出操作,程序很 简单,但要特别注意其中格式的书写。例如,在scanf语句中,成员stu[i].name是不加取地址运算 符的,因为stu[i].name是一个字符数组名,本身代表的是一个地址值;而其它如整型、字符型等 结构体成员变量则必须和普通变量一样,在标准输入语句中要加上取地址符号。 Your company slogan LOGO 毅力很重要 结构体和联合体 事物往往是具有多方面的属性,例如描述一个学生的信息,可能要包括学号、姓名、性别、年龄、成绩、班级等方面。对此,C中提供了能够描述此类数据的构造数据类型,这就是本章要介绍的结构体和联合体。 29.1 结构体 29.1.1 结构体类型 29.1.2 定义结构体变量 29.1.3 初始化结构体变量 29.1.4 结构体变量的引用 29.1 结构体 前面学习的字符型、整型、单精度浮点型等基本数据类型,都是由C编译系统事先定义好的,可以直接用来声明变量;而结构体类型是一种由用户根据实际需要自己构造的数据类型,所以必须要“先定义,后使用”。也就是说,用户必须首先构造一个结构体类型,然后才能使用这个结构体类型来定义变量或数组。 29.1.1 结构体类型 结构体类型”是一种构造数据类型,它由若干“成员”组成,每一个成员可以是相同、部分相同、或完全不同的数据类型,对每个特定的结构体都需要根据实际情况进行结构体类型的定义,也就是构造它,以明确该结构体的成员及其所属数据类型。 C语言中提供的定义结构体类型的语句格式为: struct 结构体类型名 { 数据类型1 成员名1; 数据类型2 成员名2; … 数据类型n 成员名n; }; 29.1.1 结构体类型 其中,struct是C语言中的关键字,表明是在进行一个结构体类型的定义。结构体类型名是一个合法的C语言标识符,对它的命名要尽量做到“见名知义”。比如,描述一个学生的信息可以用 “stu”,描述一本图书的信息可以使用“bookcard”等。由定义格式可以看出,结构体数据类型由若干个数据成员组成,每个数据成员可以是任意数据类型。最后的分号表示结构体类型定义的结束。例如,定义一个学生成绩的结构体数据类型如下: struct student { char no[8]; /*学号*/ char name[8]; /*姓名*/ float

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档