这些题目主要涵盖了C语言中的数组相关的知识,包括数组的基本操作、数组元素的访问与赋值、数组长度的计算以及字符串处理。下面是每道题目的详细解释:
1. 这道题目涉及了数组元素的赋值和引用。变量k的初始值为3,然后将k的值赋给s[0],接着k的值被赋为s[1]乘以10。由于s[1]未初始化,它的值是不定的,因此k的最终值也是不定的,答案是A) 不定值。
2. 程序中定义了一个数组b和一个变量a。b[0]被赋值为3,但b[1]没有初始化。printf函数尝试打印b[1]的值,但由于未初始化,其结果是不定值,答案是D) 3, 不定值。
3. strlen函数用于计算字符串的长度,不包括结束符'\0'。数组array定义为"China",不包含结束符,所以strlen(array)的值为5,答案是B) 5。
4. 类似上题,数组array定义为"China",但在数组末尾会自动添加结束符'\0',因此strlen(array)的值为6,答案是B) 6。
5. 这段程序使用二维数组a,并对其中的元素赋值。a[1][2]的值取决于a[1][1]和a[1][0]的值,而a[2][1]的值取决于a[2][0]和a[2][2]的值。由于j的循环条件为j<=i,数组的上三角部分被赋值,而下三角部分未赋值,因此a[1][2]的值是不确定的,a[2][1]的值为0。答案是B) 不定值,2。
6. 这个程序与上一题类似,但所有元素都被赋值。a[1][2]和a[2][1]都被赋值,因此它们的值都是3,答案是A) 3,3。
7. 这段代码也使用二维数组a,但赋值方式不同。a[1][1]的值是1*1-1,即0,a[2][2]的值是2*2-1,即3。答案是D) 0,3。
8. 字符数组array定义为"China",不包括结束符,它占用的空间为6个字节(每个字符1字节),答案是C) 6 个字节。
9. 字符数组array定义为"China",但在数组末尾自动添加了'\0',因此占用10个字节,答案是D) 10 个字节。
10. 数组a的元素依次是10, 20, 30, 40, 50。执行a[2]++后,a[2]变为31,但a[1]保持不变,答案是B) 20 和 31。
11. strcpy函数用于复制字符串。这行代码将"you"复制到arr[0],打印arr[0]的结果是"you",答案是B) you。
12. 程序计算1到10的奇数和偶数之和。奇数之和由变量a计算,偶数之和由变量c计算。当i为偶数时,将其加到a中,当i为奇数时,应将其加到b中,最后将b的值加到c中。因此划线处应填入b+=i,答案是C) b+=i。
13. 程序目的是将字符数组a中下标为偶数的元素从小到大排序。内层循环应跳过当前正在比较的元素,因此划线处应填入j+=2,答案是D) j+=2。
以上就是这些C语言数组选择题的解析,涵盖了数组的初始化、赋值、访问、长度计算、字符串处理、循环和条件判断等基本概念。