C语言程序设计 C编译器的作用
首先举个例子。
如果一个不懂英语的中国人和一个不懂中文的英国人交流,可以借助于翻译工具(或软件,比如金山词霸,金山快译,南极星等),也可以通过通过英语翻译(这里指人)来做英汉互译。
当英语或中文有语法错误或者笔误时,翻译工具往往不能准确翻译,因为它不具备像人一样的智能,不能自动识别错误和准确地纠正错误。而英语翻译(人)就可以做到这一点。
下面是用Google翻译工具来翻译一段中文:
“以您的语言输入一个搜索词组,轻松查找其他语言的网页。为方便您阅读,我们会对结果进行翻译”。
如图所示:
翻译成的英文:
“To your language to enter a search phrase and easily search in other languages page. For the convenience of your reading, we will translate the results.”
其中“To your language to enter a search phrase and easily search in other languages page. ”翻译的不准确。
再举一例:
“即使在走投无路时,人也不要放弃生的机会,因为太阳每天都是新的.”翻译为“Even in desperation, the people should not give up the opportunity for students, because the sun is a new day.”
类似地,我们同计算机打交道,如何让计算机(机器)理解我们的自然语言呢?
计算机只能识别和执行二进制形式的指令,我们可以创建一套新的语言(比如C语言,Pascal,Basic等),这种语言符合人类的思维习惯,便于学习,理解和使用。通过翻译工具把这种语言书写的代码翻译为二进制形式机器语言。如图所示(Hello.cpp):
编译后的文件(HelloC.exe)如图所示 ,(注意:图中显示为十六进制便于查看和编辑)
把C语言代码翻译为计算机语言是靠编译器(compiler)来做的,因此,当出现任何语法或书写错误时,编译器不能准确翻译为计算机语言。虽然编译器在编译之前会检查各种错误,但是有些错误是无法检查出来的,比如:运行时才能出现的错误,程序算法错误,书写笔误等。