1.结构体数组的定义和引用
单个的结构体类型变量在解决实际问题时作用不大,一般是以结构体类型数组的形式出现。结构体类型数组的定义形式为:
定义了一个结构体数组boy,共有5个元素,boy[0]~boy[4],每个数组元素都具有struct stu的结构形式。其数组元素各成员的引用形式为:
结构体数组(一维数组)的存储与一般类型的二维数组存储类似,每个数组元素的内容又被几个成员分成几部分,正如二维数组的列。
2.结构体数组程序范例
【例8.1】计算学生的平均成绩和不及格的人数。
程序如下:
程序运行结果:
s=345.000000
average=69.000000
count=2
程序中定义了一个外部结构数组boy,共5个元素,并作了初始化赋值。在main函数中用for语句逐个累加各元素的score成员值存于s中,如果score的值小于60(不及格)则计数器c加1,循环完毕后计算平均成绩,并输出全班总分、平均分及不及格人数。
【例8.2】建立同学通讯录。
程序如下:
程序运行结果:
程序中定义了一个结构体mem,它有两个成员name和phone,用来表示姓名和电话号码。在主函数中定义man为具有mem类型的结构体数组。在for语句中,首先用gets函数分别输入各个元素中两个成员的值,然后又在for语句中用printf语句输出各元素中的两个成员值。
综合案例引入和本节C语言结构体相关知识,理解和掌握结构体类型变量及结构体类型变量数组的应用,具备利用结构体数组处理信息的能力。总结如下:
1.在这个世界上,任何一个人的力量都是渺小的,只有融入团队,只有与团队一起奋斗,才能实现个人价值的最大化,才能成就自己的卓越。
2.团队,是为了实现一个共同的目标而集合起来的一个团体,需要的是心往一处想,劲往一处使;需要的是分工协作,优势互补;需要的是团结友爱、关怀帮助;需要的是风雨同舟、甘苦与共!
3.与团队和谐相处的秘诀:尊重别人、关心别人、帮助别人、肯定别人、赞美别人、学习别人、感恩别人!
1.当定义一个结构体变量时,系统为它分配的内存空间是( )。
A.结构中一个成员所需的内存容量
B.结构中第一个成员所需的内存容量
C.结构体中占内存容量最大者所需的容量
D.结构中各成员所需内存容量之和
2.下面对结构变量的叙述中错误的是( )。
A.相同类型的结构变量间可以相互赋值
B.通过结构变量,可以任意引用它的成员
C.结构变量中某个成员与这个成员类型相同的简单变量间可相互赋值
D.结构变量与简单变量间可以赋值(www.daowen.com)
3.设有以下结构体定义:
struct emproyer
{char name[8];int age;char sex;}staff;
则下面的叙述不正确的是( )。
A.struct是结构体类型的关键字
B.struct emproyer是用户定义的结构体类型
C.staff是用户定义的结构体类型名
D.name age和sex都是结构体成员名
4.设有一结构体类型变量定义如下:
若对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是( )。
A.year=1976 B.birthday.year=1976
C.person.birthday.year=1976 D.person.year=1976
5.设有以下说明语句:
则下面的叙述中不正确的是( )。
A.struct ex是结构体类型 B.example是结构体类型名
C.x,y,z都是结构体成员名 D.struct是结构体类型的关键字
6.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是( )。
A.22 B.18 C.14 D.28
7.若程序中有以下的说明和定义:
则会发生的情况是( )。
A.编译时错
B.程序将顺序编译、连接、执行
C.能顺序通过编译、连接、但不能执行
D.能顺序通过编译、但连接出错
8.定义以下结构体类型
语句printf("%d",sizeof(a))的输出结果为( )。
A.4 B.12 C.18 D.6
9.苏联教育家苏霍姆林斯基认为,“集体”是一种“精神共同体”。它不是人员的简单组合,而是相互间的融合,在此基础上形成的不可分割的整体,好比是“由成千上万条溪流汇合成的江河”。良好班集体的建立,需要和谐的人际关系。请同学们以小组为单位,编写一个程序,建立本组同学的个人信息表,其中包括姓名、籍贯、兴趣爱好和个人理想。通过程序的编写过程,帮助同学们更好地相互了解,兴趣相同的同学可以互相学习交流,更好地发挥自己的长处,实现自己的人生目标。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。