1. 假定已建立以下链表结构,且指针p和q已指向如下图所示的结点:
则以下选项中可将q所指的结点从链表中删除,并释放该结点的语句组是( )。
A.(*p).next=(*q).next;free(p); B.p=q.>next; free(q);
C.p=q;free(q); D.p->next =q->next; free(q);
2. 下列程序的执行结果是( )。
#include "stdio.h"
union ss
{ short n;
char c[2];
};
void main()
{ union ss x;
x.n=11;
x.c[0]=1;
x.c[1]=0;
printf("%d",x.n);
}
A. 1 B.266 C. 256 D.128
3. 当定义一个共用体变量时,系统分配给它的内存是( )。
A.各成员所需内存量的总和 B.成员中第一个成员所需内存量
C.成员中占内存量最大的容量 D.成员中最后一个成员所需内存
4. 若有以下程序段:
union data { int i ; char c; float f;} a;
int n;
则以下语句正确的是( )。
A.a=5; B.a={2,’a’,1.2} C.printf(“%d”,a); D.n=a;
5. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15} time;则枚举常量a2和a3的值分别为 ( )。
A. 1和2 B. 2和3 C. 7和2 D. 7和8
6.
enum color{red,green,yellow=5,white,black}定义了一个枚举类型。编译程序为值表中各标识符分配的枚举值依次为( )。
A. 1 2 3 4 5 B. 0 1 5 2 3
C.0 1 5 6 7 D.3 4 5 6 7