重走C语言之路(一)
C语言不得不说是初入大学的噩梦,对于没有接触过编程的人来说听得如同天书一般,直到在依赖其他语言逐渐了解编程的思想后,才想要重新去学习一下C(毕竟是经典),或许能带给自己更多感悟
1. 简介
C语言起初是为了UNIX操作系统开发的工作而被创造出来的工具语言,诞生于大名鼎鼎的贝尔实验室,丹尼斯·里奇以B语言为基础重新设计,取代了原先的B语言,并且将UNIX系统使用C语言进行重写
在此之后,C语言广泛传播,迅速流行开来,在各个应用领域得到广泛运用
这些IT大佬动不动就能整出一个语言,令我等想都不敢想~
2. 特点
C语言算得上历史比较长的一门语言了,直到现在依旧能够傲视群雄,说明其自身的品质必然是经得起时间的考验的
- 语法简单
- 结构化
- 数据类型、运算符丰富
- 直接操作物理地址
- 高可移植性
- 代码质量高、执行效率高
3. 简单示例
在Windows上,C的环境可以通过安装MinGW或是Visual Studio软件提供,可以根据自己的需要进行配置,或者直接可以使用在线工具进行学习
我个人通常使用VS Code配合插件使用,轻量且比较方便学习,不用配置太多的内容,一套工具随时可以进行切换
MinGW-w64
Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)
Visual Studio Code - Code Editing. Redefined
直接打开编辑器,编写一段代码,保存为扩展名为.c的文件
以下为文件的主要内容
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
这个程序的功能只是会在控制台输出一段“Hello World”字符串
如果使用的是VS Code,可以直接点击“运行”按钮
此时,跳出的控制台当中就会输出“Hello World”
当然,如果你只有一个文本,那么你将可以荣幸地体验一下手动使用gcc命令
gcc hello_world.c -o hello_world
hello_world.c是我编写的C语言源文件,通过使用gcc命令进行编译,使用-o指定输出文件,在Windows上对应就是.exe文件,此时会在当前目录下多出一个文件
这个hello_world.exe就是指定的输出文件
./hello_world
通过这条命令运行当前目录下的可执行文件hello_world.exe
手动操作的这两条命令和按下运行按钮是等价的,这便是C语言的编译、执行过程
4. 简要分析
简单分析下这个简单的Hello World程序的组成部分
#include <stdio.h>代表的是一条预处理,可以理解为将一段stdio.h的代码粘到当前文件中,因为我们需要用到一些功能,比如printf()
int main() {}代表的是一个函数,而main()是主函数,代表的是程序的入口,程序跑起来后将会从main() {}开始执行
printf("Hello World\n");是main()当中的第一条语句,在C语言中,以;表示语句的结束,printf()也是一个函数,其中"Hello World\n"是函数的参数,printf()的功能是输出,也就是将""包裹的内容输出出来,但是由于\n表示的含义是换行,因此不会显示在控制台,而只是使得光标移动到下一行的开头处
return 0;同样是一条语句,表示的是函数正常结束,通常0作为返回值表示正常,其他非0值表示异常,此时main()的内容执行完毕,退出
这里只是简单的叙述了一下这个简单程序整个过程,看看每一行语句都做了些什么,更加有趣的内容还将在后面揭晓