### C语言考点归纳总结
#### 1. C程序结构
- **顺序结构**: 程序按照代码书写的顺序依次执行。
- **循环结构**: 包括`for`、`while`、`do-while`三种循环结构。
- `for`循环: 适用于循环次数已知的情况。
- `while`循环: 当条件为真时继续执行循环体内的代码块。
- `do-while`循环: 至少执行一次循环体内的代码块,然后判断条件是否为真。
- **选择结构**: 包括`if`语句和`switch`语句。
- `if`语句: 根据条件选择性地执行代码块。
- `switch`语句: 基于多个条件执行不同的代码块。
#### 2. main函数
- 每个C语言程序必须且只能有一个`main`函数。
- 所有程序都从`main()`函数开始执行。
- `main`函数可以带有参数,但通常情况下使用默认的无参数形式。
#### 3. 存储形式
- 计算机内部使用二进制来存储数据。
- 最低存储单位是比特(`bit`), 每个比特只能表示0或1。
- 字节(`byte`)由8个比特组成。
- 数据的存储位置即为其内存地址。
#### 4. 注释
- 注释用于解释程序的工作原理或意图。
- 使用`/*`和`*/`来定义一个多行注释。
- 单行注释使用`//`。
#### 5. 书写格式
- 每条语句必须以分号(`;`)结尾。
- 一条语句可以在多行书写。
- 多条语句也可以在同一行内书写。
#### 6. 标识符
- 标识符用于命名变量、函数等。
- 合法的标识符由字母、数字和下划线组成。
- 第一个字符必须是字母或下划线。
- 分类:
- **关键字**: 如`int`, `for`, `switch`等, 具有固定含义。
- **预定义标识符**: 如`define`, `include`等, 用于预处理指令。
- **用户标识符**: 用户自定义的标识符。
#### 7. 实型数据
- 实型数据包括浮点数和双精度数。
- 小数形式如`1.23`, 指数形式如`2.333e-1`。
- 指数形式要求:e前后必须都有数字,e后的数字必须是整数。
#### 8. 字符
- 字符以单引号包围, 如`'a'`。
- 字符串以双引号包围, 如`"a"`。
- ASCII码表中,'0'对应48,'a'对应97,'A'对应65。
- 字符型数据可以进行算术运算, 例如`'A'+32='a'`。
#### 9. 整型数据
- 整型数据占用内存大小取决于编译环境。
- 在16位系统中, 整型通常是2字节, 在32位系统中可能是4字节。
- 字符型数据通常为1字节, 双精度数据为4字节。
#### 10. 转义字符
- 转义字符以`\`开头, 如`\n`(换行)、`\t`(制表符)。
- 十六进制转义序列以`\x`开头, 如`\x6d`。
- 八进制转义序列以`\`加数字开头, 如`\141`。
#### 11. 算术运算
- 算术运算符包括:+、-、*、/、%。
- `%`运算符要求两侧操作数为整数。
- 取整操作: 整数除法自动向下取整, 如`1/2`结果为0。
#### 12. 强制类型转换
- 通过`(类型名)表达式`实现类型转换。
- 注意括号的使用, 如`(int)a`。
- 示例区别:`(int)(a+b)`与`(int)a+b`。
#### 13. 赋值
- 赋值表达式的值为最左边的变量的值。
- 复合赋值运算符如`a*=m+2`相当于`a=a*(m+2)`。
- 自增自减运算符`++/--`: 前缀先自增/减后使用, 后缀先使用后自增/减。
#### 14. 逗号运算
- 逗号表达式的结果为最后一个表达式的值。
- 优先级最低, 如`(a, b, c)`的结果为`c`。
#### 15. 数制转换
- 二进制到十进制转换: 从右至左, 每一位乘以2的相应幂次之积相加。
- 八进制没有数字8, 逢8进1。
#### 16. 位运算
- C语言支持6种位运算符: `~`(按位取反)、`<<`(左移)、`>>(右移)、`&(按位与)、`|(按位或)、`^(按位异或)。
- 位运算通常涉及对二进制位的操作。
- 异或运算遵循“相同为0, 不同为1”的规则。
以上是C语言的一些关键知识点, 这些内容不仅对于初学者非常重要, 对于深入理解和应用C语言也有很大的帮助。通过这些基础知识的学习, 可以为后续的编程打下坚实的基础。