第七章单元测试
定义以下结构体类型
struct s
{
char b;
float f;
};
则语句printf("%d",sizeof(struct s))的输出结果为( )。
当定义一个结构体变量时,系统为它分配的内存空间是( )。
定义以下结构体数组
struct c
{ int x;
int y;
}s[2]={1,3,2,7};
语句printf("%d",s[0].x*s[1].x)的输出结果为 ( )。
下面程序的运行结果是( )。
struct KeyWord
{
char Key[20];
int ID;
}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};
main()
{
printf("%c,%d\n",kw[3].Key[0], kw[3].ID);
}
如果有下面的定义和赋值,则使用( )不可以输出n中data的值。
struct SNode
{
unsigned id;
int data;
}n,*p;
p=&n;
根据下面的定义,能输出Mary的语句是( )。
struct person
{
char name[9];
int age;
};
struct person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};
定义以下结构体数组
struct date
{ int year;
int month;
int day; };
struct s
{ struct date birthday;
char name[20];
} x[4]={{2008, 10, 1, "guangzhou"}, {2009, 12, 25, "Tianjin"}};
语句
printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year); 的输出结果为( )。
C语言定义类型名的关键字是( )
结构体变量做函数参数,是参传递给形参的是()
关于链表,以下说法错误的是( )
A:6 B:5 C:3 D:4
答案:5
A:结构体中占内存容量最大者所需的容量 B:结构中第一个成员所需的内存容量 C:结构中各成员所需内存容量之和 D:结构中一个成员所需的内存容量
A:2 B:6 C:14 D:21
A:l,4 B:i,3 C:f,4 D:n,3
A:(*p).data B:p->data C:p.data D:n.data
A:printf("%s\n",class[0].name); B:printf("%s\n",class[3].name); C:printf("%s\n",class[1].name); D:printf("%s\n",class[2].name);
A:guangzhou,2008 B:Tianjin,2008 C:guangzhou,2009 D:Tianjin,2009
A:struct B:define C:typedef D:name
A:其余选项都不对 B:结构体变量所有成员的值 C:结构体变量第一个成员的值 D:结构体变量的首地址
A:链表中的节点可以删除 B:链表是一种动态数据结构 C:malloc函数是链表专用的处理函数,不能用在其他地方 D:在链表中插入一个节点不需要改变其他节点的物理位置