前言----小话c语言
不知道该怎么开头,不过开头的几个字都写了,就继续写下去吧。 看过很多以大话开头的书籍,觉得也不怎么样,觉得还没达到大话的层次,本人本着谦虚的精神,暂且以小话开头吧;可能读者看完,觉得连小话都谈不上,先不管这些了;如果读者确实都觉得连小话都谈不上,到时候我再改个名字好了,这样至少也对得起文章的标题。 言归正传,回到主题吧。 以前写过关于c语言的学习资料,发现它真不是容易就能写好的,里面涉及到很多很多的东西;如果是以基础为目的的,那需要描述的就更多了;如果是稍微提 高一些的,那么可能可以少写一些字。不过,以c语言的本质出发,实在太复杂了,如果让c语言之父来描述,估计那本书也没能足以表达他所有的精神和思想,毕 竟核心思想还是在Dennis Ritchie心里,不过他已经离我们而去了,先默哀一下。
语言都是相通的 c语言,也是一种语言,和我们中国人平时说的中文其实是类似的,只不过一个最终是给机器来理解的,一个是让人来理解的。我不知道哪种应该更复杂,但 是,有一点是可以肯定的,是语言它的语法就不会太复杂,否则不要说是笨笨的机器,就是地球上应该是最高级的人类可能都不能很好地理解,如果这样,这种语言 的存在价值就需要思考了。"你好",这句话表示的就是个问候语,如果非要细节地分析内部的语法,可以理解成主谓结构吧,"你"是主语,"好"当成谓语 吧。"int i = 1;" 理解成定义一个整形变量i; int表示变量类型, 后面跟着变量名,再跟着赋值号=,再跟着一个赋值的数据,最后以分号结束即可。这个结构可以 用如下的表达式来表达: 类型 类型名 = 初值; 上面的看起来,不是很复杂,就像理解"你从哪里来?", "我从这里来。"这样的话一样。
为什么需要编译器 写完了int i = 1;之后,机器如何理解呢?当然,没有哪个机器能一下子理解这个。因为,有公司已经把机器的cpu设计成只能理解机器语言的了,那怎么办呢?只能用一种东 西将上面的语句翻译成机器指令,传给机器的cpu,机器就能理解并执行了,而,这个东西就是编译器。不过,有人可能会说,我使用了bash终端,我输入 ls -l再回车,就可以帮我执行命令?哪里有编译器? 解释器是什么 上面说的那个过程真没用到编译器,而是解释器。其实解释器就做了编译器的事情,首先会解析输入的字符串ls -l, 就像编译器解析int i = 1;这个字符串一样,然后解析其中的语义,最后执行对应的操作。
解释器到底是什么 这个东西真的不用多想,它就是一个经过编译器编译ok的程序而已。
解释器运行程序会比对应编译器编译后的程序运行的慢 说的基本是对的,一般是这样,因为解释器多了一层解释的过程,然后才执行。
结束语 好了,关于解释器和编译器的比较就先到此为止,前言的内容我不想写一些废话,因为多打一句废话也是消耗能量的;
不知道该怎么开头,不过开头的几个字都写了,就继续写下去吧。 看过很多以大话开头的书籍,觉得也不怎么样,觉得还没达到大话的层次,本人本着谦虚的精神,暂且以小话开头吧;可能读者看完,觉得连小话都谈不上,先不管这些了;如果读者确实都觉得连小话都谈不上,到时候我再改个名字好了,这样至少也对得起文章的标题。 言归正传,回到主题吧。 以前写过关于c语言的学习资料,发现它真不是容易就能写好的,里面涉及到很多很多的东西;如果是以基础为目的的,那需要描述的就更多了;如果是稍微提 高一些的,那么可能可以少写一些字。不过,以c语言的本质出发,实在太复杂了,如果让c语言之父来描述,估计那本书也没能足以表达他所有的精神和思想,毕 竟核心思想还是在Dennis Ritchie心里,不过他已经离我们而去了,先默哀一下。
语言都是相通的 c语言,也是一种语言,和我们中国人平时说的中文其实是类似的,只不过一个最终是给机器来理解的,一个是让人来理解的。我不知道哪种应该更复杂,但 是,有一点是可以肯定的,是语言它的语法就不会太复杂,否则不要说是笨笨的机器,就是地球上应该是最高级的人类可能都不能很好地理解,如果这样,这种语言 的存在价值就需要思考了。"你好",这句话表示的就是个问候语,如果非要细节地分析内部的语法,可以理解成主谓结构吧,"你"是主语,"好"当成谓语 吧。"int i = 1;" 理解成定义一个整形变量i; int表示变量类型, 后面跟着变量名,再跟着赋值号=,再跟着一个赋值的数据,最后以分号结束即可。这个结构可以 用如下的表达式来表达: 类型 类型名 = 初值; 上面的看起来,不是很复杂,就像理解"你从哪里来?", "我从这里来。"这样的话一样。
为什么需要编译器 写完了int i = 1;之后,机器如何理解呢?当然,没有哪个机器能一下子理解这个。因为,有公司已经把机器的cpu设计成只能理解机器语言的了,那怎么办呢?只能用一种东 西将上面的语句翻译成机器指令,传给机器的cpu,机器就能理解并执行了,而,这个东西就是编译器。不过,有人可能会说,我使用了bash终端,我输入 ls -l再回车,就可以帮我执行命令?哪里有编译器? 解释器是什么 上面说的那个过程真没用到编译器,而是解释器。其实解释器就做了编译器的事情,首先会解析输入的字符串ls -l, 就像编译器解析int i = 1;这个字符串一样,然后解析其中的语义,最后执行对应的操作。
解释器到底是什么 这个东西真的不用多想,它就是一个经过编译器编译ok的程序而已。
解释器运行程序会比对应编译器编译后的程序运行的慢 说的基本是对的,一般是这样,因为解释器多了一层解释的过程,然后才执行。
结束语 好了,关于解释器和编译器的比较就先到此为止,前言的内容我不想写一些废话,因为多打一句废话也是消耗能量的;