C语言程序设计

数组定义为“inta[4][5];”,表达式()是错误的。A、*aB、a[1][1]C、&a[2][3]D、++a

题目

数组定义为“inta[4][5];”,表达式()是错误的。

  • A、*a
  • B、a[1][1]
  • C、&a[2][3]
  • D、++a
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下菌的一撒数组定义中,()语句有谱法错误。

A.inta[]={1,2,3}

B.inta[10]={0}

C.inta[]="abcdef"

D.inta[5]


正确答案:C

第2题:

在下面的二维数组定义中,正确的是()。

A.inta[5][];

B.inta[][5];

C.inta[][3]={{1,3,5},{2}};

D.inta[](10);


正确答案:C

第3题:

若有定义:inta[5]={3,5,4,6,8},*p=a;则引用数组元素错误的是()。

A.a[3]

B.*(a+1)

C.&a[2]

D.p[2]


正确答案:C

第4题:

以下数组定义中,正确的是()

A.inta[2][]={1,2,3,4,5}

B.inta[][2]={{0},{}}

C.inta[2][2]={{1,2},{3}}

D.inta[][]={1,2,3,4}


参考答案:C

第5题:

定义如下一维数组: inta[5],*p=a; 则下面描述中,错误的是( )。

A.表达式p=p+1是合法的

B.表达式a=a+1是合法的

C.表达式p-a是合法的

D.表达式a+2是合法的


正确答案:B
解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

第6题:

在下面的一维数组定义中,哪一个有语法错误()。

A.inta[]={1,2,3};

B.inta[10]={0};

C.inta[];

D.inta[5];


正确答案:C

第7题:

以下一维数组a正确的定义是()

A.inta(5)

B.intn=5,a[n]

C.inta[SZ]其中SZ为符号常量

D.inta{5}


正确答案:C

第8题:

在下面的一维数组定义中,错误的定义格式为()。

A、inta={1,2,3}

B、)inta[10]={O}

C、inta[]

D、inta[5]


参考答案:C

第9题:

若有定义:“inta=4,b=5;floatx=3.4,y=2.1;”,则下列表达式的值为( )。 A.5.5B.55

若有定义:“inta=4,b=5;floatx=3.4,y=2.1;”,则下列表达式的值为( )。

A.5.5

B.55

C.5.500000

D.55.00000


正确答案:C
在计算(float)(a+b)/2时,由于通过强制类型转换将(a+b)转换成了float型,所以应先将2转换成float型,再进行计算,得4.500000。在计算(int)x%(int)y时,先将x和y通过强制类型转换成int型,再进行求余运算,结果为1。又因为4.500000是float型,所以将1和它相加时,先将1换成float型,再计算,得到5.500000。类型转换的一般规则是低级类型从高级类型进行相应的转换。数据类型的级别由低到高的排序表示为:char→int→unsigned→log→float→double。

第10题:

要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是

A.intA[]={3,9,4,8,0,0,0};

B.intA[9]={3,9,4,8,0,0,0};

C.intA[]={3,9,4,8};

D.intA[7]={3,9,4,8};


正确答案:C
解析:本题考核一维数组在定义时的初始化。当数组声明时没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定,由此可知C) 选项中数组A只有4个元素,与题目要求不符。