C语言6结构体练习题6
第六章结构体
1.下面对结构变量的叙述中错误的是
A.相同类型的结构变量间可以相互赋值
B.通过结构变量,可以任意引用它的成员
C.结构变量中某个成员与这个成员类型相同的简单变量间可相互赋值D.结构变量与简单变量间可以赋值
*2.有枚举型定义如下:
enum s {x1, x2=5, x3, x4=10} l;
则枚举变量x可取的枚举元素x2、x3所对应的整数常量值是
A.1,2 B.2,3 C.5,2 D.5,6
*3.以下各选项企图说明一种新的类型名,其中正确的是
A.typedef v1 int; B.typedef v2=int;
C.typedef int v3; D.typedef v4: int;
*4.设有下列结构型变量w的定义,则表达式”sizeof(w)”的值是 struct { long num;
char name[15];
union {float x ; short z; } yz;
}w;
A.19 B.20 C.23 D.25
*5.若有结构类型定义如下:
struct bd
c语言中struct{
int x;
float y;
}r,*p=&r
那么,对r中的成员x的正确引用是
A.(*p).r.x B.(*p).x C.p->r.x D.p.r.x
6.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是struct stud
{ char num[6];
int s[4];
double ave;
} a;
A.22 B.18 C.14 D.28
7.设有以下说明语句
struct ex
{ int x ;
float y;
char z ;} example;
则下面的叙述中不正确的是
A.struct ex是结构体类型B.example是结构体类型名
C.x,y,z都是结构体成员名D.struct是结构体类型的关键字
*8.在Turbo C中有如下定义:
union dat
{ int i;
char ch;
float f;
}x;
x在内存中占的字节数为
A.4 B.7 C.8 D.6
*9.有如下结构类型定义以及有关的语句:
struct ms
{ int x;
int *p;
}s1,s2;
s1.x=10;
s2.x=s1.x+10;
s1.p=&s2.x
s2.p=&s1.x
*s1.p+=*s2.p;
试问,执行以上语句后,s1.x和s2.x的值应该是
A.10,30 B.10,20 C.20,20 D.20,10
10.下列关于结构类型与结构变量的说法中,错误的是
A.结构类型与结构变量是两个不同的概念,其区别如同int类型与int型变量的区别一样。
B.“结构”可将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用。
C.“结构类型名”和“数据项”的命名规则,与变量名相同。
D.结构类型中的成员名,不可以与程序中的变量同名。
11.能够逐个访问结构体成员的成员运算符是
A.“.”B.“,”C.“:”D.“;”