资源描述:
《结构体与链表习题 附答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、__________________________________________________一、选择题1、在说明一个结构体变量时系统分配给它的存储空间是().A)该结构体中第一个成员所需的存储空间B)该结构体中最后一个成员所需的存储空间C)该结构体中占用最大存储空间的成员所需的存储空间D)该结构体中所有成员所需存储空间的总和。2.设有以下说明语句,则以下叙述不正确的是()structstu{inta;floatb;}stutype;A.struct是结构体类型的关键字B.structstu是用户定义的结构体类型C.stut
2、ype是用户定义的结构体类型名D.a和b都是结构体成员名3、以下对结构体变量stu1中成员age的合法引用是()#includestructstudent{intage;intnum;}stu1,*p;p=&stu1;A)stu1->ageB)student.ageC)p->ageD)p.age4、有如下定义:Structdate{intyear,month,day;};Structworklist{Charname[20];Charsex;Structdatebirthday;}person;对结构体变量pe
3、rson的出生年份进行赋值时,下面正确的赋值语句是()。Aworklist.birthday.year=1978Bbirthday.year=1978Cperson.birthday.year=1958Dperson.year=19585、以下程序运行的结果是()。 #include”stdio.h” main() {structdate {intyear,month,day; }today;收集于网络,如有侵权请联系管理员删除_______________________________________________
4、___ printf(“%d”,sizeof(structdate)); }A.6B.8C.10D.126、对于时间结构体 structdate {intyear,month,day;charweek[5]; } 则执行printf(“%d”,sizeof(structdate))的输出结果为()。 A.12B.17C.18D.207、设有以下语句: structst{intn;charname[10] }; structsta[3]={5,“li”,7,“wang”,9,”zhao”},*p; p=
5、a; 则以下表达式的值为6的是()。A.p++->nB.p->n++C.(*p).n++D.++p->n8、设有以下语句,则输出结果是()。 structList{intdata;structList*next;};structLista[3]={1,&a[1],2,&a[2],3,&a[0]},*p;p=&a[1];printf("%d",--p->data);printf("%d",p->next->data);printf("%d",p--->data);}A.131B.311C.132D.2139、若有以下语
6、句,则下面表达式的值为1002的是()。 structstudent {intage; intnum; }; structstudentstu[3]={{1001,20},{1002,19},{1003,21}};收集于网络,如有侵权请联系管理员删除__________________________________________________ structstudent*p; p=stu; A.(p++)->numB.(p++)->ageC.(*p).numD.(*++p).age 10、下若有以下语句,则下
7、面表达式的值为()。structcmplx{intx;inty;}cnumn[2]={1,3,2,7};cnum[0].y/cnum[0].x*cnum[1].x;A.0B.1C.3D.611、若对员工数组进行排序,下面函数声明最合理的为()。A.voidsort(structEmplyee);B.voidsort(structEmplyee*);C.voidsort(structEmplyee[]);D.voidsort(structEmplyee*[]);12、线性表采用链式存储结构时,要求内存中可用存储单元的地址(D)。A、
8、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续或不连续都可以。13、在一个单链表中,若在P所指结点之后插入S所指结点,则执行( )。A、s->next=p;p->next=s;B、s->next=p->next;p->next=s