参考答案和解析
C
更多“若有以下数组说明,则i=10;a[a[i]]元素数值是() int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};”相关问题
  • 第1题:

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

    A.pp[0][1]

    B.a[10]

    C.p[3][1]

    D.*(*(p+2)+2)


    正确答案:C

  • 第2题:

    以下程序段给数组A的所有元素输入数据,请填空。 include void main () {int a[10],

    以下程序段给数组A的所有元素输入数据,请填空。

    include<iostream. h>

    void main () {

    int a[10], i;

    i=0;

    while (i<10) cin>> 【 】

    }


    正确答案:a[i++]
    a[i++]

  • 第3题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 include main() { int a[10

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include<stdio.h> main() { int a[10]=0; while(i<10)scan("%d"______); : : }

    A.a+(i++)

    B.&a[i+1]

    C.a+i

    D.&a[++i]


    正确答案:A
    解析: a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入—个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第4题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)

    A.*(&a[0][0]+10*i+j)

    B.*(a+i)+j

    C.*(*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第5题:

    本题定义了一个长度为l0的boolean型数组,并给数组元素赋值,要求如果数组元素下标为奇数,则数组元素值 为false,否则为true。 public class javal{ pubhc static void main(String[]args){ boolean b[]= ; for(int i=0;i<10;i++){ if( ) b[i]=false; else ; } for(int i=0;i<10;i++) System.Out.print("bE"+i+"]="+b[i]+","); } }


    正确答案:
    第1处:new boolean[10]
    第2处:i%2 1=0
    第3处:b[i]=true
    【解析】第1处定义了一个长度为10的boolean型数组;第2处判断数组元素下标是否为奇数。第3处不为奇数的情况下数组元素值设为true。

  • 第6题:

    若有以下C语言语句,且0≤i<10,则对数组元素的错误引用是(29)。 int a[i]={1,2,3,4,5,6,?,8,9,0),*p,i; p=a;

    A.*(a+i)

    B.p+I

    C.a[p-a)

    D.*(&a[i])


    正确答案:B
    解析:由于C语言规定数组名代表数组中第一个元素的地址,因此选项A的*(a+i)与a[i]等价。由于指针变量p的初值为数组a的首地址,即p指向a,因此p-a的结果为0,选项C的a[p-a]相当于a[0]。对于选项D,&a[i]代表a[i]的地址,所以*(&a[i])表示该地址所指向的变量a[i]。因此选项A、C和D都能实现对数组a中元素的正确引用。对于选项B,指针变量p指向数组a的首地址,与整数值i相加后,结果仍是地址值,它表示数组a中的第i个元素的地址,显然这不是对数组元素的正确引用。

  • 第7题:

    若有以下定义语句: double a[5],*p=a; int i=0; 对a数组元素错误的引用是( )

    A.a[i]

    B.a[5]

    C.p[4]

    D.p[i]


    正确答案:B

  • 第8题:

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


    正确答案:C
    C

  • 第9题:

    若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};

    • A、10
    • B、9
    • C、6
    • D、5

    正确答案:C

  • 第10题:

    若有说明:int a[10];则对a 数组元素的正确引用是()。

    • A、a[10]
    • B、a[3.5]
    • C、a(5)
    • D、a[10-10]

    正确答案:D

  • 第11题:

    单选题
    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;
    A

    *(*(a+i)+j)

    B

    p[i][j]

    C

    (*(p+i))[j]

    D

    p[i]+j


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

  • 第12题:

    单选题
    若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
    A

    10

    B

    9

    C

    6

    D

    5


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

  • 第13题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。()ineludemain(){int a[10],

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。( ) #inelude<stdio.h> main() {int a[10],i=0; while(i<10)scanf("%d",______); ┇ }

    A.a+(i++)

    B.&a[i+1]

    C.a+i

    D.&a[i++]


    正确答案:D

  • 第14题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入:includemain(){ int a[10],i

    以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include<stdio.h> main() { int a[10],i=0; while(i<10)scanf("%d",______); : : }

    A.a+(i++)

    B.&a[i+1)

    C.a+i

    D.&a[++i]


    正确答案:A
    解析:a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入一个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第15题:

    若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。

    A.*(*(a+i.+j.

    B.(a+i.[j]

    C.*(a+i+j.

    D.*(a+i.+j


    正确答案:A
    本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行。*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

  • 第16题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;

    A.*(*(a+i)+j)

    B.p[i][j]

    C.(*(p+i))[j]

    D.p[i]+j


    参考答案:D

  • 第17题:

    若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )

    int a [ ]={1,2,3,4,5,6,7,8,9,0};

    int*p,I

    p=a;

    A.* (a+I)

    B.a[p-a]

    C.p+I

    D.* (&a[I])


    正确答案:C

  • 第18题:

    若有以下语句,则对数组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项元素的值,外面再加指针运算符没有意义。

  • 第19题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)

    A.*(&a[0][0]十10*i+j)

    B.*(a+i)+j

    C.*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第20题:

    若有定义:“int x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()


    正确答案:*(x+i)

  • 第21题:

    若有以下数组说明,inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};则i=10;则a[a[i]]元素数值是()

    • A、6
    • B、10
    • C、9
    • D、5

    正确答案:A

  • 第22题:

    填空题
    若有定义:“int x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()

    正确答案: *(x+i)
    解析: 暂无解析

  • 第23题:

    单选题
    若有以下程序段,则数组b中列下标为偶数的元素之和是() int a[12],b[3][4],i,j; for(i=0;i<12;i++)a[i]=i+1;for(i=0;i<3;i++) for(j=0;j<4;j++)b[i][j]=a[i*4+j]
    A

    42

    B

    15

    C

    36

    D

    24


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

  • 第24题:

    单选题
    若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(  )。
    A

    m[--i]

    B

    m[2*2]

    C

    m[m[0]]

    D

    m[m[i]]


    正确答案: A
    解析:
    在C语言中,数组的下标是从0开始的,所以它的上限是数组元素个数减1。如果超过这个范围来引用数据元素就会溢出,造成运行时错误。本题的数组m有5个元素,所以它的下标范围是0~4。A项,--i的值为3;B项,2*2的值为4;C项,m[0]等于5,超出范围,出现溢出错误;D项,m[i]的值为4,即m[4]的值为1。答案选择C选项。