C语言数组选择题解析

版权申诉
0 下载量 64 浏览量 更新于2024-07-14 收藏 209KB PDF 举报
"C语言数组相关的选择题集合" 这些题目主要涉及C语言中数组的基本概念、初始化、内存分配以及字符串处理。下面对每个题目进行详细解释: 1. 题目测试了数组元素的赋值与计算。初始时,`k = 3`, `s[0] = k` 后,`k = s[1]*10`。由于 `s` 只有2个元素,`s[1]` 未被赋值,所以它的值是不确定的,因此 `k` 的值也是不定的。 2. 这个程序中,`b[0]` 被赋予了3,但 `b[1]` 没有初始化,打印出的 `b[1]` 是不定值。因此,输出为 `3,不定值`。 3. 函数 `strlen()` 计算字符串的长度,不包括结束的空字符 '\0'。`array[]="China"` 是一个包含5个字符的字符串,所以 `strlen(array)` 返回5。 4. 类似于第三题,但是数组定义时多了一个字符空间用于存放结束的空字符 '\0',所以 `strlen(array)` 返回6。 5. 这是一个二维数组初始化的例子,`a[1][2]` 和 `a[2][1]` 分别被初始化为0*2 和 1*1,即2和1。但由于二维数组的列数是3,`a[1][2]` 是未定义的,所以输出可能是不定值,而 `a[2][1]` 为2。 6. 这个程序与第五题类似,但所有元素都加1初始化。因此 `a[1][2]` 和 `a[2][1]` 均为3。 7. 在这个例子中,数组元素被初始化为 `i*j-1`。`a[1][1]` 是1*1-1=0,`a[2][2]` 是2*2-1=3。所以输出是 `0,3`,但题目选项有误,正确答案应该是 `D)0,3`。 8. 字符数组 `array[]="China"` 包含5个可见字符加上一个结束的空字符,共6个字节。 9. 类似于第八题,数组 `array[10]` 预分配了10个字节,即使字符串只有5个字符,仍会占用10个字节,因为编译器会预留一个空字符的位置。 这些题目帮助我们复习了C语言中数组的初始化、内存分配、数组元素的访问、字符串处理和函数 `strlen()` 的用法。在实际编程中,理解数组特别是二维数组的工作原理是非常重要的,因为它们常常用于处理数据集和矩阵运算。