单选题
1、〖第13题〗633) 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。
A
将5个初值依次赋给a[1]至a[5]
B
将5个初值依次赋给a[0]至a[4]
C
将5个初值依次赋给a[6]至a[10]
D
因为数组长度与初值的个数不相同,所以此语句不正确
答案解析
正确答案:B
解析:
**解析:**
在 C 语言中,数组的下标是从 **0** 开始的。对于声明语句 `int a[10]={6,7,8,9,10};`,我们可以从以下几个方面进行分析:
1. **数组定义**:`int a[10]` 定义了一个包含 10 个整型元素的数组,其有效下标范围是 `0` 到 `9`(即 `a[0]` 到 `a[9]`)。
2. **初始化规则**:
* 当使用花括号 `{}` 提供初始值列表时,编译器会将这些值依次赋给数组的前几个元素。
* 赋值从下标为 **0** 的元素开始。因此,`6` 赋给 `a[0]`,`7` 赋给 `a[1]`,`8` 赋给 `a[2]`,`9` 赋给 `a[3]`,`10` 赋给 `a[4]`。
* 如果初始值的个数少于数组的长度(本题中初始值有 5 个,数组长度为 10),剩余的元素(`a[5]` 到 `a[9]`)会自动初始化为 **0**。
3. **选项分析**:
* **A 错误**:数组下标从 0 开始,不是从 1 开始。
* **B 正确**:5 个初值确实依次赋给了 `a[0]` 至 `a[4]`。
* **C 错误**:初始化是从数组开头(下标 0)开始的,而不是从下标 6 开始;且 `a[10]` 已经越界(最大下标为 9)。
* **D 错误**:C 语言允许初始值个数少于数组长度,这是合法的语法,未显式初始化的部分会被默认置零。
综上所述,正确答案是 **B**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第286题 (1.0分) 题号:690 设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。
单选题
1、第285题 (1.0分) 题号:497 C语言能正确处理的指数是()。
单选题
1、第284题 (1.0分) 题号:158 在C语言中,为了结束由while语句构成的循环,while后一对圆括号 中表达式的值应该为()。
单选题
1、第283题 (1.0分) 题号:495 下列字符序列中,是C语言保留字的是()。
单选题
1、第282题 (1.0分) 题号:575 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于 表达式(exp)的是()。
单选题
1、第281题 (1.0分) 题号:551 应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。
单选题
1、第280题 (1.0分) 题号:562 下列叙述中正确的是()。
单选题
1、第279题 (1.0分) 题号:560 能将高级语言编写的源程序转换为目标程序的是()。
单选题
1、第278题 (1.0分) 题号:511 求平方根函数的函数名为()。
单选题
1、第277题 (1.0分) 题号:618 C语言中用于结构化程序设计的三种基本结构是()。
