更多“若有以下定义: double w[100]; 则w数组元素下标的上限为()。”相关问题
  • 第1题:

    若有定义:double a[3][5];那么数组a的最后一个元素是【 】。


    正确答案:a[2][4]
    a[2][4] 解析:C++中,数组每一维的下标都是从0开始,到n-1结束。因此a[3][5]共有15个元素,最后一个元素是a[2][4]。

  • 第2题:

    若有以下类型说明语句: char w;int x;float y, z; 则表达式w*x+z-y的结果为______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算;需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,shor→int→unsigned→long→double←float,故结果为float型。

  • 第3题:

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

  • 第4题:

    若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是int w[10] = {23,54,10,33,47,98,72,80,61},*p = w;


    正确答案:p[5](或*(p + 5))
    98是数组w的第5个元素(最开始的为第0个),而通过*p=w已经将p指向了数组w,要想不移动指针p而引用数据元素98,可以有以下两种方法:p[5]、*(p + 5)。

  • 第5题:

    若有定义“intb[8],*p=b;”,则p+6表示( )。A.数组元素b[6]的值B.数组元素b[6]的地址SX

    若有定义“intb[8],*p=b;”,则p+6表示( )。

    A.数组元素b[6]的值

    B.数组元素b[6]的地址

    C.数组元素b[7]的地址

    D.数组元素b[0]的值加上6


    正确答案:B
    指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中“P+6”指的是将指针向后移动了6个存储单元,即指向uE63,存放的是b[6]的地址。

  • 第6题:

    若有定义:intw[3][5],则以下不能正确表示该数组元素的表达式是______。

    A.*(*w+3)

    B.*(w+1)[4]

    C.*(*(w+1))

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


    正确答案:B
    解析: *(w+1)[4]越界了,(w+1)指向二维数组的第二行,因此(w+1)[4]指向二维数组的第5行导致越界;其他选项都能正确表示数组元素,其中选项A:w[0][3];选项C:w[1][0];选项D:w[0][1]。

  • 第7题:

    若有以下定义和语句,则下列选项中对w数组元素非法引用的是______。 int w[2] [3], (*pw) [3]; pw=w;

    A.w[0]+2

    B.*(pw+1)[2]

    C.pw[0][0]

    D.*(pw[1]+2)


    正确答案:B

  • 第8题:

    若有以下类型说明语句: charw;intx;floaty,Z; 则表达式w*x+z-y的结果为_______类型。

    A.float

    B.char

    C.int

    D.double


    正确答案:A
    解析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,short→int→unsigned→long→double←float,故结果为float型。

  • 第9题:

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

    A.a[i]

    B.a[5]

    C.p[4]

    D.p[i]


    正确答案:B

  • 第10题:

    若有定义:double x[3][5],则x数组中行下标的下限为(),列下标的下限为()。


    正确答案:2;4

  • 第11题:

    单选题
    定义和语句是:int w[2][3],(* pw)[3];pw=w;则对w数组元素的非法引用是()
    A

    * (w[O]+2)

    B

    * pw[2]

    C

    pw[0][O]

    D

    * (pw[1]+2)


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

  • 第12题:

    单选题
    若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x数组元素的是(  )。
    A

    * p

    B

    x[5]

    C

    *(p+1)

    D

    *x


    正确答案: C
    解析:
    引用一维数组元素有多种方式。直接引用的表达式为:数组名[下标],数组大小为n时,下标的取值范围为0~(n-1),所以本题中x的下标为0~4,x[5]溢出,B项错误。此外还可以通过指针引用一维数组元素。指针p指向该数组,所以*p表示x[0],A项正确;指针p+1指向数组x的第二个元素的地址,*(p+1)表示引用x的第二个元素,C项正确;x为x数组元素的首地址,*x表示对x[0]的引用,D项正确。答案选择B选项。

  • 第13题:

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

    A.*(*w+3)

    B.*(w+1)[4]

    C.*(*(w+1))

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


    正确答案:B
    解析:选项A:*(*w+3)=*(*(w+0)+3)=*(w[0]+3)=w[0][3],符合数组定义的范围可以正确表示数据元素。
         选项B:*(w+1)[4]=*(*(w+1)4=*w[5]=w[5][0],超出了数据定义的范围。
         选项C:*(*(w+1))=*w[1]=w[1][0],符合数组定义的范围可以正确表示数据元素。
         选项D:*(&w[0][0]+1);=*(w[0]+1)w[0][1],符合数组定义的范围可以正确表示数据元素。

  • 第14题:

    若有定义:doublex[3][5];则数组中列下标的上限为4。()

    此题为判断题(对,错)。


    参考答案:正确

  • 第15题:

    若有以下定义和语句,则对w数组元素的非法引用是 ______。 int w[2][4],(*pw)[4];pw=w;

    A.*(w[0]+2)

    B.*pw[2]

    C.pv[0][0]

    D.*(pw[1]+2)


    正确答案:B

  • 第16题:

    若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则

    若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是( )。

    A.*q=0;

    B.w=p;

    C.*p=a;

    D.*p=*w;


    正确答案:A
    解析:本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将q指向NULL。因为q指向NULL,所以选项A中对q所指地址进行写入是非法的。故A选项为所选。

  • 第17题:

    若有下列定义,则( )是对a数组元素地址的正确引用。A.B.C.D.A.AB.BC.C

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

    A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    本题考查数组元素地址的引用。选项A中,p+5引用的是.[5]的地址,而数组a只有5个元素,即a[o]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);选项B中,*a+1指的是将数组a的第1个元素加1;选项C中,不存在这种引用方式;选项D中,&a[0]引用的是数组的首地址。

  • 第18题:

    设有以下变量定义,并已赋确定的值: char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为( )。

    A.char

    B.int

    C.float

    D.double


    正确答案:D
    解析:本题考核表达式计算时数据类型的转换。C++中,参加运算的各个数据类型都转换成数据类型最长的数据类型,然后计算,表达式值的类型也就是数据长度最长的数据类型,在char、int、float、double中,double型的数据最长,所以表达式所求得的数据类型为double。

  • 第19题:

    若有以下定义和语句,则对w数组元素非法引用的是______。 int w[2][3],(*pw)[3];pw=w;

    A.w[0]+2

    B.*(pw+1)[2]

    C.pw[0][0]

    D.*(pw[1]+2)


    正确答案:B
    解析:选项A表示元素w[0][2],选项C表示元素w[0][0],选项D表示元素w[1][2],而选项B中pw+1表示第2行元素的地址,(pw+1)[2]相当于(pw+1)+2,表示第4行元素的地址,显然超出该二维数组的范围。

  • 第20题:

    若有定义和语句: int w[2][3],(* pw)[3];pw=w; 则对w数组元素的非法引用是 ( )

    A.* (w [0] +2)

    B.* (pw+1)[2]

    C.pw[0][0]

    D.* (pw [1]+2)


    正确答案:B

  • 第21题:

    定义和语句是:int w[2][3],(* pw)[3];pw=w;则对w数组元素的非法引用是()

    • A、* (w[O]+2)
    • B、* pw[2]
    • C、pw[0][O]
    • D、* (pw[1]+2)

    正确答案:B

  • 第22题:

    在VisualFoxPro中,用DIMENSION W(2,3)定义数组后,数组W包含的元素个数是()。

    • A、2
    • B、3
    • C、5
    • D、6

    正确答案:D

  • 第23题:

    单选题
    在VisualFoxPro中,用DIMENSION W(2,3)定义数组后,数组W包含的元素个数是()。
    A

    2

    B

    3

    C

    5

    D

    6


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

  • 第24题:

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