《C Primer Plus (第6版)中文版》读书笔记------第一章


本章介绍以下内容:

C的历史和特性

编写程序的步骤

编译器和链接器的一些知识

C标准

       欢迎来到C语言的世界,C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。



C语言的起源

       1972年,贝尔实验室的丹尼斯.里奇和肯.汤普逊在开发UNIX操作系统时设计了C语言。是在B语言(汤普逊发明)的基础上设计的。



为什么选择C语言?

       在过去40年,C语言已经成为最重要、最流行的编程语言之一。虽然许多人都从C语言转用其它编程语言(如C++、java等)。本人选择C语言作为自学的第一个语言,不仅仅因为这是我接触的第一个编程语言,而是因为C语言是所有语言的基础(个人觉得)。C语言作为一个很老的语言之一,不仅没有消失,在编程语言使用排行榜上也是名列在前,排名在前的一些语言也是以C语言为基础。



C语言的设计特性

        融合了计算机科学理论和实践的控制特性,让用户能轻松地完成自顶而下的规划、结构化编程和模块化。

C语言的高效性

       C程序相对紧凑,运行速度很快。C语言具有汇编语言才具有的微调控制能力,可以根据情况微调程序以获得最大的运行速度或最有效的使用内存。

C语言的可移植性

        在一种系统中编写的C语言稍作修改或者不修改就能在其他系统中运行,大部分的语言都希望成为可移植语言。个人觉得工作的系统不同,当切换工作平台时就需要移植。

C语言强大而灵活

        强大而灵活的UNIX系统(C语言的起源)大部分就是用C语言写的,其他语言(如Python等)的许多编译器和解释器都是用C语言写的,由C程序生成最后的可执行程序。

C语言面向程序员

       C语言时为了满足程序员的需求设计的,利用C可以访问硬件、操控内存中的位。大多数C实现都有一个大型的库,包含众多有用的函数,这些函数用于处理程序员经常需要解决的问题。

C语言的优点

许多任务用C来处理非常简洁。

C语言的缺点

涉及指针的编程错误往往难以察觉,C语言的优点比缺点多很多。



C语言的应用范围

       计算机游戏、嵌入式系统、机器人工厂、星球大战电影、PC应用、计算机语言等。

     (C++几乎是C的超集,任何C语言差不多是一个C++程序。学好C语言对学习C++,乃至其他语言都有很大帮助)



计算机能做什么

        现代计算机由多种部件构成。中央处理器(CPU)承担大部分的运算工作,随机存储器(RAM)存储程序和文件的工作区,永久内存存储设备(硬盘)即使关闭电脑也不会丢失之前存储的程序和文件,还有各种外围设备(如键盘、鼠标等)。



高级计算机语言和编译器

       高级编程语言简化了编程工作。首先不用数字码表示指令,其次使用的指令更贴近你如何想这个问题,而不是类似计算机那样繁琐的过程。编译器是将高级语言程序翻译成计算机能理解的机器语言指令集的程序。

例:   对于两数相加,可以这样写:total = mine + yours;         



语言标准

       在C语言发展之初并没有C标准。个人感觉就像我们现在的方言和普通话。1978年,布莱恩.柯林汉和丹尼斯.里奇合著《C语言程序设计》第一版是标准的C标准。

第一个ANSI/ISO  C标准

       美国国家标准协会于1983年组建了一个委员会,开发了一套新标准,该标准定义了C语言和C标准库。

 委员会在表述C精神时列出了一下几点:

信任程序员

不要妨碍程序员做需要的事

保持语言的精炼简单

只提供一种方法执行一项操作

让程序运行更快,即使不保证其可移植性

       委员会在1994年发布了C99标准,2011年发布了C11标准。



使用C语言的7个步骤(个人觉得这个比较重要)

1.定义程序目标

       在写程序之前,要有清晰的思路。想要程序去做什么,首先自己要明确自己想做什么,思考需要哪些信息。在这一步骤中,不涉及具体的计算机语言,用一般术语来描述问题。

2.设计程序

       考虑如何用程序来完成它。在这一步骤中,也不涉及具体的计算机语言,用一般术语来描述问题。

3.编写代码

       设计好程序以后,就可以编写代码来实现它。

4.编译

       编译源代码。编译器是将源代码换成可执行代码的程序,可执行代码是用计算机的机器语言表示的代码。

5.运行代码

      可执行文件就是可运行的程序。

6.测试和调试代码

       在程序运行的过程中可能会出现错误,计算机行话叫做bug,查找并修复程序错误的过程叫做调试。(愿大家写程序永无bug)

7.维护和修改代码

       当发现程序有错这个时候就要修改程序。

说明

       编程并非时一个线性的过程,要在不同的步骤之间往复。很多初学者经常忽略第一步和第二步,直接进行第三步,这是不可取的。当你的程序越来越复杂的时候,隐藏的错误也就越来越难找。



编程机制

       用C语言编写程序的时候,编写 的内容被存储在文本文件中,该文件被称作源代码文件,都要求文件明以.C结尾(wordcount.c),点号前面称为基本名,点后面的部分被称为拓展名

目标代码文件、可执行文件和库


编译器和链接器

       源代码通过编译器转化成机器语言代码,放在目标代码文件(编译器翻译的机器语言代码)中,链接器把目标文件代码、库代码和系统标准启动代码合并成一个文件,即可执行代码文件(包含库函数和启动代码的机器代码)。



复习题

1.对编程而言,可移植性意味什么?

2.解释源代码文件、目标代码文件和可执行代码文件有什么区别?

3.编程的7个主要步骤是什么?

4.编译器的任务是什么?

5.链接器的任务是什么?



(个人见解,欢迎大家观看,有不足之处,敬请指导!!! 有兴趣的朋友也可以买这本书来观看,互相交流,侵删!!!方便的朋友点赞支持一下,谢谢~)

你可能感兴趣的:(《C Primer Plus (第6版)中文版》读书笔记------第一章)