资源描述:
《实验十一 结构体(struct)与共用体(union)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C程序设计作业与习题·75·实验十一结构体(struct)与共用体(union)实验目的理解并掌握使用不同数据类型的变量组合成一个数据的组合体-结构体与共用体的定义与引用;正确使用结构体数组、结构体与函数及指向结构体的指针。要点提示1.结构体定义的一般格式为:struct结构体类型名{数据类型成员名1;数据类型成员名2;……数据类型成员名n;};2.结构体变量的说明struct结构体类型名结构体变量名;3.引用结构体成员结构体变量名.成员名共用体与结构体有相似的使用形式实验内容l结构体的定义与引用l结构体与函数l结构体数组l指向结
2、构体的指针l共用体的定义与引用实验步骤读懂并输入程序,完成填空后输出结果1.建立学习成绩单结构,并建立一个同学王林(wanglin)的记录。#include
main()
{structgrade/*定义结构体类型*/
{intnumber;
charname;
intmath;intenglish;
};C程序设计作业与习题·75·struct【】wanglin;/*说明结构体变量*/printf("Pleaseinputthenumber,name,math,english:");scanf("%d,%d
3、,%d",&【】,&wanglin.name,【】&wanglin.english);printf("wanglin'gradeis:%d/%d/%d",wanglin.number,wanglin.name,wanglin.math,wanglin.english);}程序执行过程与结果:Pleaseinputthenumber,name,math,english::26,A,85,90wanglin'gradeis:#includemain(){structgrade/*定义结构体类型*/{intnumb
4、er;charname;intmath;intenglish;};structgradewanglin;/*说明结构体变量*/printf("Pleaseinputthenumber,name,math,english:");scanf("%d,%c,%d,%d",&wanglin.number,&wanglin.name,&wanglin.math,&wanglin.english);printf("wanglin'gradeis:%d/%c/%d/%d",wanglin.number,wanglin.name,wang
5、lin.math,wanglin.english);}Pleaseinputthenumber,name,math,english:26,A,85,90wanglin'gradeis:26/A/85/90Pressanykeytocontinue请再建立一个刘芳(liufang)的成绩记录,比较一下。2.结构体与函数main(){struct/*局部定义结构*/{inta;charb;}【】;variable.a=1111;C程序设计作业与习题·75·variable.a=A;fun(variable.a);printf("a=%
6、d",variable.a);printf("a=%d",variable.b);}fun(nam)struct{intx;chary;}【】;/*定义形参*/{printf("x1=%d",nam.x);nam.x=2222;/*重新赋值*/nam.y=B;printf("x2=%d",nam.x);printf("x2=%d",nam.y);return;}程序执行结果如下:main(){struct/*局部定义结构*/{inta;charb;}variable;variable.a=1111;variab
7、le.b='A';fun(variable.a);printf("a=%d",variable.a);printf("b=%d",variable.b);}fun(nam)struct{intx;chary;C程序设计作业与习题·75·}nam;/*定义形参*/{printf("x1=%d",nam.x);nam.x=2222;/*重新赋值*/nam.y='B';printf("x2=%d",nam.x);printf("x2=%d",nam.y);return;}x1=1111x2=2222x2=66a=11
8、11b=65Pressanykeytocontinue3.结构体数组将作业1稍加改动,建立起3个同学的成绩单。#include
main()
{structgrade/*定义结构体类型*/
{intnumber;
charname