"南阳理工学院C语言程序设计重修试题,包括选择题和代码段,主要测试学生对C语言基础知识的掌握,如数据类型、内存管理、运算符优先级、控制结构、函数、数组和指针等。"
1. C语言中的字符型数据是以ASCII码形式存储的,选项D正确。ASCII码是一种通用的标准编码系统,用于表示文本和某些控制字符。
2. 表达式`w*x+z-y`的结果类型取决于变量的类型。由于`w`是`char`,`x`是`int`,`y`是`float`,`z`是`double`,根据C语言的类型提升规则,`char`提升为`int`,然后与`int`相乘得到`int`结果,接着与`float`相加,最后与`double`相减,所以结果类型为`double`,选项D正确。
3. 语句`chars='\092';`不合法,因为`\092`不是一个有效的转义序列。在C语言中,`\0`表示空字符,而`\92`是非法的,所以`s`的值是未定义的,选项B正确。
4. 在C语言中,`int`、`char`和`short`的大小不是固定的,而是由机器的字长决定,选项C正确。例如,在32位系统中,`int`通常是4字节,`char`是1字节,`short`可能是2字节。
5. 转义字符`\081`是不正确的,因为八进制数字不能以08或09开头,选项C正确。
6. C程序中,注释可以出现在任何位置,不仅限于语句的后面,选项D错误。
7. C程序的执行总是从`main`函数开始,直到`main`函数结束,选项A正确。
8. 内部循环`for(j=0;j<4;j++)`在外部循环`for(i=5;i;i--)`中执行5次,因此总执行次数为5×4=20次,选项A正确。
9. 当数组名作为函数参数时,实际传递的是数组首元素的地址,选项B正确。
10. 符合C语言语法的表达式是`a=b=c+2`,它表示同时给`a`和`b`赋值为`c+2`的结果,选项B正确。
11. 该程序使用了前置自增运算符`++x`和后置自增运算符`y++`,`++x`先自增再赋值,`y++`后自增再赋值。因此,输出结果是`(4,3)`和`z+2`,即`43`,选项C正确。
12. 这个程序涉及到`switch`语句。由于`x`初始值为1,所以执行`case1`,`a++`,但没有`break`语句,所以会继续执行`case0`,`b++`。因此,`a`为1,`b`为1,输出`11`,选项B正确。
这些题目涵盖了C语言的基础知识,包括数据类型、运算符、流程控制、数组、函数以及字符串处理等方面。通过这些题目,学生可以检验自己对C语言基本概念的理解和应用能力。