C Primer Plus 第一章读书笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本人萌新*1,近期在阅读《C Primer Plus》,想借此机会谈谈自己对这本书的学习体会,既是自己的阅读笔记,也希望能给志同道合的小伙伴们提供启发。

一、C语言的起源.

1.C的由来

C语言的由来并非突发奇想,而是基于B语言的基础上进行设计的,它的设计者初衷也是为了让初识编程的人可以有一种相对统一,便捷的编程工具,尽管如今各种新编程语言的出现,在许多方面进行了优化,但C语言仍是至今主流培养程序员的启蒙性语言。

2.个人看法

从我的理解来看,正是因为C语言在一些方面比较的传统,涉及语法也较为简单,所以作为最初接触的语言,可以帮助初学者打下更好的基础,养成好的编程习惯,使得在将来学习其他更为便捷的语言时事半功倍。

二、选择C语言的理由

1.C语言的一些优势

书中提到C语言有设计特性、高效性、可移植性等属性,关于这些名词其实我现在的理解也十分有限,给我最直观的感受就是C语言确实在语法上较好理解,运行速度很快,源文件也较好移植,也有许多现成的编译器可以支持它在各种编译环境下运行。

2.C语言的缺点

书中还提到C语言的一些缺点,主要是涉及指针方面的一些错误难以发现(尽管我接触的这些程序相当简单,并没有遇到过书中所说的问题),此外就是为了是逻辑看起来简单,代码的具体长度相较于其他新型语言会更繁琐一些,这也导致了一些特殊情况下会产生令人费解的代码。

三、C的应用范围

在实际生活中C语言的应用范围很广,而且作为最初的语言,涉及的都是核心部分,这也是C语言经久不衰的重要因素,例如说UNIX操作系统,计算机游戏,计算机语言嵌入式系统等,可以说现有的许多计算机产物都离不开底层的C语言。

四、计算机能做什么

这一节对于计算机工作原理的具体描述我并不太了解,但从学习C语言的角度我捕捉了一些关键词首先计算机对外部信息的储存方式二进制,与其交流显然不能像人与人之间交流,而需要通过编译器将我们的语言转换成它所理解的机器语言,计算机本质是计算工具,他不具备人的任何思维,所以叫他做事必须一步步进行,否则结果可能会不如意。

五、高级计算机语言和编译器

1.高级计算机语言

高级编程语言顾名思义,就是通过已有的而条件,简化编程工作,使编程过程更贴近于人的语言描述,具体的方法以我现在的认知还不能做出解释。我们所熟知的编程语言大多为高级计算机语言。

2.编译器

编译器则是将高级编程语言转化后的信息进一步转化成机器语言的工具,如今已有很多种功能全面的编译器,在我的学习过程中还尚未涉及到其原理,我对此的理解也仅限于使用方式。

六、语言标准

C语言发展至今自然也是经过了多次的优化,如今我们所使用的版本显然不是当初的的第一代,据我所知C语言的版本有C89、C90、C99、C11、C17等,该书因为出版较早,所以只提到C11及之前的版本。

七、使用C语言的7个步骤

使用C语言的步骤分为:定义程序目标、设计程序、编写代码、编译、运行程序、测试和调试程序、维护和修改程序。

1.定义程序目标

首先在我们编程之前需要搞清楚这个程序是要干什么,从人的角度分析问题,如果一个程序员不能自己理解程序意图,那显然不可能完成后面的工作。

2.设计程序

当我们从人的角度理清思路后,接下来就是要列个“计划表”,例如需要哪些数据,采取哪些方法使得计算机能够计算,如何将他的结果呈现给我们等等。

3.编写程序

昨晚上述两步,第三步就相对简单,只需保证不出现语法错误的前提下完成计划。

4.编译

编译是将源文件转化为可执行代码的过程,其具体工作由编译器完成,对于编译器的工作原理我尚不了解,便不做赘述。

5.运行

当可执行文件生成后通常便可以进行运行,进而判断运行结果是否如我们预期那样,如果是自然最好,说明程序应该没有问题,反之则需要继续进行下面步骤。

6.测试和调试程序

在运行时发现结果并不如你所期望的那样,接下来寻找问题并修复的过程就是调试,一个程序员一生必然经历无数次调试,毕竟随着设计问题的复杂度增加,人不可能永不犯错,而随着我们能力的提升,往往错误会更加不易察觉。

7.维护和修改代码

这在我们学习初期可能并不怎么涉及,或者在我们掌握新知识之后会发现自己曾经的代码相当的low,这时我们可能会选择用新的程序来代替过去的程序。而在未来工作过程中,当我们的程序在使用过程中出现了问题,或者根据实际情况需要添加新的功能时,我们便需要维护和修改代码。

八、结尾

书中知识有不少我也是尚未理解,在之后的学习过程中中如果有新的理解会继续补充。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值