单选题设有定义double x[10],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是(  )。A scanf("%f",&x[6]);B scanf("%1f",*(x+6));C scanf("%1f",p+6);D scanf("%1f",p[6]);

题目
单选题
设有定义double x[10],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是(  )。
A

scanf("%f",&x[6]);

B

scanf("%1f",*(x+6));

C

scanf("%1f",p+6);

D

scanf("%1f",p[6]);


相似考题
更多“设有定义double x[10],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是(  )。”相关问题
  • 第1题:

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

  • 第2题:

    设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_()

    A、for(i=0;i<6;i++)printf(“%2d”,*(p++));

    B、for(i=0;i<6;i++)printf(“%2d”,*(p+i));

    C、for(i=0;i<6;i++)printf(“%2d”,*p++);

    D、for(i=0;i<6;i++)printf(“%2d”,(*p)++);


    参考答案:ABC

  • 第3题:

    设有定义:int x[2][3];,则以下关于二维数组X的叙述错误的是( )。

    A.x[0]可看做是由3个整型元素组成的一维数组

    B.x[0]和x[l]是数组名,分别代表不同的地址常量

    C.数组X包含6个元素

    D.可以用语句x[o]=0;为数组所有元素赋初值0


    正确答案:D
    x[0]是不能赋值的。

  • 第4题:

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


    正确答案:B
    解析:本题定义了一个有5个数组元素的—维数组x和指针变量p,且将x的首地址(即x[0])的地址)赋给了指针变量p,即p指向了x数组的第0号元素,所以*p的值为x[0]的值,选项A的引用正确;由于p+1就是x[1]的地址,所以*(p+1)所指向的数组元素为x[1],故选项C的引用正确;由于x就是数组x的首地址,所以*x即对x[0]的引用,所以选项D引用正确;由于数组最大下标是元素个数减一,所以选项B的引用越界。

  • 第5题:

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


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

  • 第6题:

    设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

    A.scanf("%f",&x[6])

    B.scanf("%lf",*(x+6));

    C.scanf("%lf",p+6)

    D.scanf("%lf",p[6]);


    正确答案:C

  • 第7题:

    设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第8题:

    (24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

    A)scanf("%f",&x[6]);

    B)scanf("%lf",*(x+6));

    C)scanf("%lf",p+6);

    D)scanf("%lf",p[6]);


    正确答案:C

  • 第9题:

    设有定义语句int,a[]={1,1,2};则以下对此语句的叙述错误的是()

    • A、定义了一个名为a的一维数组
    • B、a数组有3个元素
    • C、a数组的下标为1~3
    • D、数组中的每个元素是整型

    正确答案:C

  • 第10题:

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


    正确答案:2;4

  • 第11题:

    单选题
    设有定义 int x[2][3]; 则以下关于二维数组x的叙述中错误的是(  )。
    A

    x[0]可看作是由3个整型元素组成的一维数组

    B

    x[0]和x[1]是数组名,分别代表不同的地址常量

    C

    数组x包含6个元素

    D

    可以用语句x[0]=0;为数组所有元素赋初值0


    正确答案: B
    解析:
    在二维数组中,不能使用x[0]=0这样的赋值语句,x[0]代表一个一维数组。答案选择D选项。

  • 第12题:

    单选题
    假定一条定义语句为“inta[10],X,*pa=a;”,若要把数组a中下标为3的元素值赋给X,则不正确的语句为()。
    A

    x=pa[3]

    B

    x=*(a+3)

    C

    x=a[3]

    D

    x=*pa+3


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

  • 第13题:

    假定一条定义语句为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则正确的语句为()。

    A、x=pa[3];

    B、x=*(a+3);

    C、x=a[3];

    D、x=*pa+3;


    参考答案:ABC

  • 第14题:

    已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中O<=xl<x2<n,x2+k<n,请将下列语句补充完整。

    For(int i=x1+k-1;i>=x1;i--)

    a[______]=a[i];


    正确答案:X2+k-1
    X2+k-1 解析:此题考查的是数组的操作。a[i]表示从下标x1开始的第i个元素,若为第一次循环,则i为xt+k-1,按照题目将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中的要求,所以将a[i]赋值给下标为X2+k-1的元素。

  • 第15题:

    设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。

    A.p=x;

    B.* p=x;

    C.p=NULL;

    D.* p=NULL;


    正确答案:C
    如果没有把P指向一个指定的值,*P是不能被赋值的。定义指针变量不赋初始值时默认为null。

  • 第16题:

    假定有定义“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为(43)。

    A.x=pa[3];

    B.x=*(a+3);

    C.x=a[3];

    D.x=*pa+3;


    正确答案:D
    解析:前3种都是数组中下标为3的元素的正确的定位形式,D得到的是数组的初始指针位置加3后的指针位置,即a中下标为3的元素的地址。

  • 第17题:

    若有定义语句: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正确。

  • 第18题:

    设有定义:“double x[10],*p=x;”,以下能给数组x下标为6的元素读人数据的正确语句是( )。

    A.scanf("%f"&x[6]);

    B.scanf("%If",*(x+6));

    C.scanf("%if",p+6);

    D.scanf("%if",p[6]);


    正确答案:C
    由题中给出数组要给下标为6的数组赋值,其中x[6]实际上是第6个数,下标为5,因为数组是从0开始计算,所以正确的表示方法为C。

  • 第19题:

    若有定义语句“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开始的。

  • 第20题:

    若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。

    Ax=pa[3];

    Bx=*(a+3);

    Cx=a[3];

    Dx=*pa+3;


    D

  • 第21题:

    假定一条定义语句为“inta[10],X,*pa=a;”,若要把数组a中下标为3的元素值赋给X,则不正确的语句为()。

    • A、x=pa[3]
    • B、x=*(a+3)
    • C、x=a[3]
    • D、x=*pa+3

    正确答案:D

  • 第22题:

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

  • 第23题:

    单选题
    若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。
    A

    x=pa[3];

    B

    x=*(a+3);

    C

    x=a[3];

    D

    x=*pa+3;


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

  • 第24题:

    单选题
    设有定义double x[10],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是(  )。
    A

    scanf("%f",&x[6]);

    B

    scanf("%1f",*(x+6));

    C

    scanf("%1f",p+6);

    D

    scanf("%1f",p[6]);


    正确答案: B
    解析:
    scanf函数的一般形式为:scanf(格式控制字符串,地址列表);,其中的地址列表应当是存放输入数据变量的地址。A项,“%f”格式符对应的是float类型的变量;BD两项,*(x+6)和p[6]都表示下标为6的元素的值而非其地址;C项,p+6表示数组x下标为6的元素的地址。答案选择C选项。