郭浩志版C语言复习题精选:从基础到实战

需积分: 3 9 下载量 83 浏览量 更新于2024-08-02 收藏 91KB DOC 举报
C语言复习题是针对学习者系统复习C语言基础知识的重要资料。该题库涵盖了C语言的关键知识点,旨在帮助学生巩固理解并准备考试。 1. **合法的C语言标识符与关键字**: - 合法的C语言标识符遵循规则:由字母、数字和下划线组成,不能以数字开头,如选项D "$ABC"合法,而选项A "define" 和 B "B_123" 不是标准的C语言标识符,因为它们分别包含了保留字和非法字符。 2. **C语言的基本结构与程序执行**: - C语言程序从`main()`函数开始执行,源代码需先经过编译和链接才能执行,且每个程序只能有一个`main`函数。 - 源文件扩展名通常为`.c`,编译后生成`.obj`,最终链接生成`.exe`文件。 - 语句间用分号`;`作为分隔符,注释以`/*`开始,`*/`结束。 3. **数据类型与运算符**: - 实型常量包括科学计数法,如`2.607e-1`正确,但`0.8103e`和`456e-2`不规范。 - 整型常量如`12`、`-20`和`1,000`都是正确的,而`0Xaf`不是十进制整型。 - 运算符如`%`要求运算对象为整型,而`*=`和`+=`是复合赋值运算符。 4. **表达式与运算结果**: - 逗号表达式`(a=3*5,a*4),a+15`的结果取决于运算顺序,可能为`60`或`30`,具体取决于解析器的处理方式。 - 字符型常量存储ASCII代码。 - `sizeof(x)`和`sizeof(float)`返回不同类型的大小,但两者描述了不同类型的数据占用内存空间。 - 表达式`x=(float)(y*3+((int)y)%4)`执行后,由于`(int)y`取整,`y`被四舍五入到最近的整数,因此`x`值为`17`。 5. **程序控制结构**: - 结构化程序设计包括顺序结构(按一定顺序执行)、分支结构(条件选择)、循环结构(重复执行)。 - `a=1`和`b=2`表达式的求值顺序对`x`的影响,表达式`x=(a=1,b=2)`结果为`2`,表明运算符优先级和左结合性。 - 关于C语言的叙述错误,选项可能是大小写字母意义不同的说法,C语言区分大小写。 6. **变量赋值和运算符优先级**: - 表达式`x *= y + 2`等价于`x = x * (y + 2)`,是复合赋值的一种形式。 - 定义`int m=5, y=2`时,表达式`y += y -= m *= y`执行后,先进行乘法`m *= y`,然后是减法和加法,最后`y`的值为`-16`。 - 逻辑表达式`(a=——a==++c)? ——a:c++`的结果取决于`a`和`c`的当前值,这里`a`先递减再比较,`c`递增,所以值为5,`c`的值会变为6。 这些知识点覆盖了C语言的基础语法、数据类型、运算符、控制结构以及程序执行流程,有助于学生理解和掌握C语言的核心概念。