初识C语言

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为后缀的文件).

  1. 多个⽬标⽂件和库⽂件 经过链接器处理 ⽣成对应的可执⾏程序(.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中的展示

相关推荐
by209999 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理
额额额对了10 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
Logic10111 小时前
C语言/数据结构位运算题解:异或XOR找出书柜中编号只出现一次的那一层——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic10113 小时前
C语言/数据结构位运算题解:异或XOR找出星球探险中的“独特能量石“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Escalating_xu14 小时前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
垆边人似月.14 小时前
华为机考题:最小代价爬楼梯
c语言·c++
垆边人似月.15 小时前
华为机考题:二叉树的最大路径和
c语言·c++
程序猿编码15 小时前
不用 PyTorch!纯 C 实现 N 维张量 + 反向传播,完成手写数字识别训练
c语言·人工智能·pytorch·神经网络·卷积神经网络·大模型推理
Navigator_Z16 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode
垆边人似月.17 小时前
华为机考题:矩阵中的最长递增路径
c语言·c++