更多“若已定义char *p;,使指针p指向变量ch的赋值语句是______ 。”相关问题
  • 第1题:

    变量m的值为8,m的地址为1010,若欲使p为指向m的指针变量,则下列赋值正确的是 ( )。

    A.&m=8

    B.*p=8

    C.*p=1010

    D.p=&m


    正确答案:D
    解析:指针变量是通过指向变量地址来指定变量值的。这里只要取m的地址赋给p,即可实现使p为指向m的指针变量。

  • 第2题:

    设有语句:“int a=1,b=2,*p1=&a,*p2=&b;”,则使指针p1指向变量b的赋值语句是______。

    A.p1=*p2

    B.*p1=p2

    C.p1=p2

    D.*p1=*p2


    正确答案:D
    解析:对于定义int*p,*q;,可以通过赋值语句p=q;,把指针变量q中的地址值赋给指针变量p,从而使这两个指针变量指向同一地址。

  • 第3题:

    若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。

    ①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。

    ②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。


    正确答案:s=p+3; 2
    s=p+3; 2 解析:若p指向了a[1],则p+3将指向其后的第3个元素a[4],把它赋值给s,s就指向了a[4],所以第1空填“s=p+3;”。由于s指向了a[2],p指向了a[0],s和p为指向同一个数组元素的指针变量,它们的差为它们指向元素的下标差值(即间隔多少个元素),所以“s-p”的结果为2。

  • 第4题:

    若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是( )。

    A.两个*p含义相同,都说明给指针变量p赋值

    B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量P

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:B
    在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

  • 第5题:

    若要用下面的程序片段使指针变量p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char));

    A.char

    B.char *

    C.(* char)

    D.(char *)


    正确答案:D

  • 第6题:

    语句Char(*P)说明了( )。

    A.P是指向函数的指针,该函数返回一个Char型数据

    B.P是指向Char型数据的指针变量

    C.P是指向数组的指针变量

    D.P是一个函数名,该函数的返回值是指向Char型数据的指针


    正确答案:A
    P是指向函数的指针,该函数返回一个char型数据。

  • 第7题:

    有以下结构体说明和变量的定义,且如图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

  • 第8题:

    设有定义:int x,*p;,能使指针变量p指向变量x的语句是()

    • A、*p=&x;
    • B、p=&x;
    • C、*p=x;
    • D、p=*&x;

    正确答案:B

  • 第9题:

    若变量已正确定义并且指针p已经指向变量x,则&*p相当于()

    • A、x
    • B、*p
    • C、p
    • D、*&x

    正确答案:C

  • 第10题:

    若已定义inta=5;下面对(1)int*p=&a;(2)*p=a;两个语句的正确解释是()

    • A、语句(1)和(2)中的*P含义相同,都表示给指针变量p赋值
    • B、语句(1)和语句(2)的执行结果,都是把变量a的地址值赋给指针变量p
    • C、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋给指针变量p
    • D、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋于*p

    正确答案:D

  • 第11题:

    单选题
    假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。
    A

    char *p=s;

    B

    char *p=&s;

    C

    char *p;p=*s;

    D

    char *p; p=&s;


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

  • 第12题:

    填空题
    写出指向int型变量的指针变量p的一个定义语句:()。

    正确答案: int*p
    解析: 暂无解析

  • 第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题:

    若已有定义int x;下列说明指针变量p指向x的正确语句是( )

    A. int p=&x;

    B. int *p=&x;

    C. int p=x;

    D. int *p=x;


    正确答案:B

  • 第15题:

    若有定义“char, *p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为 ( )

    A.p1=& ch;scanf("%c",p1);

    B.p2=(char*)malloc(1);scanf("%c",p2);

    C.p3=getchar( );

    D.p4=& ch;*p4=getchar( );


    正确答案:C

  • 第16题:

    若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。

    A.两个语句都是将变量a的值赋予变量p

    B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p

    C.*p=a是将变量a的值赋予变量b,而&;a是使P指向变量a

    D.两个语句都是使p指向变量a


    正确答案:C
    “p”是指针变量,指向一个地址:“*p”为p指针所指向地址的内容。“&”是取变量地址。

  • 第17题:

    有以下结构体说明和变量的定义,且指针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的访问方式是错误的。

  • 第18题:

    若有以下定义和语句: double r=23,*p=&r; *p=r;则以下正确的叙述是______。

    A.两处的*p含义相同,都说明给指针变量p赋值

    B.在“double r=23,*p=&r;”中,把r的地址赋值给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”取变量r的值放回r中


    正确答案:D
    解析:*p=&r使p指向变量r的地址,*p=r是再取变量r的值,并放回r中。

  • 第19题:

    假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。

    Achar *p=s;

    Bchar *p=&s;

    Cchar *p;p=*s;

    Dchar *p; p=&s;


    A

  • 第20题:

    写出指向int型变量的指针变量p的一个定义语句:()。


    正确答案:int*p

  • 第21题:

    若变量已正确定义并且指针p已经指向变量x,则&x相当于()

    • A、x
    • B、*p
    • C、p
    • D、*&x

    正确答案:C

  • 第22题:

    若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于()

    • A、p++
    • B、x++
    • C、*(p++)
    • D、&x++

    正确答案: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题:

    单选题
    设有定义:int x,*p;,能使指针变量p指向变量x的语句是()
    A

    *p=&x;

    B

    p=&x;

    C

    *p=x;

    D

    p=*&x;


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