
一、编程语言分类与编译运行全过程类型翻译方式特点代表语言编译型语言源代码整体一次性翻译为机器可识别二进制可执行文件运行时无需再次翻译运行速度快跨平台差不同系统需要重新编译C、C解释型语言程序运行时解释器逐行读取代码、逐行翻译执行跨平台性强执行效率偏低Python、JavaScript2. C 语言完整编译链接流程源代码文件.c\(\xrightarrow{编译器编译}\) 目标文件.obj\(\xrightarrow{链接器link}\) 可执行程序.exe编译检查语法错误将 C 代码翻译成二进制目标代码链接整合多个目标文件 系统库函数生成最终可运行程序3. IDE 集成开发环境定义整合代码编辑器、编译器、调试器、图形界面的一体化开发工具常用VS2022内置 MSVC 编译器、Dev-C、Clion规范项目名称、文件路径建议全部使用英文禁止中文、特殊字符避免编译报错4. 文件后缀区分.h头文件存放函数声明、宏定义、结构体声明.cC 语言源文件编写具体业务代码.cppC 语言源文件二、VS 常用快捷键快捷键功能CtrlF5编译 链接 直接运行不进入调试模式日常运行首选F10逐行单步调试代码CtrlS保存文件编写代码随时保存防止丢失CtrlD复制当前行并插入下一行CtrlK C批量选中内容添加注释CtrlK U批量取消注释三、注释规则行注释// 注释内容仅作用于本行C99 标准支持块注释/* 注释内容 */可跨行书写 ⚠️ 禁忌块注释不支持嵌套使用补充程序编译阶段所有注释都会被编译器直接替换为空格不会参与程序运行四、数据类型体系1. 整体分类内置基础类型整型short、int、long、long long字符型char本质是小整型存储 ASCII 码值浮点型小数float、double、long double布尔型boolC99 新增需引入头文件stdbool.h只有 true/false 两个值自定义类型数组、结构体struct、枚举enum、联合体union2. 存储空间单位换算\(1\ \text{Byte(字节)} 8\ \text{bit(比特/二进制位)}\) 存储容量进制1024 \(\text{Bit} \rightarrow \text{Byte} \rightarrow \text{KB} \rightarrow \text{MB} \rightarrow \text{GB} \rightarrow \text{TB} \rightarrow \text{PB}\)3. 有符号 / 无符号整型signed默认省略有符号整型可存储正数、负数、0输出占位符%dunsigned无符号整型只能存储≥0 的数字输出占位符%u差值大写字母与对应小写字母 ASCII 码相差324. 主流系统下整型占用字节Windows MSVC类型占用字节数char1short2int4long4long long8五、ASCII 编码、字符与转义字符1. 常用 ASCII 码范围大写英文字母 A~Z十进制65 ~ 90小写英文字母 a~z十进制97 ~ 122数字字符 0~9十进制48 ~ 570 ~ 31、127不可打印控制字符换行、回车、响铃等无法在屏幕直接显示2. 转义字符作用改变原有字符含义实现特殊功能\n换行符ASCII 码值 10八进制表示字符\dddddd 为 3 位八进制数字十六进制表示字符\xdddd 为 2 位十六进制数字3. 字符串核心知识点C 语言字符串本质字符数组末尾必须自带结束标志\0ASCII 码值 0库函数strlen()计算字符串有效字符长度不会统计末尾结束符\0对比考点strlen()统计字符个数sizeof()统计整个数组占用总字节数包含\0六、变量、作用域与内存分区1. 全局变量 局部变量全局变量定义在所有函数外部存储位置静态区初始化规则未手动初始化时默认值为 0生命周期整个程序运行全程都存在局部变量定义在函数内部、代码块{}内部存储位置栈区初始化规则未手动初始化时值为随机垃圾数生命周期代码块执行完毕后自动销毁同名变量规则局部变量优先级高于全局变量局部屏蔽全局2. C 程序五大内存分区精简记忆栈区存放局部变量、函数形参系统自动申请释放堆区动态内存空间程序员手动管理 申请函数malloc()/calloc()/realloc()释放函数free()不释放会造成内存泄漏静态区存放全局变量、static 静态变量代码段存放程序二进制代码、常量字符串常量区存放只读常量七、C 语言语句分类空语句仅一个分号;无任何执行逻辑表达式语句算数、赋值表达式末尾加分号构成函数调用语句调用自定义 / 库函数复合语句大括号{}包裹的多条语句整体控制语句三大程序结构顺序结构自上而下依次执行选择结构if-else、switch分支判断循环结构for、while、do while循环重复执行