C语言知识点总结(1)

preview
需积分: 0 1 下载量 98 浏览量 更新于2020-07-21 收藏 62KB PDF 举报
### C语言知识点总结 #### 总体理解 1. **程序结构**:程序的基本结构包括顺序结构、循环结构以及选择结构。其中循环结构包括三种基本形式:`for`、`while`、`do-while`;选择结构则通过`if`语句和`switch`语句实现。 2. **程序执行流程**:程序总是从`main()`函数开始执行,并按照代码书写的顺序向下执行。遇到循环结构或选择结构时,根据相应的条件进行跳转或重复执行。 3. **数据存储**:计算机内部采用二进制存储数据。每个数据都有其存储位置,即内存地址。 4. **二进制与十进制转换**:熟悉二进制数如何转换为十进制数是非常重要的,这对于理解和解决位操作等问题很有帮助。 5. **位与字节**:位(`bit`)是最小的存储单位,只能表示0或1;字节(`byte`)由8个位组成。 #### 编译预处理及程序结构 1. **编译预处理**:预处理指令如`#include`、`#define`等并不是C语言本身的组成部分,它们是在编译之前由预处理器处理的。例如,`#include <stdio.h>`用于包含标准输入输出头文件。 2. **主函数**:每个C语言程序中必须且仅能有一个`main()`函数,这是程序的入口点。 3. **函数嵌套定义**:在一个函数内部不能再定义另一个函数。 4. **算法特性**:算法必须至少有一个输出结果,但可以没有输入参数。 5. **循环控制与选择结构**:`break`语句可用于提前退出循环结构或`switch`语句。 6. **运算符优先级**:逗号运算符(`,`)的优先级是所有运算符中最低的。 #### 标识符与数据类型 1. **合法标识符**:有效的用户定义标识符必须由字母、数字和下划线组成,且第一个字符不能是数字。C语言的关键字(如`if`、`else`、`int`等)不能作为标识符。 2. **实型数据表示**:实型数据有两种表示方式:浮点型和指数型。例如`2.333e-1`表示2.333乘以10的负一次方。 3. **字符与字符串**:单引号中的字符如`'1'`占据1字节空间,而双引号中的字符串如`"1"`则占据2字节(包括字符串终止符`\0`)。ASCII码中,`'0'`的值为48,`'a'`的值为97,`'A'`的值为65。 4. **数据类型的大小**:通常情况下,整型(`int`)占用2字节,字符型(`char`)占用1字节,双精度浮点型(`double`)占用4字节。在不同系统中,这些类型的大小可能有所不同。 5. **转义字符**:C语言中提供了多种转义字符,例如`\n`代表换行,`\t`代表水平制表符。在转义序列中,`\xhh`表示两位十六进制数对应的ASCII字符,而`\ddd`则表示三位八进制数对应的字符。 6. **类型转换**:类型转换可以通过显式转换来实现,例如`(int)a`将变量`a`强制转换为整型。需要注意的是,括号在类型转换中非常重要。 #### 运算符与表达式 1. **算术运算符优先级**:算术运算符有不同的优先级,例如乘法和除法具有相同的优先级,但高于加法和减法。 2. **类型转换示例**:`(int)(a+b)`和`(int)a+b`之间的区别在于前者是对整个表达式的结果进行转换,而后者只转换变量`a`的值。 3. **赋值表达式**:赋值表达式的值为赋值操作的目标值,例如`a = b = 5;`的表达式的值为5。 4. **自增自减运算**:自增自减运算符`++`和`--`可以根据位置的不同产生不同的效果。前置`++a`或`--a`会先改变变量的值,而后置`a++`或`a--`则先返回当前值,之后再改变变量的值。 5. **逗号表达式**:逗号表达式的结果是最后一个表达式的值。 6. **位运算**:位运算符如`<<`(左移)、`>>`(右移)以及`&`(按位与)、`|`(按位或)等都是基于二进制位的操作。在没有溢出的情况下,左移一位相当于乘以2,右移一位相当于除以2。 7. **八进制表示**:八进制数以0开头,例如`017`,但是不能包含数字8,因此`018`是非法的。 8. **模运算**:模运算符`%`要求其左右两侧的运算对象均为整数。 以上总结涵盖了C语言的一些基础知识,包括但不限于程序结构、数据类型、运算符和表达式等方面的知识点。这些内容对于初学者来说非常重要,能够帮助他们建立起对C语言的基本理解。
weixin_38557757
  • 粉丝: 5
  • 资源: 934
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜