缺点:指针错误难以察觉。
编译器是将高级语言程序
翻译成计算机所需的详细机器语言指令集
的程序。主要负责处理冗长乏味的细节工作。
高级语言以更抽象的方式描述行为,没有与特定的CPU或指令集相关联,因此不同条件下需要使用不同的编译器,将高级语言程序编译成成适合在本地运行的机器语言指令集程序。
第一个ANSI/ISO C标准
C99 标准
C11标准
生成程序的具体过程因计算机环境而异。
C是可移植性语言,故可多环境使用,包括:UNIX、Linux、MS-DOS、Windows和Macintosh OS
。
用C语言编写程序时,编写的内容被存储在叫作源代码文本文件
中。文件名以 .c
结尾。
小Tips:在文件中,点号(.)
前面的部分称为基本名
,点号后面的部分称为扩展名
。
文件名 = 基本名 +
.
+ 扩展名。例:hello.c
基本策略:使用程序将 源代码文件
转换为 可执行文件
,此文件包含可以运行机器语言代码
。
C实现的两个步骤:编译和链接。编译器
将源代码
转换为中间代码
,链接器
将此中间代码
与其他代码
相结合生成可执行文件
。
分块管理使得程序模块化
,编译器会分块编译各个模块,链接器
会将预编译过的模块再结合起来。
如果需要改变一个模块,则不必重新编译所有其他的模块
。
将源代码
转换为机器语言代码
,将结果放置在一个 目标代码文件
(或简称为目标文件)中 (源代码由单个文件组成)。
目标代码文件缺失启动代码
(程序与OS之间的接口)和库函数
。
编译器作用:把源代码转换成可执行代码的程序。
链接器作用:把编写的目标代码、系统和标准启动代码和库代码
合并成一个文件(可执行文件)
。
目标文件(只包含编译器编写的代码翻译的机器语言代码)
和 可执行文件(包含程序中的库函数和启动代码的机器代码)
是由机器语言
指令组成。
在UNIX系统上编辑UNIX C不具备自己的编辑器。但可以使用一种通用UNIX编辑器 ,例如emacs ,jove ,vi 或X-Windows
等文本编辑器。
UNIX区分大小写。
源文件是整个编译过程的开始,不是结束。
你刚被MacroMusicle有限公司录用,该公司准备进入欧洲市场,需要一个把英寸单位转换为厘米单位(1英寸 = 2.54厘米)的程序,该程序要提示用户输入英寸值。
#include
int main(void)
{
int inch; // 定义变量
const double MID = 2.54; // 定义常量
printf("请输入要你的英寸值:");
scanf("%d",&inch);
float ceremeter; // 定义变量
ceremeter = MID * inch; // 变量转换公式
printf("转换后的厘米为: %.2f\n",ceremeter);
return 0;
}