标签:汽车 允许 win 高级编程 修改 写代码 font file 就是
学习笔记:
1.1 C语言之起源
1972年,在美国的贝尔实验室内的丹尼斯·里奇(Dennis Ritch)和肯·汤姆逊(Ken Thompson)在开发Unix操作系统时发明了C语言,然而,在C语言的设计之中它并不是一个独立的思路设计,它是在基于B语言的基础上来进行设计的,至于B语言的起源,可以参考B语言的起源,C语言的设计初衷是为了给程序员使用的一个编程工具,其主要目标是成为有用的语言。
1.2 选择C语言编程的理由
在过去40年里,C语言成为最流行、最重要的编程语言之一,在10大最受欢迎编程语言排行榜中,经常与Java语言进行第一第二的排名争抢,不是第一就是第二,它的成长主要归纳于对于使用过它的人对该语言都很满意,过去的20年里,虽然许多人都从C语言转向其他编程语言(如:C++ Objective-C Java等),但是C语言却依旧凭借本身的实力在众多语言中脱颖而出。
1.3 C语言的特性(优点)
1.4 C语言的应用范围
1.5 计算机工作原理
现代的微型计算机主要是由多种内部构架组成:中央处理单元(CPU)承担了大部分的运算工作。随机存储内存(RAM)是存储程序和文件的工作区;而永久内存存储设备(过去主要指一些机械硬盘,现在还包括固态硬盘比如一些SSD等)即便关闭计算机后,存储后的数据或者文件也不会丢失,另外,还有一些外设(键盘、鼠标、触摸屏、监视器)提供人与计算机之间的交互。CPU主要负责处理程序。
CPU的工作非常简单,它从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令,诸如此类(一个GHz的CPU一秒钟能重复这样的操作约十亿次,因此,CPU能以惊人的速度来重复进行枯燥乏味的工作,CPU有一个自己的工作区-由若干个寄存器组成,每个寄存器都可以存储一个数字。一个寄存器储存下一条指令的内存地址,CPU使用该地址来获取和更新下一条指令。在获取指令后,CPU在另一个寄存器中储存该指令,并更新第一个寄存器储存下一条指令的地址。CPU能理解的指令有限,(这些指令的集合叫做指令集。)而且,这些指令相当具体,其中的许多指令都是用于请求计算机把一个数字从一个位置移动到另一个位置。
储存在计算机中的所有内容都是数字。计算机以数字形式储存数字和字符(如,在文本文档中使用的字符。)每个字符都有一个数字码。计算机载入寄存器的指令也以数字型式储存,指令集的每条指令都有一个数字码(即:机器语言)来表示。
简而言之,计算机的工作原理是:如果你希望计算机做某些事,就必须为其特殊的指令列表(程序),确切的告诉计算机要做的事以及如何做,你必须用计算机能直截了当明白的语言(机器语言)来创建程序。这是一项:繁琐、乏味、费力的任务。计算机要完成诸如两数相加这样简单的事,就得分类成类似以下的步骤。
1.6 高级计算机语言和编译器
高级编程语言(如:C)以许多的方式简化了编程工作,首先,不必用数字码表示指令,也不用考虑CPU在完成任务时具体需要那些步骤。
total = mine +yours;
我们用上面的变量来举例,只需要看一下这个例子就知道编程语言想要做什么,而如果看成机器语言写成的等价指令(多条以数字码形式表现的指令)则费劲得多。但是,对于计算机语言而言却恰恰相反。在计算机看来,高级指令就是一堆无法理解的无用数据。所以,编译器在这里就派上了用场。编译器的作用是把高级语言的程序指令翻译成了计算机内部所能理解的机器语言指令集的程序(二进制),程序员进行高级思维活动,而编译器则负责处理冗长乏味的细节工作。
1.7 语言标准
C语言的发展之初,并没有所谓的C语言标准,在1978年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合著的The C Programming Language(C语言程序设计)第一版是公认的C标准,通常称之为K&RC或经典C。与大多数语言不同的是,C语言比其他语言更依赖库,因此需要一个标准库,实际上,由于缺乏官方标准,Unix实现提供的库已经成为了标准库。
1.8 C语言的一些标准
1.9 使用C语言的7个步骤
2.0 编程机制
生成程序的具体过程因计算机环境而异。C是可移植性语言,因此可以在许多环境中使用,包括:Unix、Linux、MS-DOS(一些人仍在使用)、Windows和Macintosh OS,有些产品会随着时间的推移发生演变或取代;用C语言编写程序时,编写的内容被储存在文本文件中,该文件被称为源代码文件(source code file)。大部分C系统,包括之前提到的,都要求以.c结尾(如:wordcount.c和hello.c),在文件中,点号前面的被称之为基本名(basename),点号后面的为扩展名(extension)。因此,文件名应该满足特定计算机操作系统的特殊要求,如:在MS-DOS环境下比较老旧,它要求基本名不能超过8个字符。因此,刚才提到的wordcount就是无效的DOS文件名;有些Unix系统则允许使用更长的文件扩展名不超过14个字符,而有些Unix系统则允许使用更长的文件名,最多255个字符,Linux、Windows和Macintosh OS都允许使用长文件名。
C语言编程的基本策略是,用程序把源代码文件转换为可执行文件,典型的C实现通过编译和链接两个步骤来完成这一过程。编译器把源代码转换成中间代码,链接器把中间代码和其他代码合并,生成可执行文件。C使用这种分而治之的方法方便对程序进行模块化,可以独立单独编译的模块,稍后再用链接器合并已编译的模块,通过这种方式,如果只更改某个模块,不必因此重新编译其他模块,另外,链接器还将你编写的程序和预编译的库代码合并。
简而言之,目标代码和可执行文件都是由机器语言指令组成的。然而,目标文件中只包含编译器为你编写的代码翻译的机器语言代码,可执行文件中还包含你编写的程序中使用的库函数和启动代码的机器代码。
标签:汽车 允许 win 高级编程 修改 写代码 font file 就是
原文地址:http://www.cnblogs.com/HackKen/p/7746875.html