参考答案和解析
456
更多“有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是()。”相关问题
  • 第1题:

    若已定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是

    A.a[p-A)

    B.*(&a[i])

    C.p[i]

    D.a[10]


    正确答案:D
    解析: 通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。

  • 第2题:

    ( 9 )有如下的函数定义:

    int Xfun(int x){

    int y=x;

    {int x=10; y+=x;}

    return x+y;

    }

    通过表达式 Xfun(5) 调用该函数,则得到的返回值为 【 9 】 。


    正确答案:

  • 第3题:

    若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( )

    A.a[g-c]

    B.a[4]

    C.a['d'-'c']

    D.a['d'-c]


    正确答案:D

  • 第4题:

    有以下语句,则对a数组元素的引用不正确的是(0≤i≤9) int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

    A.a[p=a)

    B.*(&a[i])

    C.p[i]

    D.*(*(a+i)


    正确答案:D
    解析:选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

  • 第5题:

    设有以下语句,则()是对a数组元素的不正确引用,其中0<=i<10。int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

    A.a[p-a]

    B.*(&a[i])

    C.p[i]

    D.*(*(a+i))


    参考答案:D

  • 第6题:

    有以下语句,则对a数组元素的引用不正确的是int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

    A.a[p-a]

    B.*(&a[i])

    C.p[i]

    D.*(*(a+i))


    正确答案:D
    解析:本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

  • 第7题:

    若有以下语句,则对数组a元素的引用不正确的是(0≤i≤9)( )。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

    A.a[p-a]

    B.*(&a[i])

    C.p[i]

    D.*(*(a+i))


    正确答案:D
    解析:本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

  • 第8题:

    已知int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;不能表示数组a中元素的式子是()

    • A、*a
    • B、*p
    • C、a
    • D、a[p-a]

    正确答案:C

  • 第9题:

    有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是()

    • A、*P+9
    • B、*(P+8)
    • C、*P+=9
    • D、P+8

    正确答案:B

  • 第10题:

    单选题
    设有定义: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选项。

  • 第11题:

    单选题
    若有以下说明:int [10]={1,2,3.4,5,6,7,8,9,10},*p= a;则数值为6的表达式是()
    A

    p+6

    B

    *(p+6)

    C

    p+=5

    D

    p+5


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

  • 第12题:

    单选题
    设有以下语句,则()是对a数组元素的不正确引用,其中0<=i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
    A

    a[p-a]

    B

    *(&a[i])

    C

    p[i]

    D

    *(*(a+i))


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

  • 第13题:

    有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是

    A.*p+9

    B.*(p+8)

    C.*p+=9

    D.p+8


    正确答案:B
    解析:本题考查的是指针的运用。因为指针p初始指向数组a的首地址,所以*p返回的是数组元素a[0]的值,因此选项A的结果是1+9=10;选项B是取指针p往后移动8个单位位置处的值,即a[8]的值9;选项C中表达式的值和选项A相同,只不过选项C中的表达式会改变a[0]的值;选项D的值是一个地址值,即数组元素 a[8]的地址值,该值无法确定。所以,4个选项中只有选项B正确。

  • 第14题:

    若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为6的表达式是_______。

    A.*p+6

    B.*(p+6)

    C.*p+=5

    D.p+5


    正确答案:C
    解析:选项A,*p+6,其值等于1+6=7;选项B,*(p+6),其值等于a[6]=7;选项C,*p+=5,其值等于*p=*p+5=1+5=6;选项D,p+5是个地址值。

  • 第15题:

    有如下定义: int a[5]={1,3,5,7,9}, * p=a; 下列表达式中不能得到数值5的是

    A.a[2]

    B.a[3]

    C.*(p+2)

    D.*p+4


    正确答案:B

  • 第16题:

    有如下说明int a[10]={1,2,3,4,5,6,7 },*p=a;则数值为5的表达式是A.*p+4 B.*(p+4) C.*p+=4 D.p+4


    正确答案:B
    本题考查C语言的数组元素的引用方法。我们在前面已经讲过了,比如数组元素a[0],可以用表达式*(p+0)即*p来引用;对于数组元素a[1],可以用表达式*(p+1)来引用,在这里,p+1的值就是数组元素a[1]的地址,对此地址使用“间接访问运算符”*(p+1)就代表存储单元a[1],注意,一对圆括号不可少。同样,对于数组元素a[2],则可以用表达式*(p+2)来引用,……,对于数组元素a[9],可以用表达式*(p+9)来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i10,则数组元素a[i]可以用*(p+i)来表示。

  • 第17题:

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB

    有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

    A.*P+9

    B.木(P+8)

    C.*P+=9

    D.P+8


    正确答案:B
    本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

  • 第18题:

    有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。 A.a[2]SXB

    有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。

    A.a[2]

    B.a[3]

    C.*(P+2)

    D.+P+4


    正确答案:B
    本题考查指向数组的指针,本题中指针变量P指向数组a,直接使用数组下标即可取值,数组F标是从0开始标号的,所以a[2]能取到5,而a[3]取不到5,(:选项中使用指针后移方法能够取到5,D选项中*P为1,所以*P+4为5。

  • 第19题:

    若有说明“int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;”,则数值为9的表达式是()。

    • A、*p+9
    • B、*(p+8)
    • C、*p+=9
    • D、p+8

    正确答案:B

  • 第20题:

    若有以下说明,int?a[12]={1,2,3,4,5,6,7,8,9,10,11,12};?则数值为4的表达式是()

    • A、a[4]
    • B、a(3)
    • C、a[3+1]
    • D、a[4]-a[0]

    正确答案:D

  • 第21题:

    设有以下语句,则()是对a数组元素的不正确引用,其中0<=i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

    • A、a[p-a]
    • B、*(&a[i])
    • C、p[i]
    • D、*(*(a+i))

    正确答案:D

  • 第22题:

    单选题
    若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5 的语句为()。
    A

    printf(%d,*p[5]);

    B

    printf(%d,p[5]);

    C

    printf(%d,*(p+5));

    D

    printf(%d,*(a+5));


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

  • 第23题:

    单选题
    有如下定义:int b[10]=1,2,3,4,5,6,7,8,9,10,*q=b;则数值为8的表达式是(  )。
    A

    *q+8

    B

    *(q+7)

    C

    *q+=8

    D

    q+7


    正确答案: B
    解析:
    数组的下标是从0到数组的长度减1。*(p+i)是取数组的
    第i+1个元素,即下标为i的元素。因此*(p+7)取数组的第八个元素,即元素8

  • 第24题:

    单选题
    若有说明“int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;”,则数值为9的表达式是()。
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+8


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