1、结构体变量不能进行整体输入输出。
我的答案:false
正确答案:ture 结构体变量一般用于链表中,或作为函数参数(此时可以实现调用函数得到多个返回值。、
2、在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。
我的答案:false
正确答案:true
3、对于以下定义,不正确的叙述是( )。
struct ex {
int x;
float y;
char z ;
} example;
A.struct
是定义结构类型的关键字
B.example
是结构类型名
C.x
, y
, z
都是结构成员名
D.struct ex
是结构类型名
答案:B、example是结构体变量名
4、C语言中结构类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
答案:A、
5、本题输出结构变量bt所占内存字节数。
#include <stdio.h>
struct ps{
double i;
char arr[24];
};
int main(){
struct ps bt;
printf("bt size:%d\n", );
return 0;
}
答案:sizeof(bt)
6、结构体成员的类型必须是基本数据类型。
答案:F。
套娃结构体
7、对于结构数组s
,既可以引用数组的元素s[i]
,也可以引用s[i]
中的结构成员。
答案:T。
8、指向结构体变量的指针可以作函数参数,实现传址调用。
答案:T。
9、若有下列定义,则以下不合法的表达式是( )。
struct student{
int num;
int age;
};
struct student stu[3] = {{101, 20}, {102, 19}, {103, 20}}, *p = stu;
A.(p++)->num
B.p++
C.(*p).num
D.p = &stu.age
答案:D。
10、设有如下定义,则对data
中的a
成员的正确引用是()。
struct sk{
int a;
double b;
} data, *p = &data;
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
答案:B.
11、有定义如下:
struct ex { int x; float y; char z; } example;
下面叙述中不正确的是____。
A.struct是定义结构类型的关键字
B.example是结构类型名
C.x,y,z都是结构成员名
D.struct ex是结构类型名
答案:C