C语言复习与程序理解:选择题解析

0 下载量 188 浏览量 更新于2024-06-28 收藏 172KB DOC 举报
"《C语言》复习题160题(12级).doc" 这份文档是一份针对C语言的学习资料,包含160道单项选择题,旨在帮助学生复习和巩固C语言的基础知识,包括但不限于基本概念、数据类型、运算符与表达式等核心内容。题目分为两个部分,前80题主要考察基本概念,而后80题则侧重于程序阅读理解。 1. 计算机能直接执行的程序是:D) 可执行程序 这道题强调了计算机可以直接运行的程序形式是可执行程序,它是由编译器将源代码编译并链接后的产物。 2. 错误的叙述是:A) 计算机不能直接执行用C语言编写的源程序 C语言源程序需要通过编译才能被计算机执行,不能直接运行。 3. 合法的C语言赋值语句是:D) x=5 A) 使用了错误的赋值操作符,应为“=”而不是“==”。B) 浮点数除法后不能用于取模。C) 不允许在赋值语句中进行加法运算。 4. 正确的赋值语句是:C) x3=0x12 A) 浮点数除法后不能用于取模。B) 等号右边不能有表达式。D) 等号左边的连续赋值是非法的,应为“x4=(1+2);”。 5. 表达式:x=1,y=x+3/2的值是:A) 2.0 因为3/2在C语言中是整数除法,结果为1,所以y的值为1,然后赋值给x,得到x=1。 6. printf语句的结果是:D) 65,68 字符'A'的ASCII值是65,'D'的ASCII值是68,减去2得到66,所以输出的是字符对应的ASCII码值。 7. 该程序输出的是:B) 程序输出小写字母m 在C语言中,字符'a'-'A'等于32,所以'a'-'m'=-32,但字符减法得到的结果将超出ASCII表的范围,因此结果可能不按预期进行,但在这个特定情况下,由于'a'的ASCII值减去'm'的ASCII值加上32,会回到'm'的ASCII值。 8. 表达式!(x+y)+z-1&&y+z/2的值是:D) 1 这个表达式涉及逻辑运算和算术运算,首先计算!(x+y),假设x=3,y=4,那么!(7)为假,即0,然后加z-1,即0+5-1=4,最后&&后面的部分y+z/2(假设为整数除法)为1,因此整个表达式的值为1。 9. 语句:x+=y;y=x-y;x-=y; 功能是:A) 交换x和y中的值 这是经典的交换两个变量值的方法,不使用额外的存储空间。 10. 非法的表达式是:D) x+1=x+1 这是一个无效的C语言表达式,因为等号右边的x+1不能直接赋值给x+1,x+1不是一个可以赋值的左值。 11. 若x和y代表整型数,以下表达式中不合法的是:D) x+1=x+1 同上,这在C语言中是非法的,因为x+1不是一个可以赋值的左值。 这些题目涵盖了C语言的基础语法和运算规则,对于学习C语言的学生来说,是很好的复习材料。通过解答这些题目,可以检验对变量定义、赋值语句、算术运算、逻辑运算、条件表达式以及字符编码等方面的理解程度。