更多“单选题若有以下定义:int x[10],*pt=x;则对x数组元素的正确引用是(  )。A *x[10]B *(x+3)C *(pt+10)D pt+3”相关问题
  • 第1题:

    若有int x[5],*p=x;则数组元素x[3]可以表示为*(p+【 】),也可以表示为p[3]。


    正确答案:3
    3

  • 第2题:

    若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x;

    A.*(--ptr)

    B.*(ptr--)

    C.*(ptr++)

    D.*(++ptr)


    参考答案A

  • 第3题:

    若有定义:byte[]x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是 ( )

    A.x[5-3]

    B.x[k]

    C.x[k+5]

    D.x[0]


    正确答案:C
    解析:该题考查的是数组。本题中定义的数组x拥有4个元素,于是下标的取值范围应为0~3,所以对x数组元素的引用下标不能超出它的下标范围。选项A的引用是x[5 -3)即x[2],所以它的引用是正确的;选项B的引用也是正确的,k的范围没超出下标范围;选项C的引用x[k+5]是错误的,它超出了下标范围;选项D的引用是正确的。

  • 第4题:

    若有以下定义 intx[10],*pt=x; 则对x数组元素的正确引用是______。

    A.*&x[10]

    B.*(x+3)

    C.*(pt+10)

    D.pt+3


    正确答案:B
    解析:本题主要考查的是数组的引用,在C语言中,—个数组不能整体引用。在选项A中,*&X[10]属于地址越界;选项C中,*(pt+10)也是地址越界。选项D中,pt+3是将指针P,后移三个元素,指向x3),并没有对数据元素进行引用。在C语言中,可以用对数组名加—个整数的方法,来依次表示该数组中不同元素的地址,因此,选项B是正确的。

  • 第5题:

    假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4);,则数组x在内存中所占字节数是______。

    A.3

    B.6

    C.10

    D.20


    正确答案:D
    解析:当数组定义后,系统就为其分配内存空间,而不论其中有没有内容。因此,本题中数组x[10]不论是否为其元素初始化,它所分配的存储空间仍为2*10=20个字节。

  • 第6题:

    下列定义数组的语句中,正确的是( )。

    A.int N=10; int x[N];

    B.#define N 10 int x[N];

    C.int x[0..10];

    D.int x[];


    正确答案:B

  • 第7题:

    若有定义语句:int X=10;,则表达式-x =x+X的值为

    A.-20

    B.-10

    C.0

    D.10


    正确答案:B
    解析:x-=x+x可化为:x=x-(x+x),由于x初始值为10,所以计算后,x=10-20=-10,因此选B)。

  • 第8题:

    若有以下定义:

    int x[10],* pt=x;

    则对x数组元素的正确引用是( )。

    A.pt+3

    B.}&x[10]

    C.*(pt+10)

    D.*(x+3)


    正确答案:D
    没有A选项的引用形式。+与&放在一起作用抵消,所以B选项错误,最大只能引用到X[9]。+(pt+i)表示引用指针pt所指元素后的第i个元素,所以c选项错误,最大只能为+(pt+9)。因此D选项正确。

  • 第9题:

    若有定义语句:float x[6];则以下对x数组元素的正确引用形式是()。A.x+2B.&x[6]C.*(x+2)D.*&am

    若有定义语句:float x[6];则以下对x数组元素的正确引用形式是( )。

    A.x+2

    B.&x[6]

    C.*(x+2)

    D.*&x[6]


    正确答案:C
    解析:数组名x为该数组的首地址即第1个元素的地址,x+2表示数组第3个元素的值地址。x[6]表示数组中长度为6,数组元素的下标从0到5,没有x[6]。&为取地址符,取得的是元素的地址。*为间接访问运算符,其运算对象为地址或存放地址的指针变量。*(x+2)为取数组第3个元素的值,因此只有选项C正确引用了数据元素,选项C正确。

  • 第10题:

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。 A.*pSX

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。

    A.*p

    B.x[5]

    C.*(p+1)

    D.*x


    正确答案:B
    B。【解析】选项B中x[5]数组下标越界,数组的下标是从0开始的。

  • 第11题:

    定义一个int类型的有10个无素的数组x,存储于片内RAM,正确的定义语句是:()

    • A、int data x[10];
    • B、int xdata x[10];
    • C、int code x[10];
    • D、int idata x[10];

    正确答案:A

  • 第12题:

    单选题
    若有以下定义:int x[10],*pt=x;则对x数组元素的正确引用是(  )。
    A

    *&x[10]

    B

    *(x+3)

    C

    *(pt+10)

    D

    pt+3


    正确答案: A
    解析:
    数组的下标是从0开始的,故x[10]实际上具体为x[0],x[1],…,x[9],而若使用x[10]就会溢出、编译出错,所以AC两项错误;D项,pt+3指向地址,并未引用到元素;B项的表达正确,代表x[3]中的元素,答案选择B选项。

  • 第13题:

    (29)若有以下定义

    int x[10],*pt=x;

    则对x数组元素的正确应用是

    A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+3


    正确答案:B

  • 第14题:

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

    A.数组元素x[5]的地址

    B.数组元素x[5]的值

    C.数组元素x[6]的地址

    D.数组元素x[6]的值

    E.选项内容11

    F.选项内容11

    G.选项内容11


    参考答案B

  • 第15题:

    若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;

    A.example.x=10

    B.example v2.x=10

    C.struct v2;v2.x=10

    D.struct example v2={10};


    正确答案:D
    解析:在定义结构体变量时,不能只用结构体名example或关键字struct进行定义,必需要用结构体类型名structexample定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

  • 第16题:

    若有下列定义 intx[10],*pt=x; 则对x数组元素的正确引用是( )。

    A.*&*[10]

    B.*(x+3)

    C.*(pt+10)

    D.pt+3


    正确答案:B
    B。【解析】在C语言中,数组名是一个存放地址值的指针变量名,其地址值是数组第。一个元素的地址,也是数组所占一串连续存储单元的起始地址。因为数组的下标是从0开始的,所以选项B中,X+3表示数组x[10]中的第四个元素的地址,在其前面加上星号,表示是数组x[10]中的第四个元素中的值。所以正确答案为选项B。选项A、C的地址范围超出数组x[10]中元素的地址范围,选项D表示的是地址值。

  • 第17题:

    若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;

    A.example.x=10

    B.example v2.x=10

    C.example.x=10

    D.struct example v2={10};


    正确答案:D
    解析:在定义结构体变量时,不能只用结构体名example或关键字struct进行定义,必需要用结构体类型名struct example定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

  • 第18题:

    若有以下结构体,则正确的定义或引用是( )。 struct Test { int x; int y; }v1;

    A.Test.x=10;

    B.Test v2;v2.x=10;

    C.struct Test v2;v2.x=10;

    D.struct Test.v2=10;


    正确答案:C
    解析:定义结构体类型的变量的方式有:①紧跟在结构体类型说明之后进行定义,如题目中给出的;②在说明对结构成员的引用形式为
    结构体变量名.成员名
    选项A对结构成员的引用的形式是错误的,Test是结构体名,不能用来引用结构成员。选项B中定义结构体类型的变量的形式是错误的,Test是结构体名,不能用宋定义结构体类型的变量。选项D中对结构成员的引用的形式是错误的,对结构成员的引用的形式为:结构体变量名.成员名。4个选项中只有选项C是正确的定义或引用。

  • 第19题:

    若有定义语句:int X=10;,则表达式x-=x+x的值为( )。

    A.0

    B.-20

    C.-10

    D.10


    正确答案:C
    算术运算符+的优先级高于-=.且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成;=x-(x+x)=10-(10+10)=-10,选择C。

  • 第20题:

    设有定义:int X[10],+P=x,i;,若要为数组x读人数据,以下选项正确的是( )。


    正确答案:A
    从scanf(“<格式化字符串>”,<地址表>);可知scanf()的第二个参数是地址,因此,从四个答案中可以判断,只有选项A是P[i]的地址,其他的均是变量本身。敌答案为A选项。

  • 第21题:

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0

    若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。

    A.-20

    B.-l0

    C.0

    D.10


    正确答案:B
    表达式x-=x+X可以写成x=x-(x+x),所以X的值为-l0。

  • 第22题:

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


    正确答案:*(x+i)

  • 第23题:

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

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

  • 第24题:

    单选题
    若有定义语句: int x=10; 则表达式x-=x+x的值为(  )。
    A

    -20

    B

    -10

    C

    0

    D

    10


    正确答案: A
    解析:
    单目加运算符优先级高于赋值运算符,所以先做x+x结果为20,再做x-20,结果为-10,然后赋值给x。所以答案选择B选项。