2016春C语言程序设计试卷B:基础与常量知识点

需积分: 0 0 下载量 15 浏览量 更新于2024-08-05 收藏 218KB PDF 举报
一、基础单选题解析: 1. 一维整型数组的正确说明通常使用`inta[SIZE];`的形式,其中`SIZE`是一个常量或通过预处理宏定义。因此,选项【A】inta(10); 是错误的,因为它没有明确指定数组大小;选项【B】inta[n]; 是不完整的,因为`n`在声明前未赋值;选项【C】inta[n]; 直接用变量定义数组也是错误的,因为它需要先确定数组大小。所以,正确答案是【D】,使用预定义的常量SIZE来初始化数组。 2. 二维数组的初始化应确保每个子数组的元素数量与声明时的列数匹配。选项【A】inta[2][]={{1,0,1},{5,2,3}}是错误的,因为它没有给出第二维的大小;【C】inta[2][3]={{1,2,3},{4,5}}缺少最后一个子数组的元素;【D】inta[][3]={{1,0,1},{},{1,1}}包含空子数组,也不符合规范。正确答案是【B】inta[][3]={{1,2,3},{4,5,6}},它明确了每个子数组有3个元素。 3. C语言常量中,选项【A】”d”是字符串常量而非数字,不正确;【B】0xad3是十六进制数,正确;【C】’\n’是转义字符,代表换行符,正确;【D】083在C语言中应表示八进制数,但语法上应写为083,而不是083,所以可能是错误的。若083是八进制,则是正确的,但此处可能需要具体上下文判断。 4. 在函数内定义的局部变量只在该函数内部有效,包括在复合语句中。因此,正确答案是【B】,复合语句内的变量只在其内部有效。 5. 用户标识符遵循命名规则,不能以数字开头,不能使用保留字,且不能包含特殊字符。选项【A】long是保留字,【B】.dat是非法字符开头,【C】3Dmax不符合命名规则,而【D】_2Test符合C语言的标识符命名规则。 6. C语言中的类型不允许将两个类型组合在一起,如longshort。所以,【D】longshort是错误的,正确类型是【A】signed short int 和 【B】unsigned long int,以及【C】unsigned int。 7. 逻辑运算符!x||y中,!x为0(假),||为逻辑或,假或真结果为真,因此结果是【B】1。 8. 表达式计算中,inta=3是整型,floatb=3.3是浮点型。【A】a+b可以进行,因为整型和浮点型可以相加;【B】a%b不能,因为整除运算不适用于不同类型的变量;【C】a/b不能,同样因为类型不匹配;【D】b++||a--是可以的,因为自增自减操作是算术运算,不会引发类型问题。 9. 递归调用的错误观点包括递归函数反复调用自己,但不一定会造成无限循环。如果递归没有正确的终止条件,确实可能导致栈溢出。所以,错误的说法是【C】,递归函数会反复地"...",这里需要补充完整表述,例如"递归函数如果没有适当的基础情况或递归终止条件,会反复调用自身直到栈溢出"。 这些题目主要考察了C语言的基础知识,包括数组声明与初始化、常量与数据类型、变量作用域、用户标识符、逻辑运算、基本表达式计算以及函数调用和递归的理解。