C Primer Plus第一章笔记,总结

笔记可能有误,读者自行参考!
根据大致的目录来回忆写博客,然后串上后几章学的,让叙述更加的完整。第一次写博客,我现在有一种隐约的感觉,写博客会让我有较大的进步,写博客的过程相当于对别人复述学到的知识,如果认真写的话,会收获很多的东西。
不得不说,C Primer Plus是一本非常好的自学书籍。

初识C语言

先说程序是怎么运行的
(按照我的理解解释,有一点编译基础能够读懂)

计算机执行一个程序(具有一定功能的源代码块)的过程是C语言先由编译器翻译成汇编语言,然后由汇编器翻译成机械语言,由于是代码块,所以需要连接以便使得功能连接形成完整的程序。为什么要有编译器,就是为了省事,因为计算机不会思考,它只是我们设计的一个电路。可以把C语言想象成我们说的话,说一句话你需要对相关的事物有相应的概念这样你才能理解这句话,比如苹果,打球,交通工具等等,你已经有这些事物的概念,所以当它们出现在一句话中的时候你就很容易理解这句话。
编译器就是存储语言概念的一个应用。当我们需要理解你说的C语言时,借助编译器就可以理解,这样子非常的省事,不用在C语言中添加对概念的理解,直接调用。两级编译(C编译和汇编语言编译)都可以这样理解,你可能会有疑问,直接一级编译不就行了,其实两级编译的好处是显而易见的,如果有了二级翻译,这样就可以产生可移植C语言,因为汇编语言已经属于计算机系统层面,它很早就诞生了,随着发展,汇编语言基本统一了,C语言属于我们自己设计的语言,为应用软件层面,当我们需要开发各种语言的时候,只需要与编译语言接口就行了。现在也很容易知道,即使在不同的操作系统,C语言不做修改或者仅做少量修改就可以在其他的系统上面运行,这就是C的可移植性。
为了实现更快的程序运行速度,于是产生了各种库,即将常用的源代码块放在一起。(这方面我了解不多,简述)。我们编写的语言最后都要翻译成二进制串,即一系列的0和1的组合。这时我们是看不懂的,有点电路知识,我们就知道其实0和1是高电平和低电平,简单来说就是二极管的导通(正接)和关闭(反接)。复杂一点就是输出的两个结果,高电平1和低电平0。电平也就是电位。我随意的说一下编译过程(形式随意),C语言10行,汇编语言100行,机械语言1011110001110110101101010011…(一千个0和1的组合)。
现在读者应该明白,程序都是一步步执行的,对于CPU来说更是如此,程序都是翻译成一系列指令的,指令是存在于CPU中的,与CPU一起被设计出来,CPU就是运算电路,也就是干活的。一步步不是直接得出5*6=30,而是6+6+6+6+6+6=30,计算机就是这样笨重,但是它能以今人的速度运行,就是因为是电流控制的,这是主要的原因。

现在再来细说第一次翻译,第一次翻译也要追求高效性,所以把经常用到的词(其实也就是函数等)的解释放在一个文件库里面,然后等你写代码的时候只需要声明我要用到这个函数比如 (输出函数)以及把这个函数的名称(printf)写出来就行了,等到代码执行的时候会自动到文件库把printf函数的解释部分提取出来,把所有需要解释得部分都提出来的过程即使预处理过程,#include即是编译预处理命令,stdio.h就是头文件库,里面有printf函数的解释信息。等到编译预处理命令执行完毕之后就开始按照规则对语言(代码)进行检查了,看有没有违反规则或者规范不规范,违反规则会报错运行不了程序员需要修改代码,不规范有可能导致错误但是可以运行。然后进行翻译,翻译成汇编语言,到最后翻译成可执行程序。点击运行,CPU就会执行这个程序。

为什么说C语言有强大而灵活,面向程序员,高效性等优点呢!这完全是C语言的功劳。他们没有对C语言设置那么多的规则,以至于它检查的少了,这样运行就会快一点,但是会更加考察程序员的功底,所以面向程序员。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值