C语言工作原理和运行机制
计算机语言和人类高级语言的联系
可以说,所有的编程语言都是一个原理,使用人类能读懂的语言来编写源代码(source code),再利用编译器将源代码翻译成机器能读懂的语言,称为目标代码(object language)。
在计算机底层硬件中,所有的数据都是以1和0两个高低电平来表示,计算机只能识别这两个电平。
编程语言类似于人类语言,我们很容易就能理解它的意思,编写代码的效率非常高。
但是,计算机只认识0和1,如何才能将“人类语言”转换成“0&1语言”呢?这就是编译器的工作了。
编译器能够将源代码(人类语言)翻译成目标代码(0&1语言),便于人类和计算机的沟通。
人类高级语言
可以将目前流行的编程语言(如C语言、Java、PHP等)比喻成各国语言(如英语、汉语和法语等),为了表达同一个意思,可能使用不同的语言和语句。例如,表达“世界你好”的意思:
- 汉语:世界你好;
- 英语:Hello World
- 法语:Bonjour tout le monde
程序高级语言
在编程语言中,输出“Hello World”:
- C语言:printf("Hello World");
- PHP:echo "Hello World";
- Java:System.out.println("HelloWorld!");
使用C语言开发软件的一般步骤为:
- 使用编辑器编写源代码(source code);
- 使用编译器将源代码(source code)编译成目标代码(object language);
- 运行目标代码(object language),即编写好的程序。
可以这样来理解一门编程语言:
- 首先定义好该语言的语法和规范,例如,如何输入输出数据,如何操作文件等;
- 按照语法和规范开发编译器,这是关键步骤;
- 开发辅助功能,例如,调试器,编辑器等;
- 向世界公开该语言。