结构体和共用体习题.docx

精品word学习资料可编辑 名师归纳总结——欢迎下载 习 题 六 1, 从以下四个选项中挑选一个正确得填入括号中; ( 1)在说明一个结构体变量时系统安排给它得储备空间就是( D );A 该结构体中第一个成员所需储备空间 B 该结构体中最终一个成员所需储备空间 C该结构体中占用最大储备空间得成员所需储备空间D该结构体中全部成员所需储备空间得总与 ( 2)在说明一个共用体变量时系统安排给它得储备空间就是( D ); A 该共用体中第一个成员所需储备空间B 该共用体中最终一个成员所需储备空间 C该共用体中占用最大储备空间得成员所需储备空间D该共用体中全部成员所需储备空间得总与 ( 3)共用体类型在任何给定时刻 , ( B ) ; A 全部成员始终驻留在内存中B 只有一个成员驻留在内存中C部分成员驻留在内存中 D没有成员驻留在内存中 ( 4)以下定义结构体类型得变量 st1 ,其中不正确得就是( A ) A typedef stuct student { int num; int age; }STD; STD st1; B struct student { int num,age; }st1; C struct { int num; float age; }st1; D struct student { int num; int age; }; struct student st1; ( 5)已知职工记录描述为 : struct workers { int no; char name[20]; char sex; struct { 精品word学习资料可编辑 名师归纳总结——欢迎下载 int day; int month; int year; }birth; }; struct workers w; 设变量 w 中得”生日”应就是” 1993 年 10 月 25 日”, 以下对”生日”得正确赋值方式就是 ( C); A day=25; month=10; year=1993; B w,day=25w,month=10; w , year=1993; C w,birth ,day=25; w ,birth ,month=10; w ,birth ,year=1993; D birth ,day=25; birth ,month=10; birth , year=1993 ; ( 6)设有如下定义 : struct sk { int a; float b; }data,*p; 如有 p=data; 就对 data 中得 a 成员得正确引用就是( B );A (*p) ,data ,a B (*p) ,a C p-data ,a D p ,data ,a 2,填空 ( 1)如有以下说明与定义且数组 w 与变量 k 已正确赋值,就对 w 数组中第 k 个元素中各成员得正确引用形式就是 w[k-1] ,b, w[k-1] ,c , w[k-1] ,d ; struct aa { int b; char c; double d; }; struct aa w[10]; int k=3; ( 2)如有以下说明与定义, 就对 x ,b 成员得另外两种引用形式就是 x-b- 与 p ,b, ; struct st { int a; struct st *b; }*p, x; p=x; 3,阅读下面程序,写出运行结果; ( 1) ,ffffffcc #include stdio ,h main( ) { struct byte { int x; char y; }; union 精品word学习资料可编辑 名师归纳总结——欢迎下载 { int i[2]; long j; char m[2]; struct byte d; }r,*s=r;s-j=0 printf(%x,%x\n,s-d ,x,s-d ,y); } ( 2)结果: 1,miniputer #include stdio ,h struct tree { int x; char *s; }t; func(struct tree t ) { t ,x=10; t ,s=puter; return(0); } main() { t ,x=1; t ,s=miniputer; func(t); printf(%d,%s\n,t , x,t ,s) ; } #include stdio ,h,,,,, ,,,,,,,,,,,,,,,,,,, ,,结果:,0,null struct tree { int x; char *s; }t; func(struct tree t ) { t , x=10; t , s=puter; return(0); } main() { //t

文档评论(0)

1亿VIP精品文档

相关文档