C语言程序设计2023章节测试答案

A、(*p).data.a

B、(*p).a

C、p->data.a

D、p.data.a

我的答案:B

16、若有以下定义语句: struct student { int num,age;}; struct student stu[3]={{101,20},{102,19},{103,18}},*p=stu; 则以下错误的引用是( )

A、(p++)->num

B、p++

C、(*p).num

D、p=&stu.age

我的答案:D

17、设有一结构体类型变量定义如下: struct date { int year; int month; int day; }; struct worker { char name[20]; char sex; struct date birthday; }w1; 若对结构体变量w1的出生年份进行赋值,下面正确的赋值语句是( )

A、year=1976

B、birthday.year=1976

C、w1.birthday.year=1976

D、w1.year=1976

我的答案:C

18、已知: struct person { char name[10]; int age; }class[10]={"LiMing",29,"ZhangHong",21,"WangFang",22}; 下述表达式中,值为72的一个是( )

A、class[0]->age + class[1]->age+ class[2]->age

B、class[1].name[5]

C、person[1].name[5]

D、clase->name[5]

我的答案:A

19、若已经定义: struct stu { int a, b; } student ; 则下列输入语句中正确的是( )

A、scanf("%d",&a);

B、scanf("%d",&student);

C、scanf("%d",&stu.a);

D、scanf("%d",&student.a);

我的答案:D

20、已知: struct st { int n; struct st *next; }; static struct st a[3]={1,&a[1],3,&a[2],5,&a[0]},*p; 如果下述语句的显示是2,则对p的赋值是( ) printf("%d",++(p->next->n));

A、p=&a[0];

B、p=&a[1];

C、p=&a[2];

D、p=&a[3];

我的答案:C

21、有如下定义: struct person { char name[9];int age;}; struct person class[10]={"John",17, "Paul",19, "Mary",18, "Jack",19}; 根据上述定义,能输出字母M的语句是( )

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

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

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

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

我的答案:D

22、链表不具有的特点是( )

A、插入、删除不需要移动元素

B、可随机访问任一元素

C、不必事先估计存储空间

D、所需空间与线性长度成正比

我的答案:B

23、设有以下链表,则不能将q所指的结点插入到链表末尾的是( )

A、q->next=NULL;p=p->next;p->next=q;

B、p=p->next;q->next=p->next;p->next=q;

C、p=p->next;q->next=p;p->next=q;

D、p=(*p).next;(*q).next=(*p).next;(*p).next=q;

我的答案:C

24、在单链表指针为p的结点之后插入指针为 s的结点, 正确的操作是 ( )

A、p->next=s;s->next=p->next;

★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复