有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点 a之后的语句是 struct node { char data; struct node*next; }a,b,*p=&a,*q=&b;A.a.next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;

题目

有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点 a之后的语句是 struct node { char data; struct node*next; }a,b,*p=&a,*q=&b;

A.a.next=q;

B.p.next=&b;

C.p->next=&b;

D.(*p).next=q;


相似考题
更多“有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点 a之后 ”相关问题
  • 第1题:

    单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的单链表结点之后,下面的操作序列中正确的是( )

    A)q;=p↑.link;p↑.link:=q↑,link;

    B)p↑.link.q↑.link;q:=p↑.link;

    C)q↑.link::p↑.link;P↑.link:=q;

    D)P↑.link:=q;q↑.link:=p↑.link;


    正确答案:C
    由单链表的存储结构可知,每个结点的指针域保存其后继结点的指针。将指针为q的新结点插入到指针为P的结点之后,则原指针为P的结点的后继结点成为新结点的后继结点,由单链表的存储结构可知应执行q↑.link:=p↑.link,新结点成为指针P的后继结点,因此应执行p↑.link:=q,综上所述,选项C)是正确的。 

  • 第2题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是

    struct node

    { char data;

    struct node *next;

    } a,b,*p=&a,*q=&b;

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B

  • 第3题:

    int*p2表示的含义()。

    A./*p2是指向浮点变量的指针变量*/

    B./*p2是指向整型变量的指针变量*/

    C./*p2是指向字符变量的指针变量*/

    D./*p2是指向函数变量的指针变量*/


    正确答案:B

  • 第4题:

    若有以下定义: struct link { int data; struct link *next; }a,b,c,*p,*q;且变量a和b之间已有下图所示的链表结构:

    指针p指向变量a,指针q指向变量c,则能够把c插入到a和b之间并形成新的链表的语句组是( )。

    A.a.next=c;c.next=b;

    B.p.next=q;q.next=p.next;

    C.p->next=&c;q->next=p->next;

    D.(*p).next=q; (*q).next=&b;


    正确答案:D
    解析:本题考查链表的数据结构,必须利用指针变量才能实现。b和c是变量,选项A)错误;p是指针变量,选项B)表达错误;选项C)的赋值/顷序错误。

  • 第5题:

    有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。

    A.

    B.

    C.

    D.

    现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是( )。

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    本题考查链表结点的删除,q->next中存放的是r所指结点的首地址,将r所指结点的首地址存于p->next中,则实现删除q所指点的功能,并保持链表连续,p所指点与r所指结点相连。

  • 第6题:

    若有如下定义: int (*p)(), *q(); 则下列说法正确的是( )

    A.p是一个函数名,q是一个指针变量

    B.p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量

    C.p和q是等价的,都是指针变量

    D.p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数


    正确答案:D

  • 第7题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。 struct node {chardata; struct node if next; }a,b,*p:&a,*q=&b;

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b:

    D.(*p).next=q;


    正确答案:B
    解析: 要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的p是指针变量,应该是p->next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。

  • 第8题:

    单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?

    A.q:=p↑.link; p↑.link:=q↑.link;

    B.p↑.link:=q↑.link; q:=p↑.link;

    C.q↑.link:=p↑.link;p↑link:=q;

    D.p↑.link:=q; q↑.link:=p↑.link;


    正确答案:C
    解析:将指针p所指向的地址赋于q,将q的值赋于p指向的地址。

  • 第9题:

    设指针变量p指向单链表中的结点A,则删去结点A的语句序列为 Q=p->next;p->data = p->data: p->next=(); :feee(q);


    正确答案:q->next

  • 第10题:

    设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。


    正确答案:q->next=p->next,p->next=q

  • 第11题:

    设单链表中指针p 指向结点A,q指针指向其后继结点。若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。


    正确答案:p->next=q->next

  • 第12题:

    填空题
    设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。

    正确答案: q->next=p->next,p->next=q
    解析: 暂无解析

  • 第13题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是

    struct node

    { char data;

    struct node*next;

    }a,b,*p= &a,*q=&b;

    A.a. next=q;

    B.p. next= &b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B

  • 第14题:

    对于单链表表示法,以下说法正确的是()

    A指向链表的第一个结点的指针,称为头指针

    B单链表的每一个结点都被一个指针所指

    C任何结点只能通过指向它的指针才能引用

    D尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表


    参考答案:ABC

  • 第15题:

    单键表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?

    A.q:=p^.link;p^.link:=q^.link;

    B.p^.link:=q^.link;q:=p^.link;

    C.q^.link:=p^.link;p^.link:=q;

    D.p^.link:=q;q^.link:=p^.link;


    正确答案:C
    解析:本题考核有关计算机键表的基本知识,参考2.2.2“键表”一节。

  • 第16题:

    程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q、均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

    该程序段实现的功能是( )。

    A.首结点成为尾结点

    B.尾结点成为首结点

    C.删除首结点

    D.删除尾结点


    正确答案:A
    循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

  • 第17题:

    有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的3个连续结点。struct node { int data;struct node *next;} *p,*q,*r;

    现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是

    A.p->next=q->next;

    B.p-next=p->next->next;

    C.p->next=r;

    D.p=q->enxt;


    正确答案:D
    解析:本题考查链表结点的删除。q->next中存放的是r所指结点的首地址,将r所指结点的首地址存于p->next中,则实现删除q所指结点的功能,并保持链表连续,p所指结点与r所指结点相连。

  • 第18题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是( )。 struct node { char data; struct node *next; }a,b, *p=&a,*q=&b;

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b

    D.(*p).next=q;


    正确答案:B
    解析:对象成员有两种访问方式:一个是通过对象名,使用“.”运算符来访问;另一个是通过指向对象的指针,使用“->”运算符来访问其成员。因此,选项B的访问方式是错误的。

  • 第19题:

    有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。 struct node { int data;struct node*next;)*p,*q,*r; 现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是( )。

    A.p->next=q->next;

    B.P-next=P->next->next;

    C.p->next=r;

    D.p=q->next;


    正确答案:D
    本题考查链表结点的删除,q一>next中存放的是r所指结点的首地址,将r所指结点的首地址存于p--next中,则实现删除q所指点的功能,并保持链表连续,P所指点与r所指结点相连。

  • 第20题:

    有以下结构体说明和变量的定义,且如图14-4所示的指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是______。

    struct node { char data; struct node * next; }a,b,*p=&a,*q=&b:

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B

  • 第21题:

    设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。


    正确答案:p->next=p->next->next

  • 第22题:

    在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()

    • A、 p->next=s;s->next=q
    • B、 q->next=s;s->next=p
    • C、 S->next=p->next;p->next=s
    • D、 p->next=s->next;s->next=q

    正确答案:B

  • 第23题:

    单选题
    若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()
    A

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量

    B

    语句①和②中的*p含义相同,都表示给指针变量赋值

    C

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p

    D

    语句①和②的执行结果都是把变量x的地址赋给指针变量p


    正确答案: B
    解析: 暂无解析

  • 第24题:

    填空题
    设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。

    正确答案: p->next=p->next->next
    解析: 暂无解析