C語言是什么?

給別人提起 C語言,可能會(huì)有下面的疑問?
現(xiàn)在都是什么社會(huì)了,還有必要學(xué)習(xí)C語言嗎?
只要明白C語言是什么?那我們就搞明白了,為什么學(xué)習(xí)C語言了?
那究竟什么是C語言呢?

Mother language
C語言被認(rèn)為是所有現(xiàn)代編程語言的母語言,因?yàn)榇蠖鄶?shù)編譯器、JVM、內(nèi)核等都是用C語言編寫的,而且大多數(shù)編程語言都遵循C語言的語法,例如,C++、Java、C#等。
它提供了核心概念,如數(shù)組、字符串、函數(shù)、文件處理等,這些概念在許多語言中都被使用,如C++、Java、C#等。
System programming language
系統(tǒng)編程語言是用來創(chuàng)建系統(tǒng)軟件的。C語言是一種系統(tǒng)編程語言,因?yàn)樗梢杂脕碜龅图墑e的編程(例如,驅(qū)動(dòng)程序和內(nèi)核)。它通常被用來創(chuàng)建硬件設(shè)備、操作系統(tǒng)、驅(qū)動(dòng)程序、內(nèi)核等。例如,Linux內(nèi)核是用C語言編寫的。它不能用于互聯(lián)網(wǎng)編程,例如Java, php等。
Procedure-oriented programming language
過程被稱為函數(shù)、方法、例程、子程序等。過程式語言規(guī)定了程序解決問題的一系列步驟。過程式語言將程序分成函數(shù)、數(shù)據(jù)結(jié)構(gòu)等。C語言是一種過程式語言。在C語言中,變量和函數(shù)原型在使用前必須先聲明。
Structured programming language
結(jié)構(gòu)化編程語言是程序化語言的一個(gè)子集。結(jié)構(gòu)化是指將程序分成若干部分或塊,使其易于理解。在C語言中,我們用函數(shù)將程序分成幾個(gè)部分。它使程序更容易理解和修改。
Mid-level programming language
C語言被認(rèn)為是一種中級語言,因?yàn)樗瑫r(shí)支持低級和高級語言的特點(diǎn)。C語言程序被轉(zhuǎn)換為匯編代碼,它支持指針運(yùn)算(低級),但它是獨(dú)立于機(jī)器的(高級的特征)。
低級語言是特定于一臺(tái)機(jī)器的,即依賴于機(jī)器。它依賴機(jī)器,運(yùn)行速度快。但它不容易理解。
高級語言不特定于一臺(tái)機(jī)器,即機(jī)器獨(dú)立。它很容易理解。
網(wǎng)上流傳一個(gè)傳說:匯編生C語言,C語言生萬物。