更多“若有如下定义:int s[3][4];则下面表达式中能代表数组元素s[1][0]的值的是()A.*(s+1)B.s[1]C.s+1D ”相关问题
  • 第1题:

    若有说明“int s[3][4]={0}:”,则下面正确的叙述是______。

    A.只有元素s[0][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D

  • 第2题:

    设有定义语句: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。

  • 第3题:

    若有定义int w[3][5];,则以下不能正确表示该数组元素的表达式是

    A.*(*w+3)

    B.*(*w+1)[4]

    C.*(*(*w+1))

    D.*(&w[0][0]+1)


    正确答案:C
    解析:在C语言中,二维数组的名字表示的是二维数组的地址,表达式*(w+1)表示的是二维数组的第一行的第二个元素。在其前面再加上*(*(w+1))就是错误的表达式。

  • 第4题:

    若有如下程序段,其中s. a. b. c均已定义为整型变量,且a. c均已赋值(c大于0) s=a; for (b=1;b <=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是

    A.s=a+b;

    B.s=a+c;

    C.s=s+c;

    D.s=b+c;


    正确答案:B
    解析:本题考核的知识点是for循环次数的计算.本程序中for循环的次数为c-1+1共循环了c次,而每循环一次s的值加1,所以s的值为s+c.而最开始s的值为a,故4个选项中选项B符合题意.

  • 第5题:

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11S

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。

    A.0

    B.1

    C.11

    D.3


    正确答案:A
    本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。

  • 第6题:

    设有以下定义和语句: 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.s[1][1]

    D.a[1][2]


    正确答案:C
    解析:*p[3]是指针数组,它由3个指向整型数据的指针元素组成,p[0]=a[1]是将a数组第一行的首地址赋给第0个指针元素,p[0]+1表示a[1]+1即a[1][1]的地址,所以*(p[0]+1)表示a[1][1]。

  • 第7题:

    若有定义:int aa[8];则以下表达式中不能代表数组元素aa[1]的地址是

    A.&aa[0]+1

    B.&aa[1]

    C.&aa[0]++

    D.aa+1


    正确答案:C
    解析:在C语言中,数组的地址和数组中的第一个元素的地址相同。数组中第一个元素地址的表示方法为&aa[0],与其等价的有&aa[0)++;选项A为数组的第1个元素的地址下移一位即是第二个元素aa[1]的地址;B也为数组的第二个元素的地址,选项D中aa表示数组的地址,加1表示数组首地址后移一位,即代表数组元素中的第二个元素aa[1]的地址。

  • 第8题:

    若有说明:int s[2][3]={0};,则下面正确的叙述是______。

    A.只有元素s[0][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D
    解析:给二维数组赋初值时,若所赋初值不足,则给后面的元素自动补初值0。

  • 第9题:

    若有定义:int aa[8];则以下表达式中不能代表数组元素aa [1]的地址的是 ( )

    A.&aa[0]+1

    B.&aa[1]

    C.& aa[0]+ +

    D.aa+1


    正确答案:C

  • 第10题:

    若有说明int s[3][4]={0},则下面叙述正确的是( )。

    A.只有元素s[O][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各个元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D
    解析:本题考查数组的定义和初始化。数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。不足部分的数组元素系统自动以0填充。故本题答案是D。

  • 第11题:

    若s是int型变量,且s=6,则下面表达式的值是() s%2+(s+1)%2


    正确答案:1

  • 第12题:

    单选题
    若有定义:int w[3][5];则以下不能正确表示该数组元素的表达式是(  )。
    A

    *(w+1)[4]

    B

    *(*w+3)

    C

    *(*(w+1))

    D

    *(&w[0][0]+1)


    正确答案: D
    解析:
    a数组元素可用五种表达式来引用:①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④(*(a+i))[j];⑤*(&a[0][0]+N*i+j)。A项,C语言中规定,方括号的优先级高于*,相当于*((w+1)[4]),不能表示数组元素。B项,*w是w[0]的地址,*w+3是w[0][3]的地址,表示数组元素w[0][3];C项,*(w+1)是w[1]的地址,表示数组元素w[1][0];D项,&w[0][0]是元素w[0][0]的地址,&w[0][0]+1是元素w[0][1]的地址,表示数组元素w[0][1]。答案选择A选项。

  • 第13题:

    若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则指针对s数组中第三个元素的正确引用形式是( )。

    A.p[0][3]

    B.p[1][2]

    C.p[0][2]

    D.p[1][3]


    正确答案:C
    解析:“p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素是下标为0行的2列元素,即p[0][2]。

  • 第14题:

    若有以下定义和语句: int s[4][5],( *ps)[5]; ps=s; 则对s数组元数的正确引用形式是

    A.ps+1

    B.*(ps+3)

    C.ps[0][2]

    D.*(ps+1)+3


    正确答案:C
    解析:本题首先定义了一个4行5列的数组s,又定义了一个指向由5个元素组成的一维数组的指针变量ps,通过赋值让ps指向了数组s的首地址。此时数组元素s[i)[j]的地址为“*(ps+i)+j”,数组元素s[i][j]可表示为*(*(pe+i)+j);选项B表示的是数组元素a[3][0]的地址;选项D表示的是数组元素s[1][3]的地址;选项A中“ps+1”为指向下一行(第二行)的地址;选项C中ps[0][2]无条件等价于“*(ps[0]+2)”又无条件等价于“*(*(pe+0)+2)”,即是数组元素s[0][2]。

  • 第15题:

    若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是( )。

    A.ps+1

    B.*(ps+3)

    C.ps[0][2]

    D.*(ps+1)+3


    正确答案:C

  • 第16题:

    若有如下定义和语句: int s[4][5],(*p)[5]; p=S; 则指针对s数组中第三个元素的正确引用形式是( )。

    A.p[0][3]

    B.p[1][2]

    C.p[0][2]

    D.p[1][3]


    正确答案:C
    解析: “p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素为下标为0行的2列,即p[0][2]。

  • 第17题:

    若有说明:int [3][4]={0};则下面叙述正确的( )。

    A.只有元素s[0][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各个元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D

  • 第18题:

    若有如下定义: int s[3] 则下面表达式中不能代表数组元素s[1]的地址的是( )

    A.&s[1]

    B.&s[0]+1

    C.s+1

    D.s++


    正确答案:D

  • 第19题:

    若有说明ints[3][4]={0},则下面叙述正确的是( )。

    A.只有元素s[0][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各个元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D
    解析:本题考查数组的定义和初始化。数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。不足部分的数组元素系统自动以0填充。故本题答案是D。

  • 第20题:

    若有说明:int s[3][4]={0}则下面叙述正确的( )。

    A.只有元素s[0][0]可得到初值0

    B.此说明语句不正确

    C.数组s中各个元素都可得到初值,但其值不一定为0

    D.数组s中每个元素均可得到初值0


    正确答案:D

  • 第21题:

    若有定义:int aa[8],则以下表达式中不能代表数组元素a[1]地址的是 ______。

    A.&aa[0]+1

    B.&aa[1]

    C.&aa[0]++

    D.aa+1


    正确答案:C

  • 第22题:

    若有定义doublea[10],*s=a;以下能代表数组元素a[3]的是()

    • A、(*s)[3]
    • B、*(s+3)
    • C、*s[3]
    • D、*s+3

    正确答案:B

  • 第23题:

    若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是()。

    • A、ps+1
    • B、*(ps+3)
    • C、ps[0][2]
    • D、*(ps+1)+3

    正确答案:C