niusouti.com
更多“设有定义int a[ ]={1,5,7,9,11,13},*p=a+3;则*(p-2),*(a+4)的值是( )。 A、5 11B、1 9C、5 9D、有错误”相关问题
  • 第1题:

    下列定义中,( )是定义指向数组的指针p.

    A、int*p[5]

    B、int(*p)[5]

    C、(int*)p[5]

    D、int*p[]


    参考答案:B

  • 第2题:

    设有定义intx;floatv;则5+x+v值的数据类型为int。()


    正确答案:错

  • 第3题:

    设有定义语句:int a[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【 】。


    正确答案:×
    0 解析:本题考查的是二维数组初始化问题。题中对数组的a[0][0],a[1][0],a[2][0]3个元素分别赋值为0,1,2,其余的元素都自动赋0。所以a[1] [2]的值为0。

  • 第4题:

    下列说法正确的是( )。

    A.定义int a[4]={1,3};,则a[0]=1,a[1]=3,a[3]的值不确定

    B.定义static int a[4];,则元素值不确定

    C.const int x;x=5;表示给常量x赋初值

    D.定义int a[4];,则其元素的值是不确定的


    正确答案:D
    解析:当定义一个static数组时,虽未初始化,但元素值默认为0;对非static的数组,没有赋初值,则其元素中的值为不确定的;若赋初值但数据不够用,则其他元素值初始化为0。

  • 第5题:

    设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第6题:

    设有定义语句“int a=10,*p=&a;”,则表达式“a十*p”的值是( )

    A.10

    B.20

    C.100

    D.语法出错


    正确答案:B
    在数据定义语句中的“*p=&a”,表示指针变量p已经指向变量a,所以表达式中的“*p”就是变量a,“a+*p”就是“a+a”,所以该表达式的值为20。本题答案应选B。

  • 第7题:

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int * p=a;正确的描述是( )。

    A.语句int * p=a;定义不正确

    B.语句int * p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int * p=a;是把a[0]的值赋给变量p

    D.语句int * p=a;是把a[1]的值赋给变量p


    正确答案:B

  • 第8题:

    若有定义:int a=6,b=2;charc1=’a’,c2=’b’;则表达式a+b%5+c2-c1的值是()

    • A、7
    • B、8
    • C、9
    • D、表达式错误

    正确答案:C

  • 第9题:

    若有定义int a=5,b=7;则表达式(a++)+(++b)的值是()。

    • A、11
    • B、12
    • C、13
    • D、14

    正确答案:C

  • 第10题:

    若有定义:int a[10],*p=a;则表示数组元素a[3]的错误选项是()。

    • A、*(a+=3)
    • B、*(p+=3)
    • C、*(a+3)
    • D、p[3]

    正确答案:A

  • 第11题:

    单选题
    若有定义:int a[10],*p=a;则表示数组元素a[3]的错误选项是()。
    A

    *(a+=3)

    B

    *(p+=3)

    C

    *(a+3)

    D

    p[3]


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

  • 第12题:

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

    元素a[5]的值

    B

    元素a[5]的地址

    C

    元素a[6]的值

    D

    元素a[6]的地址


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

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。

    A.语句int*p=a;定义不正确

    B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int*p=a;是把a[0]的值赋给变量p

    D.语句iht*p=a;是把a[l]的值赋给变量p


    正确答案:B

  • 第15题:

    设有以下定义和语句 int a[3] [2] ={1,2,3,4,5, 6,}, *p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是

    A.a[0][1]

    B.a[1][0]

    C.a[1][1]

    D.a[l][2]


    正确答案:C
    解析:本题中首先定义了一个3行2列的数组a,一个长度为3的指针数组p,接着把地址a[1]赋给P[1]此时p[0]为a[1][0]的地址,p[0]+1为a[1][1]的地址,故*(p[0]+1)代表的元素为s[1][1]。所以,4个选项中选项C符合题意。

  • 第16题:

    执行下面的语句后,表达式*(p[0]+1)+**(q+2)的值为______。 int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;

    A.8

    B.7

    C.6

    D.5


    正确答案:D
    解析:p为指针数组,其元素分别为指向数组a的4个元素的指针。q为指向指针的指针变量,其初值为指针数组p的首地址。所以:表达式*(p[0]+1)+**(q+2)=*(a+3+1)+**(p+2)即是*(a+4)+*(a+1)=a[5]+a[2]=1+4=5。

  • 第17题:

    设有定义int y=5;,则执行以下语句后,y的值为______。 y=--y-5;

    A.-5

    B.-1

    C.-4

    D.运行时出现异常


    正确答案:B

  • 第18题:

    若有下列定义,则对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]引用的是数组的首地址。

  • 第19题:

    设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int(*Ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是_______。

    A.*((*ptr+1)[2])

    B.*(*(p+5))

    C.(*ptr+1)+2

    D.*(*(a+1)+2)


    正确答案:D
    解析:*(p+5)所指向的数组元素是a[1][2],所以B不对;ptr所指向的是—个含有三个元素的一维数组,所以A和C是错误的。

  • 第20题:

    若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()

    • A、7
    • B、8
    • C、9
    • D、10

    正确答案:B

  • 第21题:

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

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

    正确答案:A

  • 第22题:

    已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式*(p[0]+1)+**(q+2)的值是()。

    • A、5
    • B、4
    • C、6
    • D、7

    正确答案:A

  • 第23题:

    单选题
    设有定义:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;若0≤i≤9,则对a数组元素的引用错误的是(  )。
    A

    a[10]

    B

    *(&a[i])

    C

    p[i]

    D

    a[p-a]


    正确答案: B
    解析:
    长度为n的数组其各个元素的下标应该是从0到n-1,因此,长度为10的数组a,第10个元素为a[9],而不是a[10],答案选择A选项。