(1)预处理命令
使用库函数之前,应该用#include
引入对应的头文件。这种以#
号开头的命令称为预处理命令。
(2)文件
文件是操作系统管理数据的基本单位 ,文件一般是指存储在外部存储介质上的有名字的一系列相关数据的有序集合。 它是程序对数据进行读写操作的基本对象。 在 C 语言中,把输入和输出设备都看作文件。 文件一般包括三要素:文件路径、文件名、后缀。
注:C 语言程序只能有一个文件。
(3)关于C
- 目前,C 语言是最广泛使用的系统程序设计语言。
- 大多数先进的软件都是使用 C 语言实现的。
- 当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C 语言编写的。
(4)注释
C语言中的注释有两种类型,具体如下。
1、单行注释单行注释通常用于对程序中的某一行代码进行解释,用“∥”符号表示,“/”后面为被注释的内容,具体示例如下:
printf("Hello,world\n"); //输出Hello,world
2、多行注释顾名思义,多行注释就是指在注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾,示例如下:
/* printf("Hello,world\n");
return 0;
*/
需要注意:
在C语言中,有的注释可以嵌套使用,有的则不可以,下面列出两种具体的情况。
(1) 多行注释“/*……*/”中可以嵌套单行注释“∥”,例如
/* printf("Hello,world\n"); //HHello,world
return0; */
(2)多行注释“/*……*/”中不能嵌套多行注释“/*……*/”,例如:
/*
/* printf("Hello,world\n");
ireturn0; */
*/
上面的代码无法通过编译,原因在于第1个“/*”会和第1个“*/”进行配对,而第2个“*/”则找不到匹配。
最后需要特别注意:
换行符有可能打破单行注释的作用范围。如下:
if(.......) // 这是单行注释 \
{
......
}
这里的"\"作为换行,增加了单行注释的作用范围,导致下面的一行也被注释掉了,可能会出现编译报错或者注释掉了不该注释的语句,导致结果出错。
(5)编译与链接
编译(Compile)
将C语言代码转换成CPU能够识别的二进制指令,也就是将代码加工成 .exe 程序的格式;这个工具是一个特殊的软件,叫做编译器(Compiler)。
编译器能够识别代码中的词汇、句子以及各种特定的格式,并将他们转换成计算机能够识别的二进制形式,这个过程称为编译(Compile)。
链接(Link)
C语言代码经过编译以后,并没有生成最终的可执行文件(.exe 文件),而是生成了一种叫做目标文件(Object File)的中间文件(或者说临时文件)。目标文件也是二进制形式的,它和可执行文件的格式是一样的。对于 Visual C++,目标文件的后缀是.obj
;对于 GCC,目标文件的后缀是.o
。
(6)组成
一个C程序由一个主函数和若干个其他函数组成。
(7)源程序
一个C语言源程序至少一个有main函数,定义函数必须指定 4 个元素:返回类型、函数名、圆括号内的形参表(可能为空)和函数体。源程序的结构特点:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4、源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
7、C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:选择控制语句:if; switch、case。循环控制语句:for、while、do...while。转移控制语句:break、continue、goto。