第十章测试
1.设有结构体定义"struct { int i; int j;} d[2]={{1,3}, {2,7}};",则printf("%d\n", d[0].j/d[0].i*d[1].i);的执行结果是( )。
A:6
B:3
C:0
D:1

答案:A
2.设有枚举定义"enum tern{ my, your=4, his, her=his+10};",则printf("%d,%d,%d,%d", my, your,his,her);的输出是( )。
A:1,4,5,15
B:0,1,2,3
C:0,4,0,10
D:0,4,5,15
3.typedef union
{ long x[2]; int y[4]; char z[8]; } MYTYPE;
MYTYPE them;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%d\n", sizeof(them));的输出值是( )。
A:16
B:24
C:32
D:8
4.struct Student
{ long no[2]; int s[4]; char str[8]; } your;
在32位CPU下的Visual C++6.0的环境中,若有如下定义,则printf("%d\n", sizeof(your));的输出值是( )。
A:8
B:32
C:24
D:16
5.struct student{ int no, char name[9]; int age;};
struct student studs[6] = {1001, "Yan", 19, 1002, "Wang", 20, 1003, "Shen", 19, 1004, "Li", 20};
根据下面的定义,能打印出数字20语句是( )。
A:printf("%d ", studs[4].age+1);
B:printf("%d ", studs[1].age);
C:printf("%d ", studs[3].name);
D:printf("%d ", studs[0].no);
6.struct sk{int a; float b;}data, *p=&data;
设有如下定义,则对data中成员a引用正确的是( )。
A:p.data.a
B:p->data.a
C:(*p).a
D:(*p).data.a
7.下面关于结构体类型的描述错误的是( )。
A:不能将结构体变量作为一个整体进行输入和输出
B:结构体成员名不能与程序中的变量名相同
C:结构体成员的类型可以是一个已经定义的结构体类型
D:可引用结构体变量的地址,也可引用结构体变量成员的地址
8.关于在程序运行期间C语言的结构体变量的描述是正确的( )。
A:所有的成员一直驻留在内存中
B:只有最开始的成员驻留在内存中
C:部分成员驻留在内存中
D:在内存中仅仅开辟一个存放结构体变量地址的单元
9.若有以下语句
struct ex
{ int x, float y, char z;} example;
则下面的叙述中不正确的是( )。
A:x,y,z都是结构体成员名
B:example是结构体类型名
C:struct ex是结构体类型名
D:struct是结构体类型的关键字
10.struct node
{ float x;
struct node* next;
};
void connect (struct node* t1, struct node *t2)
{
if(t1->next ==NULL)
t1->next = t2;
else
connect ( ,t2);
}
下面函数的功能是将指针t2所指向的线性链表链接到t1所指向的链表的末端(假定t1所指向的链表非空)
要实现此功能则应该补全connect代码,填入的选项是( )。
A:++t1->next
B:t1.next
C:t1->next
D:++t1.next

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(173) dxwkbang
返回
顶部