C
C 是 1972 年贝尔实验室的丹尼斯·里奇在开发 UNIX 操作系统中设计的,C 是在 B 语言(Ken Thompson 发明)的基础上进行了设计,初衷只是为了将其作为程序员的编程工具
在国内大部分学校,首先接触到的编程语言就是 C ,尽管很多人都从 C 转而使用其他编程语言(C++,Java等),但是这并不妨碍 C 跟其他语言相比有着更突出的特点
C 和 UNIX 系统的关系非常密切,这就导致 UNIX 系统通常会将 C 编译器作为软件包的一部分,这省去了安装编译器的精力。C 的编译器非常多,在各种操作系统上都能找到合适的编译器,同时很多其他语言的编译器和解释器都是用 C 编写的
到如今,很多公司都采用了 C++ 开发大型项目,C++ 在 C 的基础上扩展了很多特性,几乎是 C 的超集,也就意味着学习了 C 就掌握了大部分 C++ 的知识
C 的标准
C 在发展初期并没有形成通用的标准,随着时间的发展,在 1998 年发布了第一个标准 C89。为了提升 C 的适应性,在 1994 年发布了 C99 标准,一直持续到了 2011 年 C11 标准发布为止
安装编译器
从 MinGW 获取编译器,当然也可以使用集成开发环境,比如:Microsoft Visual C++ 6.0,Microsoft Visual Studio 等,大部分编译器都是 C 和 C++ 编译器的结合
第一个 C 程序
使用 C 编写程序时,内容通常保存在一个文本文件中,该文件被称为源代码文件,该文件通常以.c
结尾,以便于编译器识别。编译器会将源文件转换成中间代码,也叫目标代码,虽然目标代码包含机器语言代码,但是缺少启动代码。启动代码是操作系统和程序之间的接口,同时目标代码缺少库函数,几乎所有的 C 程序都需要使用库函数,这个时候链接器会将目标代码,启动代码和库代码合并成一个可执行文件
#include <stdio.h>
int main(void){
printf("Hello,World!");
return 0;
}
- 打开一个文本编辑器,添加上述 code,并保存为
.c
后缀的文件格式 - 在源文件路径处打开终端,输入
gcc 文件名.c
,并回车 - 如果代码通过编译器的检查,则终端不会出现任何信息,并在当前路径下生成一个
.exe
可执行文件 - 在当前路径下输入可执行文件名或者双击该程序,即可执行该程序
- 因此就可以看到屏幕上显示了
Hello,World!
提示
双击 exe 执行程序可能会出现控制台程序一闪而过的情况,这是因为程序执行完毕后自动关闭了。可以添加system("pause")
函数来调用系统命令使控制台暂停等待,当运行到该函数时,控制台会提示“Press any key to continue . . . ”,如果在 vc 6 的环境下则需要添加#include <stdib.h>
#include <stdio.h>
是预处理器,告诉编译器在stdio.h
发现的内容,这是 C 的标准库,用于提供键盘输入和显示输出的功能支持
C 由一个或多个函数组成,int main(void)
是主要程序入口,也叫做主函数。()
会将main()
作为一个函数名,int
代表函数的返回值类型,void
表示函数不需要任何参数
{
表示函数的定义的开始
printf("Hello,World!");
是函数中的第一个语句,在 C 中语句以;
结束,printf()
函数是标准库提供的
return 0
表示一个函数执行完毕后,返回一个0
}
表示函数定义的结束
这里只需要明白,C 总是以main()
作为程序的出入口
参考资料
- C Primer Plus
- C++ Primer Plus