问题详情

以下叙述中错误的是A.对于float类型数组,不可以直接用数组名完成对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值是常量,是不可改变的C.当执行程序时,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数


A、对于float类型数组,不可以直接用数组名完成对数组进行整体输入或输出

B、数组名代表的是数组所占存储区的首地址,其值是常量,是不可改变的

C、当执行程序时,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D、可以通过赋初值的方式确定数组元素的个数

时间:2022-01-05 12:24 关键词:

答案解析

C
选项A“对于float类型数组,不可以直接用数组名完成对数组进行整体输入或输出”,是正确的。C语言中规定,只有字符型的数组才可以用数组名完成对数组进行整体输入或输出,主要是因为没有字符串型的变量,通常用一个字符数组来存放字符串。采用字符串方式后,便可用数组名对数组进行整体输入和输出。选项B“数组名代表的是数组所占存储区的首地址,其值是常量,是不可改变的”,是正确的。数组名本身是没有方括号和下标的,它实际上是表示数组起始的地址,该地址在数组初始化时由系统分配。选项C“当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出‘下标越界’的出错信息”,是错误的。在某些编程语言中,下标的取值是不允许超出数组定义中所设的界限的。但是在C和C++中,编译器不对下标的范围进行检查。不检查下标范围的目的有两个,一个是提高运行效率,不检查下标,程序编译耗费时间少。另一个是能够方便指针的使用,数组名并没有包含该数组长度的信息,只包含地址信息,可以看成是一个指针,若检查下标,将限制数组名的使用功能。选项D“可以通过赋初值的方式确定数组元素的个数”是正确的。C语言规定,如果对数组中所有的元素赋初值,可以省略定义元素的个数。