搜索
写经验 领红包
 > 设计

c语言程序员用什么编辑器(编程语言c语言)

导语:C语言高级专题番外篇-程序员和编译器之间的暧昧

《C语言高级专题.番外篇-程序员和编译器之间的暧昧》

第一部分、章节目录

4.10.1.编程工作的演进史

4.10.2.程序员、编译器、CPU之间的三角恋

4.10.3.像编译器一样思考吧

第二部分、章节介绍

4.10.1.编程工作的演进史

本节从编程人员的工作演进史讲起,从本质上给大家分析了编程的实质,这有助于理解程序员和程序、机器之间的关联。

4.10.2.程序员、编译器、CPU之间的三角恋

本节分析程序员、编译器和机器(CPU)之间的关系,目的是让大家从本质上认识到编译器的作用,从而理解编译器的行为和对我们写程序的约束。

4.10.3.像编译器一样思考吧

本节为总结性章节,以前面2节的分析为基础提出一个观点,程序员只有像编译器一样思考才能让自己的程序正确且更快更好的运行。

第三部分、随堂记录

4.10.1.编程工作的演进史

4.10.1.1、CPU需要的只是1和0组成的二进制数据

(1)不管编程怎么变,最终编程得到的可执行二进制程序都是给CPU运行的。CPU需要的只是按照CPU设计时的规律(机器指令)排布的一串二进制1和0组成的数字(机器码),CPU根本不关心这些二进制是怎么来的。

(2)这些二进制可能是一个很厉害的程序员直接用1和0拼出来的;也可以是用汇编语言编写最终编译得到的;也可以是用C语言编写最终编译得到的;也可以是用java C、bash等。越往上越靠近人的思维,越往上语言本身提供的封装越多,越往上编程难度越低、语言的掌握越容易。

4.10.2.程序员、编译器、CPU之间的三角恋

4.10.2.1、CPU只认识二进制机器指令

(1)CPU是最终干活的,而CPU只认识只接受二进制。

4.10.2.2、人类喜欢符号而不是二进制

(1)人类的大脑本身不喜欢二进制而喜欢符号、文字。

(2)人类和机器之间天生有代沟,于是乎编程不容易。

4.10.2.3、连接人(程序员)与机器(CPU)的桥梁:编译器

(1)编译器降低了编程难度。编译器的代表就是编程语言,每一种编程语言都有对应的编译器,这个编译器的作用就是把这种语言的源文件编译成可执行程序。

(2)关键是:有了编译器(高级语言)之后,我们程序员就不再盯着CPU(二进制),而是改为盯着编译器(编程语言、编程语言的语法),所以我们学习编程的关键变成了学习编译器的习性,也就是编程语言的语法。

4.10.2.4、发明一门语言关键就在于发明它的编译器

(1)编译语言的关键就是编译器。yacc和lex工具就是用来发明编程语言的。

4.10.2.5、高级语言与低级语言的差别

(1)越高级的语言越靠近人类思维;越低级的语言越靠近机器的需要。

(2)人与机器总劳动量(总复杂度)守恒。人要是复杂一点机器就可以简单一点;人简单一点机器就需要复杂一点。这个规律描述的就是:编程语言越简单,人使用起来越简单,编译器设计起来就更复杂;编程语言越复杂、程序员使用起来越麻烦,则编译器设计越简单,CPU执行效率越高。

4.10.3.像编译器一样思考吧

4.10.3.1、语法是什么?语法就是编译器的习性

(1)编译器反应在编程中就是语法。

譬如1:

for (i=0; i<10; i++);

{

xxx;

}

譬如2:

int i;!!i;

解析:!在C语言中是逻辑取反的意思,逻辑取反意思就是0取反就是1,不是0的数取反就是0.

问题:让你用C语言编程实现:如果一个数i是0则返回0,如果不是0则返回1

一般实现:if (i == 0){return 0;} else{return 1;}

或者可以用三母运算符:(i==0)?(0):(1);

极客式写法:!!i;

4.10.3.2、习得一门语言就像认识一个朋友

(1)从新开始认识一个人到成为好朋友,这里面要经历:时间、共事。

(2)学习一门编程语言也需要:时间、实践(共事)

4.10.3.3、学习编程语言要懂得换位思考

(1)预处理中处理程序注释、空行。

4.10.3.4、注意实践中的摸索和总结

(1)要点一:在实践中

(2)要点二:摸索

(3)要点三:总结

本文内容由小故整理编辑!