2012年广工C语言选择与填空复习题

需积分: 13 1 下载量 171 浏览量 更新于2024-09-09 收藏 54KB DOC 举报
本资源是一份针对C语言学习者的2012年广州工业大学的考试题目集,涵盖了选择题和填空题,旨在帮助复习者熟悉和巩固C语言的基础知识和编程技巧。以下是部分知识点的详细解析: 1. **标识符规则** - C语言中的标识符必须遵循特定规则,包括只能由字母、下划线和数字组成,且第一个字符必须是非数字字符。选项D "5t" 违反了这一规则,因为其开头是数字。 2. **变量赋值与计算** - 题目涉及变量`x`和`y`的运算。`y *= x - 1` 表示将`y`的当前值乘以`x`减去1的结果,初始时`x=5`,`y=3`,因此`y`的值会变为`3 * (5 - 1) = 3 * 4 = 12`,答案是C。 3. **预处理器指令和变量类型** - 选项D `d--` 错误,因为`d`在定义时未初始化,不能直接进行自减操作。常量`12`也不能用作变量名。 4. **循环结构** - 题目中的循环结构用于累加`b`从1到`c-1`的值到`s`,所以`s`最终等于`a + (c - 1)`,对应选项B。 5. **浮点数运算与输出** - 在给定的程序中,`y`被赋值为`(x + 3.6) / 5.0`,由于`x`是整数,结果会向下取整,所以`y`的值为0,然后与`d`相乘,输出结果是0,答案是C。 6. **赋值语句** - 选项B `a==b` 是比较运算符,不是赋值语句,其他选项如`++`, `+=`, 和赋值符号`=`都是赋值操作。 7. **自增运算符** - `printf` 中的表达式 `++u` 表示先使用`u`的当前值再递增1,`v` 和 `w` 同样先使用当前值后递增。因此,`u` 输出3,`v` 输出ASCII码对应的97,`w` 输出8后递增为9,答案是A。 8. **混合数据类型运算** - 当双精度型变量 `x` 赋值为 `1`,然后 `y` 计算为 `x + (3/2)*4`,尽管 `3/2` 结果是整数1,但在 `y` 的计算中,`3/2` 会被当作 `double` 类型处理,因此 `y` 应该是 `1 + 2 * 4 = 1 + 8 = 9`,转换为 `double` 类型为 `9.0`,答案是B。 9. **嵌套循环次数** - 外层循环 `for(i=3;i>0;i--)` 进行3次,内层循环 `for(j=4;j>1;j--)` 每次外层循环内部执行4次,总共是 `3 * 4 = 12` 次,答案是B。 10. **字符串操作** - 函数 `strlen` 计算字符串的长度,`strcpy` 将一个字符串复制到另一个。在给定的代码中,`strlen(strcpy(s1,s2))` 首先复制`s2`到`s1`,然后计算`s1`的新长度,即"abc"的长度,答案是A,长度为3。 这些题目覆盖了C语言的关键语法、运算符、数据类型、控制结构、字符串处理等多个重要知识点,对于准备C语言考试或提升编程技能的学生来说,这是一个很好的练习资源。