1.1 C语言的起源
1972年,贝尔实验室的Dennis Ritch和Ken Thompson在开发UNIX操作系统时设计了C语言。它是在B语言的基础上设计的。现已成为首选的编程语言之一。
1.2C语言的优点
1.2.1设计特点
C语言是自顶向下,结构化编程和模块化设计。
1.2.2高效性
C是高效的语言。C语言具有汇编语言才具有的微调控能力。
注:汇编语言是为特殊的中央处理单元设计的一系列内部指令,使用助记符表达。
1.2.3可移植性
C是可移植的语言,即在一种系统中编写的C程序稍作修改或不修改就能在其他系统运行。
1.2.6缺点
C语言结合大量运算符,编写出让人极其费解的代码,也就C语言举办过年度混乱代码大赛。
1.3高级语言和编译器
高级语言:以更抽象的方式描述行为,不受限于特定CPU或指令集。相较于机器语言,高级语言更加简单易学。
编译器:把高级语言程序翻译成计算机能理解的机器语言指令集的程序。
1.4语言标准
1989年,标准(ANSI C)定义了C语言和C标准库,也叫C89/C90。
1994年,发布C99标准
2011年,发布C11标准
1.5使用C的7步骤
(1)定义程序的目标
想做什么,需要哪些信息,要进行哪些计算和控制。
(2)设计程序
(3)编写代码
如下附上一个简易代码:
#include <stdio.h>
int main()
{
int dogs;
printf("How many dogs do you have?\n");
scanf_s("%d",&dogs);;
printf("So you have %d dog(s)!\n,dogs");
return 0;
}
(4)编译
编译器是把源代码转换成可执行代码的程序。可执行代码是用计算机的机器语言表示的代码。
(5)运行程序
在IDE上运行,IDE:集成开发环境
(6)测试和调试
查找并修复程序错误的过程叫做调试。
(7)维护和修改
1.6编程机制
用C编写程序时,编写内容被储存在文本文件中,该文件被称作源代码文件,即.c文件。xxx.c
xxx是基本名,c是扩展名。
目标代码文件、可执行文件、库
C是用程序把源代码文件转换为可执行文件。其过程是通过编译和链接来完成。编译器把源代码转换成中间代码,链接器把中间代码和其他代码合并转换成可执行文件。
目标文件中存储的编译器翻译的源代码,缺少启动代码和库函数。启动代码充当程序和操作系统之间的缺口,库函数中包含许多函数的目标代码。
链接器的作用是把目标代码、系统的标准启动代码和库函数代码合并,对于库函数,链接器只会把程序中要用得到的库函数代码提取出来。
简而言之,目标文件和可执行文件都由机器语言指令组成的,然而,目标文件中只包含编译器翻译的机器语言,可执行文件包含程序中使用的库函数和启动函数。
注:源文件是整个编译过程的开始。