西北工大2004-2005 C语言选择与变量初始化考题回顾

需积分: 9 2 下载量 98 浏览量 更新于2024-09-16 1 收藏 85KB DOC 举报
西北工业大学2004-2005年的C语言考题涵盖了基础理论和编程实践的多个方面,旨在测试学生对C语言的理解和应用能力。以下是考试中涉及的部分知识点: 1. **常量与数据类型**: 题目询问了哪些常量是合法的,其中A选项`0xffff`是一个十六进制整数,合法;B选项`01a`语法错误,应为`01`后面跟空格或八进制数字;C选项双引号`"a"`表示字符串常量,不适用于数值;D选项`\0xf`表示字符转义序列,但`f`未转义,不完全合法。 2. **浮点数操作**: 需要判断符合语法的表达式,B选项的自加赋值错误;C选项除法后直接取整会丢失小数部分;D选项先递增再赋值,不符合C语言的运算顺序。答案是A,表示`x`大于等于1或小于等于0。 3. **输入语句**: 考查输入语句的格式,A选项格式化错误,B和D选项括号位置不对,C选项使用逗号分隔,符合标准输入格式。 4. **逻辑表达式**: 题目中A选项是正确的逻辑或表达式,用于表示两个条件之一成立;B选项取反后逻辑关系相反;C选项逻辑与表示两者同时满足;D选项使用逗号而非逻辑运算符。 5. **循环与变量赋值**: while循环中,x初始为0,y也为0,当x小于15时,y每次加1,x累加y的递增值。因此,最后y为8,x为20。 6. **字符数组大小**: 字符数组`a`存储了一个带终止符的字符串,`sizeof(a)`包括终止符,所以长度为7;数组`b`虽长度为20,但只存放了7个字符,其他13个位置是填充的,所以`sizeof(b)`也是7。 7. **逻辑表达式**: `!e`等价于`e==0`,即当表达式e为假(非零)时,循环结束。 8. **数组初始化**: 定义的数组`a`只有一个元素,并且乘以10初始化,所以`a[0]`的初值为10,其他元素由于没有显式初始化,默认为0,C选项正确。 9. **函数原型声明**: 函数`fun`接受一个整数参数`x`和一个整数数组`y`作为参数,数组名`y[10]`表示数组的长度,正确的原型声明应包含数组的长度,C选项`floatfun(int x, int y[10])`符合。 这些题目全面覆盖了C语言的基础知识,包括常量、数据类型、算术运算、输入输出、逻辑控制、数组和函数等方面,对于理解C语言的基本结构和操作非常重要。考生在解答这类题目时,需要扎实掌握C语言的语法和编程逻辑。