C语言复习重点:从基础到实战
需积分: 3 70 浏览量
更新于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语言的基础概念。
2018-06-24 上传
2011-01-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
wangjishangxin
- 粉丝: 0
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录