更多“若有int *p,a=4;和p=&a;下面那个选项均代表地址?”相关问题
  • 第1题:

    若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

    若有定义int a[9],+P=a;,则P+5表示( )。

    A.数组元素a[5]的值

    B.数组元素a[5]的地址

    C.数组元素a[6]的地址

    D.数组元素a[0]的值加上5


    正确答案:B
    本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

  • 第2题:

    若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;

    A.*(p+2)

    B.p[2]

    C.p[1]+1

    D.(p+1)+2


    正确答案:C
    解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。

  • 第3题:

    有定义语句:int*p[4],以下选项中与此语句等价的是( )。

    A.int p[4];

    B.int**p;

    C.int*(p[4]);

    D.int(*p)[4];


    正确答案:C

  • 第4题:

    若有语句int * point,a=4;和point=&a;下面均代表地址的一组选项是()。A.a,point,*&aB.&am

    若有语句int * point,a=4;和point=&a;下面均代表地址的一组选项是( )。

    A.a,point,*&a

    B.&*a,&a,*point

    C.*&point,*point,&a

    D.&a,& * point,point


    正确答案:D
    解析:“&”是求地址运算符,“*”是指针变量说明符,本题只有选项D)中的各项均代表地址,其中&*point等价于point。

  • 第5题:

    若有定义:“int*P,x=0,*p,p=&x;”,则语句“printf("%d\n",*p);”的输出结果是( )。

    A.随机值

    B.0

    C.x的地址

    D.P的地址


    正确答案:A
    *P的意思是取其指向地址的内容,P是指向x地址的指针,因此输出*p也就是输出x的内容,即0,故选择B选项。

  • 第6题:

    若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是( )。

    A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

    B.P+1代表a[1][0]的地址

    C.P中将存放a数组的首地址

    D.P+2代表a数组最后一行的首地址


    正确答案:A
    (+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。

  • 第7题:

    若有以下定义和语句 int a=4,b=3,*p, *q, *w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是

    A.*q=0

    B.w=p

    C.*p=a;

    D.*p=*w;


    正确答案:D
    解析:指针是一个既强大又危险的技术,C/C++语言之所以灵括高效,原因之一就是采用了指针技术,所以c/C++特别适合开发系统软件和工具软件.在C#语言中已经取消了指针,而且全部属于托管代码。而在dotnet框架中,为了保持兼容性,仍然可以使用C++,但分托管和非托管代码。本题实际上有个圈套,只要注意到题干中“语句”,而且注意到各个选项中都有分号结尾,就可以判断选项D是正确的:语句不是以逗号结尾的。

  • 第8题:

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。 A.int p[4];B.int**P;SXB

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。

    A.int p[4];

    B.int**P;

    C.int*(p[4]);

    D.int(*p)[4];


    正确答案:D
    本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。

  • 第9题:

    若有下面的程序片段: int[12]={0},*p[3],**pp,i; for(i=0;i<3;i) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是


    正确答案:C
    C

  • 第10题:

    若有以下说明和语句: struct student{          int age;          int num;  }std, *p;  p=&std;  则下面对该结构体变量std中成员age的引用方式错误的是()。 

    • A、std.age
    • B、*p.age
    • C、(*p).age
    • D、p->age

    正确答案:B

  • 第11题:

    若有语句int*p,a=4;和p=&a;下面均代表变量值的一组选项是()

    • A、a,p,*&a
    • B、&*a,&a,*p
    • C、*&p,*p,&a
    • D、*&a,*p,a

    正确答案:D

  • 第12题:

    单选题
    若有语句:inti,*p=&i;则均表示变量地址的选项是()
    A

    *&p,*p,&i

    B

    i,p,&*i

    C

    *&i,&i,*p

    D

    &i,p,&*p


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

  • 第13题:

    若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。

    A.a, p, &*a

    B.*&a, &a, *p

    C.&a, p, &*p

    D.*&p, *p, &a"


    参考答案C

  • 第14题:

    若有定义:int x=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是 ______。

    A.随机值

    B.0

    C.x的地址

    D.p的地址


    正确答案:B
    解析:由定义*p=&x,p指向x的地址,*p=x,因此输出的是x的值。

  • 第15题:

    若有语句int *point,a=4;和 point=&a;,下面均代表地址的一组选项是A.a,point,*&a B.&am

    若有语句int *point,a=4;和 point=&a;,下面均代表地址的一组选项是A.a,point,*&a B.&*a,&a,*point C.*&point,*point,&a D.&a,&*point,point


    正确答案:D
    本题主要考查指针变量对数值的引用。在题目中,首先定义了整型指针变量point和一个整型变量a,变量a的初值为4,然后是指针变量指向a,或者说将变量a所在存储单元的地址值赋给指针变量。
    在选项A中,很显然,不全是地址,只有point表示地址,而*&a等价于*(&a),表示取一个数值。
    在选项B中,也不都表示地址,其中*point表示数值,其他两个表示地址。
    在选项C中,与选项B类似,其中的*point表示数值。
    在选项D中,都表示地址,是题目的选择答案。

  • 第16题:

    若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则

    若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是( )。

    A.*q=0;

    B.w=p;

    C.*p=a;

    D.*p=*w;


    正确答案:A
    解析:本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将q指向NULL。因为q指向NULL,所以选项A中对q所指地址进行写入是非法的。故A选项为所选。

  • 第17题:

    若有以下定义和语句 int a=4.b=3.* p, * q, * w; p=&a;q=& b; w=q;q=NULL; 则以下选项中错误的语句是

    A.*q=0;

    B.w=p;

    C.*p=a;

    D.*p=* w;


    正确答案:D
    解析:考生遇到这么复杂的变量间关系时,可以在草稿纸上画出各个变量的内存存放示意图,然后用箭头指向表示指针变量与其他变量之间的关系。如果能够清晰的画出这些变量间关系,则可以会让你容易的判断出正确答案为D。

  • 第18题:

    若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是

    A.a,point,*&a

    B.&*a,&a,*point

    C.*&point,*point,&a

    D.&a,&*point,point


    正确答案:D
    解析:“&”是求址运算符,“*”是指针变量的说明符,说明该变量只能存放所定义类型变量的地址。本题中选项D)中的第一和第三项所表达的是同样的意思。注意:选项A)中9是一个整型变量。选项B)中&,a等价于a,*point是指针变量所指的内容。选项C)中也是同理。注意:在指针运算中,&和*的作用相互抵消。

  • 第19题:

    若有以下程序 include int a[ ]={2,4,6,8}; main( ) { int i; int *p=a; for(i=0;i<4

    若有以下程序

    #include <stdio.h>

    int a[ ]={2,4,6,8};

    main( )

    { int i;

    int *p=a;

    for(i=0;i<4;i++) a[i]=*p;

    printf("%d\n",a[2]);}

    上面程序的输出结果是

    A.6

    B.8

    C.4

    D.2


    正确答案:D
    解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量 p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

  • 第20题:

    若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1

    若有下列定义,则对a数组元素地址的正确引用是( )。

    int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    本题考查数组元素的地址的引用。A中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组的首地址。

  • 第21题:

    若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是 A.a,point,*&

    若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是

    A.a,point,*&a

    B.&*a,&a,*point

    C.*&point,*point,&a

    D.&a,&*point,point


    正确答案:D

  • 第22题:

    若有定义:int *p,a=4;p=&a;则以下均代表地址的是()

    • A、a,p
    • B、&a,p
    • C、&a,*p
    • D、a,*p

    正确答案:B

  • 第23题:

    若有语句:inti,*p=&i;则均表示变量地址的选项是()

    • A、*&p,*p,&i
    • B、i,p,&*i
    • C、*&i,&i,*p
    • D、&i,p,&*p

    正确答案:D

  • 第24题:

    单选题
    若有定义:int *p,a=4;p=&a;则以下均代表地址的是()
    A

    a,p

    B

    &a,p

    C

    &a,*p

    D

    a,*p


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