1. C语言是什么?
在现实生活中,人与人交流使用的是自然语言,如汉语 / 英语 / 日语等.
既然是学习计算机,那么人应该怎么与计算机交流 呢? 答案是使用计算机语言.
迄今已知被创造的计算机语言已经有上千种 了,人们是通过计算机语言写程序 ,给计算机下达指令 ,让计算机工作的.
而我们今天要了解的C语言 就是众多计算机语言之中的一种,当然现在比较常用的C++ / Java /Go / Python 等也都是计算机语言.
2. C语言的历史和辉煌
C 语言由丹尼斯・里奇(Dennis Ritchie)在贝尔实验室,为开发 Unix 系统而设计,1972 年正式诞生.
下面是C语言的起源的发展历程,距今已有五十余年,可谓非常悠久:


而上方的人物就是C语言之父:丹尼斯·里奇(Dennis Ritchie)
3. 编译器的选择VS2026
3.1 编译和链接
C语言 是一门编译型计算机语言 ,其源代码都是文本文件 ,而文本文件本身无法执行 ,因为计算机本身就只能理解二进制数字'0'和'1' ,必须通过编译器翻译 和链接器的链接 ,生成二进制的可执行文件,这个可执行文件才能执行.
C语言的源代码是放在以.c为后缀的文件 中的,要得到最终可运行的可执行程序,详细的中间要经历预处理(Preprocessing)→ 编译(Compilation,生成汇编代码.s)→ 汇编(Assembly,生成目标文件.o/.obj)→ 链接(Linking,生成可执行文件.out/.exe)四个过程.


⼀个工程⼀般都会有多个源文件组成,如下图所示,演示了源程序经过编译器和链接器处理的过程:

注:
1.每个源文件(.c) 单独经过编译器处理生成对应的目标文件(.obj为后缀的文件).
- 多个⽬标⽂件和库⽂件 经过链接器处理 ⽣成对应的可执⾏程序(.exe⽂件).
3.1.1详细过程:
(1). 预处理:
处理**#开头的指令** / 删除代码中的注释.
最终输出**.i 为后缀的文件(纯C代码文本).**
(2). 编译:
把C代码翻译成汇编语言.
语法检查 / 优化代码 / 生成汇编指令.
最终输出以**.s 为后缀的文件(汇编代码).**
(3). 汇编:
把汇编代码翻译成机器码(二进制指令).
生成目标文件 / 只翻译当前文件,不处理外部函数.
输出文件:.o (Linux/macOS)或 .obj (Windows)
(4). 链接(Linking)
把多个目标文件 + 库文件(如 libc)合并.
解析函数调用(如 printf ) / 合并代码段、数据段 / 填充地址 .
最终输出:可执行文件 Linux/macOS:无后缀 / a.out 或 Windows .exe

这就是在Windows电脑 上C语言程序生成的exe可执行文件.
3.2 编译器的对比
C语言是一门编译型 的计算机语言,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令 。
那我们常⻅的C语⾔编译器都有哪些呢?
比如:msvc、clang、gcc就是⼀些常见的编译器,当然也有⼀些集成开发环境如:VS2022、VS2026 / XCode、CodeBlocks、DevC++、Clion等.
集成开发环境(IDE)⽤于提供程序开发环境的应⽤程序 ,⼀般包括代码编辑器、编译器、调试器
和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套。
(1). VS2022集成了MSVC(安装包较大⼀些,安装简单,无需多余配置,使用起来非常方便)
(2). XCode集成了clang(苹果电脑上的开发⼯具)
(3). CodeBlocks集成了gcc(这个工具比较小众,需要配置环境,不太推荐)
(4). : Dev-C++ 是轻量级 IDE,集成 MinGW 版 GCC,适合入门 / 竞赛,但调试功能弱,不利于代码风格的养成,不适合大型项目.
(5). CLion 是跨平台 IDE,默认使用 CMake 构建系统,编译器可自由配(GCC/Clang/MSVC),适合中高级开发者,新手不推荐(配置门槛高)
整体考虑,推荐⼤家安装VS2022或VS2026 的社区版本学习,免费,使用方便,工作中常见。
不懂得朋友可以在B站上搜索下载装配教程,在这里我推荐鹏哥C语言的教程,非常的胎教,简单易懂.
3.3 VS2022的优缺点
优点:
VS2022是⼀个主流的集成开发环境,企业中使⽤较为普遍
VS2022包含了:编辑器+编译器+调试器,功能强大
直接安装即可使用,基本不用额外配置环境,上⼿容易
默认界面是中文的,初学者友好
缺点:
功能丰富,安装包大,占用空间多。
4. VS项目和源文件、头文件介绍
在VS上写代码,我们是需要创建项⽬的,直接新建项⽬ 就可以了。
在项⽬中就可以添加源文件和头文件 。
C语⾔把**.c 为后缀的文件称为源文件** ,把**.h为后缀的文件称为头文件**。
头文件和源文件在VS中的展示
头文件和源文件在磁盘上的展示
头文件和源文件在VS中的展示