{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

C语言作为计算机编程语言,和我们常说的汉语,英语等人类语言有什么区别吗?

sumorysumory 回答6 收藏1
收藏问题

6条回答

jifei

jifei

回答于2022-06-22 18:56

谢邀。

程序员编程时,C语言的确可以看做一门“外语”——一门我们人类与计算机交流的语言,编程就是将人类的意图通过这门“外语”翻译给计算机,计算机理解我们的意图后,就知道该做什么了。

不过,编程语言这门“外语”与我们人类之间交流的语言(汉语,英语等)还是有一些不同的,这里将尝试说说我认为的二者的区别。

自然语言和形式语言

在开始看 C 语言代码之前,我们先来说说“自然语言”和“形式语言”。“自然语言”就是我们人类说的语言,比如汉语,英语,日语,法语等等,自然语言并不算是人为设计的,更多的是在人类进化过程中逐步形成的。

“形式语言”则是人们为了一些特定的应用人为设计的,一般包括符号和结构的设计,比如数学算式的数字和运算符号,化学家的化学式等等。

当我们阅读一条语句时,不论它是“自然语言”还是“形式语言”,不仅要理解符号的意义,也要读懂结构的含义。例如“我想打你”这句话,不仅要知道每个字的意思,还要知道这句话的结构,“我”和“你”的位置不同,表达的意思是截然相反的。

如今,自然语言也有语言学家研究,并且加了一些加强规则,比如主谓宾的语法等。但是自然语言的规则严格性,远远没有形式语言那么苛刻。

相对于“自然语言”,“形式语言”对规则要严格的多,我们说病句,例如“我跑得快比你”和“我比你跑得快”这两句话,一般人也能懂。但是形式语言就不可以了,无论是符号错误,还是结构错误,都不能正确表示原本期望表达的含义。

构成算术式:1 + 8 = 9

构成水分子化学符号:H2O

存在非法符号:1 + 8@ = 9

脚标不对:HO2

C 语言程序

编程语言自然是属于形式语言,我们来看看 C 语言版本的 hello world:

虽然这只是非常简单的程序,但是却能说明 C 语言的很多规则。

使用printf函数之前,要首先包含它的头文件stdio.h。包含头文件要使用#+include符号,而且这条语句要独自占一行。

main是C语言默认的入口,程序从入口开始执行,它是int类型的,int 要与 main 用空格,tab或换行符隔开,函数要有括号和大括号,函数内的语句要用分号结尾。另外,上面的代码中有很多缩进,不过这是可选的,恰当的缩进只是为了我们人类看着方便而已。

以上都是 C 这门形式语言定义的符号和结构,要严格遵守规则,才能写出正确的 C 语言代码。如今,其他编程语言也是类似的,都必须严格设计好的规则进行。

总结

计算机编程语言和我们人类使用的自然语言有很多共同之处,但是也有很多不一样的地方。

歧义性

自然语言充满歧义,人们通过上下文的线索和其它一些信息来解决这个问题。但是编程语言就不能有这样的歧义,计算机不会自己主动理解人类的意图。

冗余性

为了消除歧义减少误解,自然语言引入了相当多的冗余,比如很多语气词感叹词。结果是自然语言经常变得啰里啰嗦,而形式语言则更加紧凑,极少有冗余。

与字面意思的一致性

自然语言充斥着成语和隐喻,我在不同场合说的相同一句话,意义却可能不同。而编程语言就永远都是一个意思,语义不会随着场合,时间变化。

说自然语言长大的人,往往有一个适应编程员(形式语言)的困难过程,这也往往是入门编程的一个小难点。

欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍C语言、linux等嵌入式开发,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。

评论0 赞同0
  •  加载中...
huhud

huhud

回答于2022-06-22 18:56

单纯的从语言层面来算的话,其实也没啥区别,只是汉语和英语是需要翻译给人的,C语言是翻译给计算机的。

比如C语言的翻译流程,写代码,交给编译器,编译器翻译成汇编语言,汇编语言在翻译成二进制,这样计算机就懂了可以执行了。

汉语和英语,说话交给耳朵或者眼睛,然后在由大脑接收后翻译成人类可以理解的电信号。

评论0 赞同0
  •  加载中...
Chao

Chao

回答于2022-06-22 18:56

简单来说C语音做的使把人类的想法传递给机器。机器只能识别“0”或者“1”,C语音能够把人的想法附着在机器上,让机器什么时候该“0”,什么时候该“1”。

评论0 赞同0
  •  加载中...
NotFound

NotFound

回答于2022-06-22 18:56

汉语,英语,都是人人交流语言,c语言是人机交流语言

评论0 赞同0
  •  加载中...
Joonas

Joonas

回答于2022-06-22 18:56

C语言等编程语言

1 单词很少,也就几十个。

2 词义明确,没有一词多义现象,很容易理解。

3 没有时态语态变化,容易掌握。

4 没有词法语法修辞,谈不上是语言吧,就是个符号系统。

请不要把编程语言看做什么语言了,就是简单的符号!

评论0 赞同0
  •  加载中...
ranwu

ranwu

回答于2022-06-22 18:56

C语言是电脑编程类语言,是人机交互的一个桥梁,汉语,英语是人类交流的需要,是人与人之间沟通和知识传播传承的桥梁和载体

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<