更多“若有程序段“int *p,a=5;p=&a;”,则下列选项中均代表地址的是()”相关问题
  • 第1题:

    设有以下程序段:

    int a[5]={0},*p,*q;

    p=a;

    q=a;

    则下列选项目,合法的运算是

    A.p+q;

    B.p-q

    C.p*q

    D.p%q


    正确答案:B
    解析:本题考核指针的运算。C++语言中,指向同一字符串的指针之间可以,也只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。

  • 第2题:

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

    A.a, p, &*a

    B.*&a, &a, *p

    C.&a, p, &*p

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


    参考答案C

  • 第3题:

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

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

    int a[5],*p=a;

    A)p 5

    B)*a 1

    C)&a 1

    D)&a[0]


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

  • 第4题:

    若有说明:int*p,m=5,n;,以下正确的程序段是( )。

    A.p=&m; scanf("%d",&p)

    B.p=&n; scanf("%d",&p)

    C.scsnf("%d",&p) p=&n;

    D.p=&n; p=&m;


    正确答案:D
    解析:p为指针型变量,在输入函数的地址列表中不用&,当给指针变量赋值时是取变量的地址赋给指针变量,&为取地址运算符,因此只有选项D正确。

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

    若有下列定义,则对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],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第7题:

    若有下列定义,则对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],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第8题:

    若有定义:int a[5],*p=a;,则对a数组元素地址的正确引用是______。

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    解析:本题首先使指针指向数组a的首地址。选项A越界;选项B中,a并非指针变量;选项C使数组a的地址加1;选项D取数组元素a[0]的地址。

  • 第9题:

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

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

    正确答案:B

  • 第10题:

    假设堆内存分配均成功,则下面程序段完全正确的是()。

    • A、int*p=newint(3);cout<;<;*p;deletep;
    • B、int*p=newint[5]={1,2,3,4,5};for(inti=0;i<;5;i++)cout<;<;p;delete[]p;
    • C、int*p=newint[5];for(inti=0;i<;5;i++,p++){*p=i;cout<;<;*p;}delete[]p;
    • D、以上程序段均正确

    正确答案:A

  • 第11题:

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

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

    正确答案:D

  • 第12题:

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

    a,p

    B

    &a,p

    C

    &a,*p

    D

    a,*p


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

  • 第13题:

    若有定义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]。

  • 第14题:

    若有以下程序段:include using namespace std;int main (){ int a[]={1,4,5}; int *p

    若有以下程序段: #include <iostream> using namespace std; int main () { int a[]={1,4,5}; int *p=&a[0],x=6, y,z; for (y=0; y<3; y++) z= ( (* (p+y) <x) ? *(p+y) :x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。

    A.1

    B.4

    C.5

    D.2


    正确答案:C
    解析:本题考核指针的运算。程序首先定义了一整型数组a,并赋初值1,4,5。即a[0],a[1]和a[2]的值分别为1,4和5。程序还定义了一个整型指针p,并将其初始化且指向数组元素a[0]。在for循环语句中,赋值语句“z=((*(p+y)x)?*(p+y):x);”可等价为“z=(a[y]x)?a[y]:x”。因为表达式中的“*(p+y)=p[y]=a[y]”。for语句每循环一次,就给变量z重新赋值一次,z的值其实就是数组和x相比较,将数组a中的最大值赋给z。当y=2后,退出循环,输出结果是5。

  • 第15题:

    若有定义: int*p; 则下列各选项中,不同于表达式“*p=*p+1;”的是( )。

    A.*p++;

    B.++*p;

    C.*p+=1;

    D.++(*p);


    正确答案:A
    解析:题目中的语句“*p=*p+1;”是将指针变量p所指向的存储单元的值加1,然后再放入p所指向的存储单元中。选项A中,语句“*p++;”,当把该表达式赋给一整型变量k时,就会发现,原语句可变为“k=*p;p=p+1;”,即语句“*p++”最后所执行的是p的值(即p中存放的地址)加1,与题中语句“*p=*p+1;”的意思不同。再来看选项B,C,D,选项B中的语句可表示为“*p=*p+1;”。选项C中的语句可表示为“*p=*p+1;”。选项D中的语句也可表示为“*p=*p+1;”。

  • 第16题:

    设有以下程序段: int a[5]={0},*p,*q; p=a; q=a; 则下列选项中,合法的运算是

    A.p*q

    B.p-q

    C.p*q

    D.p%q


    正确答案:B
    解析:本题考核指针的运算。 C++语言中,指向同一字符串的指针之间可以,也只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。

  • 第17题:

    若有下列定义,则对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],所以引用错误;在选项B)中,*a+1指的是将数组a的第一个元素加1;在选项C)中,这种引用方式错误;在选项D)中,&a[0]引用的是数组的首地址。

  • 第18题:

    若有说明:int*P,m=5,n;,以下正确的程序段是( )。 A.B.C.D.

    A.z

    B.0

    C.元素eh[5]的地址

    D.字符Y的地址


    正确答案:D
    "&”是求址运算符,”*”是指变量说明符。选项A)、B)改为scanf(”%d”,p);选项c)中指针变量P未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

  • 第19题:

    设有以下程序段:int a[5]={0),*p,*q;p=a;q=a;则下列选项中,合法的运算是( )。

    A.p+q

    B.p-q

    C.p*q

    D.p%q


    正确答案:B

  • 第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*p,a=4;和p=&a;下面均代表变量值的一组选项是()

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

    正确答案:D

  • 第22题:

    若有定义:int a[10],*p; 则*(p+5)表示()。

    • A、元素a[5]的值
    • B、元素a[5]的地址
    • C、元素a[6]的值
    • D、元素a[6]的地址

    正确答案:A

  • 第23题:

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

    *&p,*p,&i

    B

    i,p,&*i

    C

    *&i,&i,*p

    D

    &i,p,&*p


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

  • 第24题:

    单选题
    若有定义:int a[10],*p; 则*(p+5)表示()。
    A

    元素a[5]的值

    B

    元素a[5]的地址

    C

    元素a[6]的值

    D

    元素a[6]的地址


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