当前位置:首页 > C语言第十一章结构体与共用体、枚举类型
float score[3]; };
void main()
{struct stu s[3]={{\
{\
struct stu *p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf(\);} A)239.00 B)262.00 C)225.00 D)213.00 12. 若有以下程序段: int a=1,b=2,c=3; struct dent {int n ; int *m ;
} s[3]={{101,&a},{102,&b},{103,&c}}; struct dent *p=s ;
则以下表达式中值为2的是( )。
A)int B)*(p++)->m C)(*p).m D)*(++p)->m
13. 若要利用下面的程序段使指针变量p指向一个存储整型变量的存储单元,则在【】中应有的内容是( )。 int *p ;
p=【】malloc(sizeof(int));
A)int B)int * C)(* int) D)(int *) 14. 有以下说明和定义语句 struct student
{int age; char num[8];};
struct student stu[3]={{20,\{19,\ struct student *p=stu;
以下选项中引用结构体变量成员的表达式错误的是( )。 A) (p++)->num B)p->num C) (*p).num D)stu[3].age 15. 设有定义: struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是( )。
A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a
16. 当定义一个共用体变量时,系统分配给它的内存是( )。 A)各成员所需内存量的总和 B)结构中第一个成员所需内存量
C)成员中占内存量最大的容量
D)结构中最后一个成员所需内存量
17. 以下对C语言中共用体类型数据的叙述正确的是( )。 A)可以对共用体变量直接赋值
B)一个共用体变量中可以同时存放其所有成员 C)一个共用体变量中不能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员 18. 以下程序的运行结果是( )。 void main()
{enum color{red,yellow,blue=4,green,white}cr1,cr2; cr1=yellow; cr2=white; printf(\);} 则以下语句正确的是( )。
A)1,6 B)2,7 C)1,3 D)2,5
19. 若有以下说明和语句, 已知int和double类型分别占2和8个字节,则sizeof(st)的值为( )。 struct st { char a[10]; union { int i; double y; } };
A) 18 B) 20 C) 12 D) 以上均不是 20. 若有下列说明和定义,则以下叙述中错误的是( )。 union dt
{int a;char b;double c;}data; A)data的每个成员起始地址都相同
B)变量data所占的内存字节数与成员c所占字节数相等 C)程序段:data.a=5;printf(\输出结果为5.000000
D)data可以作为函数的实参
21.下面对typedef的叙述中不正确的是( )。
A)用typedef可以定义各种类型名,但不能用来定义变量 B)用typedef可以增加新类型
C)用typedef只是将已存在的类型用新的标识符来代表 D)使用typedef有利于程序的通用和移植
共分享92篇相关文档