C语言的基本概念包括预处理指令,函数,变量和语句。
预处理 。首先程序会被送交给预处理器 (preprocessor)。预处理器执行以# 开头的命令(通常称为指令 )。预处理器有点类似于编辑器,它可以给程序添加内容,也可以对程序进行修改。
编译 。修改后的程序现在可以进入编译器 (compiler)了。编译器会把程序翻译成机器指令(即目标代码 )。然而,这样的程序还是不可以运行的。
链接 。在最后一个步骤中,链接器 (linker)把由编译器产生的目标代码和所需的其他附加代码整合在一起,这样才最终产生了完全可执行的程序。
集成开发环境是一个软件包,我们可以在其中编辑、编译、链接、执行甚至调试程序。
简单程序的一般形式
指令
int main(void)
{
语句
}
指令Directives:
#include <stdio.h>
这条指令说明,在编译前把<stdio.h> 中的信息“包含”到程序中。
C语言不同于其他的编程语言,它没有内置的“读”和“写”命令。输入/输出功能由标准库中的函数实现。
所有指令都是以字符# 开始的。这个字符可以把C程序中的指令和其他代码区分开来。指令默认只占一行, 每条指令的结尾没有分号或其他特殊标记。
函数Functions
函数 类似于其他编程语言中的“过程”或“子例程”,它们是用来构建程序的构建块。事实上,C程序就是函数的集合。函数分为两大类:一类是程序员编写的函数,另一类则是作为C语言实现的一部分提供的函数。我们把后者称为库函数 (library function),因为它们属于一个由编译器提供的函数“库”。
在C语言中,函数仅仅是一系列组合在一起并且赋予了名字的语句。某些函数计算数值,某些函数不这么做。计算数值的函数用return 语句来指定所“返回”的值。例如,对参数进行加1操作的函数可以执行语句
return x + 1 ;
虽然一个C程序可以包含多个函数,但只有main 函数是必须有的。main 函数是非常特殊的:在执行程序时系统会自动调用main 函数。
语句Statements
语句 是程序运行时执行的命令。程序pun.c 只用到两种语句。一种是返回(return )语句,另一种则是函数调用 (function call)语句。要求某个函数执行分派给它的任务称为调用 这个函数。例如,程序pun.c 为了在屏幕上显示一条字符串就调用了printf 函数:
printf("To C, or not to C: that is the question.\n");