C语言复习重点:从基础到实战

需积分: 3 3 下载量 177 浏览量 更新于2024-09-21 收藏 91KB DOC 举报
"这是一份针对华夏学院C语言期末复习的资料,包含了填空、选择、问答和编程等多种题型,旨在帮助学生全面复习C语言的基础知识和编程技能。" 详细知识点说明: 1. **变量命名规则**: - C语言中的变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线,不允许包含标点符号或特殊字符。因此,合法的变量名如`TomB3a6b`和`C_6a7b`,而不合法的有`AB.C`(包含非法字符`.`)、`D$ABC`(包含非法字符`$`)。 2. **C语言标识符**: - 正确的C语言标识符不能以数字开头,例如`_123`是合法的,而`%d`和`\n`不是,因为它们是预定义的宏和转义序列。 3. **程序执行流程**: - C语言程序的执行始于`main()`函数,经过编译和链接后才能运行。一个C源程序只能有一个`main()`函数。 4. **文件扩展名**: - C源程序文件的扩展名通常是`.c`,编译后生成的中间文件是`.OBJ`,最终链接生成的可执行文件是`.EXE`。 5. **语句分隔符**: - C语言中,语句之间用分号`;`进行分隔。 6. **C语言程序开发步骤**: - 包括编辑源代码、编译源文件、链接生成可执行文件以及运行程序。 7. **注释语法**: - C语言的多行注释以`/*`开始,以`*/`结束。 **第二章知识点**: 1. **实型常量**: - 实型常量的正确格式为带有小数点或指数形式的浮点数,例如`2.607e-1`、`0.8103e`和`-77.77`,而`456e-2`因缺少小数点或等号前的0而非法。 2. **整型常量**: - `12`、`-20`和`456`是正确的整型常量,但`1,000`中的逗号不是合法的分隔符。 3. **表达式计算**: - 在C语言中,`x=(x=1+2,x*2)`的结果是6,`x=y>2?6:5`的结果也是6,`x=8-(--y)-(--y)`的结果取决于`y`的初始值,可能不等于6。`x=y*4.8/2`的结果会根据浮点数的精度可能不等于6,通常会四舍五入。 4. **int类型常数**: - `32768`对于int类型来说可能超出其表示范围,具体取决于平台的int类型大小,`037`是八进制表示,`0Xaf`是十六进制表示。 5. **逗号表达式**: - `(a=3*5,a*4),a+15`的值取决于逗号表达式的求值顺序,最后的表达式是`a+15`,其值取决于`a`的值,因此结果可能是15。 6. **字符型常量**: - 字符型常量在内存中存储的是ASCII代码。 7. **数据类型与大小**: - `sizeof(x)`和`sizeof(float)`都是正确的,它们分别返回变量`x`和`float`类型的大小。 8. **类型转换与赋值**: - 表达式`x=(float)(y*3+((int)y)%4)`将`y`转换为整数,再进行运算,结果为17。 9. **取模运算符**: - `%`运算符只适用于整型操作数。 10. **逻辑与赋值运算**: - `x=(a=1,b=2)`的结果是2,因为`a=1`和`b=2`都进行了赋值操作,且`b=2`的值被赋给`x`。 11. **C语言特性**: - 大写字母和小写字母在C语言中被视为不同的字符,因此`A`和`a`是不同的标识符。 12. **等价的表达式**: - `x*=y+2`等同于`x=x*(y+2);`,都是对`x`的值进行乘法和加法运算。 13. **复杂表达式计算**: - `y+=(y-=m*=y)`的计算过程中,`y`的值会变为-16。 14. **程序结构**: - 结构化程序设计的三种基本结构是顺序结构、分支结构(if...else)和循环结构(for, while, do...while)。 15. **三元运算符**: - `(--a==++c)?--a:c++`的值是5,因为先自增`c`,然后自减`a`,条件成立,`c`的值最终为6。 16. **条件表达式**: - `x>(y+x)?10:(12.5>y)`的计算取决于`x>(y+x)`的结果,这里没有给出完整表达式,但根据条件判断,10会被赋值给表达式的结果,而`y`的值会因后续操作而改变。 以上是对C语言复习资料中涉及的主要知识点的详细解释和解析,涵盖了变量命名、数据类型、表达式计算、程序结构等多个方面,有助于理解和复习C语言的基础概念。