【26.4.12】从C开始写blog

张开发
2026/5/6 12:58:41 15 分钟阅读
【26.4.12】从C开始写blog
从C开始吧一、语言的分类编程语言主要分为编译型语言和解释型语言两类具体如下一编译型语言代表语言C/C、Go、Rust二解释型语言代表语言Python、JavaScript、PHP、Ruby二、执行方式与核心差异一编译型语言执行方式先编译后运行。代码写完后通过编译器直接生成一个机器能直接读取的可执行文件如.exe等。运行速度快。因代码提前编译为机器码运行时直接执行无需额外工作。跨平台性差。编译出的文件是针对特定平台定制的跨平台需重新编译。二解释型语言执行方式边解释边执行。无需提前生成可执行文件运行时靠解释器逐行翻译给机器执行。运行速度慢。每次运行都需重新翻译开销较大。跨平台性好。只要有解释器如Python环境在哪都能运行。三、C语言项目工程处理流程C语言项目工程中源文件需经过编译器和链接器的处理才能生成可执行程序具体流程如下一核心处理步骤编译阶段将.c源文件通过编译器如gcc编译为目标文件.o/.obj格式。示例test.c→ 编译器 →test.oadd.c→ 编译器 →add.oxxx.c→ 编译器 →xxx.o链接阶段通过链接器如link.exe将多个目标文件与系统库/第三方库链接最终生成可执行程序。示例test.oadd.oxxx.o 链接库 → 链接器 → 可执行程序xxx.exe二流程图示四、C语言转义字符知识点整理一、转义字符基础转义字符是C语言中以反斜杠\开头的特殊字符用于表示无法直接输入、有特殊语法含义或控制终端行为的字符本质上每个转义字符对应1个ASCII码在内存中仅占1字节。二、常用转义字符详解1. 符号类转义字符用于语法转义转义字符作用说明补充说明\?书写连续多个问号时使用防止被解析为三字母词现代编译器已基本淘汰日常开发几乎不用\表示字符常量中的单引号本身用于单引号包裹的字符定义如char c \;\表示字符串内部的双引号本身用于双引号包裹的字符串如printf(\Hello\);\\表示反斜杠字符本身防止反斜杠被解释为转义序列的起始符如路径C:\\test.txt2. 控制类转义字符用于终端/光标控制转义字符名称作用说明\a警报符Alert/Bell使终端发出警报声、屏幕闪烁或二者同时触发\b退格符Backspace光标回退一个字符但不删除原字符仅移动光标原字符会被后续输入覆盖\f换页符Form Feed光标移到下页现代系统无实际效果行为近似\v仅用于老式打印机\n换行符Newline光标移动到下一行的开头是C语言通用换行符\r回车符Carriage Return光标移动到当前行的开头不换行早期打字机概念\t水平制表符Horizontal Tab光标跳到下一个水平制表位通常是下一个8的倍数列位置相当于按Tab键\v垂直制表符Vertical Tab光标移到下一个垂直制表位通常是下一行的同一列位置现代终端极少使用三、数值型转义字符ASCII码直接表示C语言支持通过八进制/十六进制数值直接指定对应ASCII码的字符是转义字符的通用写法。1. 八进制转义\ddd格式\后跟1~3位八进制数字0-7规则将八进制数转换为十进制对应ASCII码的字符示例\130→ 八进制130 十进制88→ 对应ASCII字符X说明\130的本质是把八进制数130转为十进制后作为ASCII码值对应的字符2. 十六进制转义\xdd格式\x后跟1~2位十六进制数字0-9, a-f/A-f规则十六进制数直接对应ASCII码的字符示例\x30→ 十六进制30 十进制48→ 对应ASCII字符0四、核心易错点总结\n与\r的核心区别\n换行回车光标到下一行开头跨平台通用\r仅回车光标回到当前行开头不换行常用于覆盖输出转义字符长度特性所有转义字符在C语言中都被视为单个字符例如\n在strlen()统计中只算1个字符数值转义注意事项八进制转义仅支持0-7不能使用8/9十六进制转义必须带x前缀否则会被解析为普通字符超出标准ASCII范围0~127的数值会产生未定义行为五、完整ASCII码对照表常用转义字符转义字符ASCII十进制值含义\a7警报\b8退格\t9水平制表\n10换行\v11垂直制表\f12换页\r13回车\39单引号\34双引号\?63问号\\92反斜杠\00空字符字符串结束标志

更多文章