初步了解C语言
C语言
C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务等等
C语言标准
C语言由一个国际标准定义,目前最新的标准为C11,由于C11标准定义的一些语言元素是可选的,所以有些编译器并没有实现该标准的全部功能,C11标准英文说明文档
C语言标准库
标准库定义了编写C程序时常常需要的常量、符号和函数,还提供了大多程序员可都可能需要的功能,例如字符串处理或数字计算等等,还提供了基本C语言的一些可选扩展
头文件
头文件指定了C标准库在一系列标准文件,例如<stdio.h>定义了用于输入输出的宏和函数,从键盘上读取数据,将输出写入命令行时,需要包含该头文件
用C语言写经典的HelloWorld程序
<!-- lang: cpp -->
#include <stdio.h> //标准头文件,使用输入输出函数如printf()时需要它
#define INCHES_PER_FOOT 12 //宏可以提供给预处理器的指令,来添加或修改程序中的C语句
/*
每个C程序总是从main函数体开始执行
*/
int main(void){
printf("Hello,World!!\n"); //printf()是一个标准的库函数,它将函数名后面引号内的信息输出到命令行上
printf("%d\n",INCHES_PER_FOOT);
return 0; //返回0表示,程序正常终止,而返回非0值表示异常
}
下面开始分析像HelloWorld这样简单的C语言程序是如何运行的
创建C程序步骤
- 编辑
- 编译
- 链接
- 执行
编辑
编辑的过程就是创建和修改C程序的源代码
可以使用集成开发环境(IDE)、或者使用文本编辑器来创建文件(以".c"后缀名结尾),编写C源代码
比较常见的编辑器有Vim编辑器(Linux)、Emacs(windows&Linux)等等
编译
编译器可以将源代码转换成机器语言,在编译的过程中,会找出并报告错误,如果没有错误将编译产生以.o或.obj为后缀名的对象文件
编译过程包括两个阶段,第一个阶段称为预处理阶段,在此期间会修改或添加代码,第二个阶段是生成对象代码的实际编译过程
在非集成开发环境下,如果想要编译C源代码文件,需要使用命令:cc -c myprog.c
链接
链接器(linker)将源代码文件中由编译器产生的各种对象模块组合起来,再从C语言提供的程序库中添加必要的代码模块,将他们组合成一个可执行的文件,链接器也可以检查和报告错误,例如引用了一个根本不存在的库组件
执行
就是当成功完成了前述3个过程后,运行程序
如果上面3个步骤中任何步骤出错,都要返回到编辑步骤,重新修改源代码