第11章 结构体

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单项选择题

1101. 当说明一个结构体变量时系统分配给它的内存是( )。

A. 各成员所需内存量的总和

B. 结构中第一个成员所需内存量

C. 成员中占内存量最大者所需的容量

D. 结构中最后一个成员所需内存量

1002. 设有以下说明语句

struct uu

{ int n;

char ch[8];

} PER;

则下面叙述中正确的是( )。

A. uu 是结构体标识名

B. PER 是结构体标识名

C. struct uu是结构体标识名

D. struct 是结构体标识名

1003. 已知有如下定义:

struct a{char x; double y;}data,*t;

若有t=&data,则对data中的成员的正确引用是( )。

A. (*t).x

B. (*t).data.x

C. t->data.x

D. t.data.x

1004. 设有如下定义:

struct sk

{ int a;

float b;

} data;

int *p;

若要使P指向data中的b域,正确的赋值语句是( )。

A. p=&data.b;

B. p=&b;

C. p=data.b;

D. *p=data.b;

1005. 已知学生记录描述为:

struct student

{ int no;

char name[20],sex;

struct

{ int year,month,day;

} birth;

};

struct student s;

设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是( )。

A. s.birth.year=1984;s.birth.month=11;s.birth.day=12;

B. birth.year=1984;birth.month=11;birth.day=12;

C. s.year=1984;s.month=11;s.day=12;

D. year=1984;month=11;day=12;

1006. 有如下定义

struct person{char name[9];int age;};

struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};

根据上述定义,能输出字母M的语句是( )。

A. printf("%c\n",class[3].name[1]);

B. printf("%c\n",class[3].name);

C. printf("%c\n",class[2].name[1]);

D. printf("%c\n",class[2].name[0]);

1007. 若程序中有以下的说明和定义:

struct abc

{ int x;char y; }

struct abc s1,s2;

则会发生的情况是( )。

A. 编译出错

B. 程序将顺序编译、连接、执行

C. 能顺序通过编译、连接、但不能执行

D. 能顺序通过编译、但连接出错

1008. 有以下程序段

struct st

{ int x; int *y;}*pt;

int a[]={1,2};b[]={3,4};

struct st c[2]={10,a,20,b};

pt=c;

以下选项中表达式的值为11的是( )。

A. ++pt->x

B. *pt->y

C. pt->x

D. (pt++)->x

1009. 有以下说明和定义语句

struct student

{ int age; char num[8];};

struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};

struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是( )。

A. stu[3].age

B. (p++)->num

C. p->num

D. (*p).num

1010. 在VC++6.0下,定义以下结构体类型

struct s

{

int a;

char b;

float f;

};

则语句printf("%d",sizeof(struct s))的输出结果为( )。

A. 9

B. 8

C. 7

D. 6

1011. 在VC++6.0下,定义以下结构体类型

struct s

{ int x;

float f;

}a[3];

语句printf("%d",sizeof(a))的输出结果为( )。

A. 24

B. 20

C. 16

D. 12

1012. 定义以下结构体数组

struct c

{ int x;

int y;

}s[2]={1,3,2,7};

语句printf("%d",s[0].x*s[1].x)的输出结果为( )。

A. 2

B. 3

C. 4

D. 5

1013. 在VC++6.0下,定义以下结构体类型

相关文档
最新文档