- C語言程序設(shè)計(jì)教程
- 王素香 魏鋼
- 1214字
- 2019-10-23 15:50:00
1.1 C語言簡介
1.1.1 計(jì)算機(jī)語言概念
自從世界上第一臺(tái)計(jì)算機(jī)ENIAC誕生以來,計(jì)算機(jī)已廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,給人類的生活帶來了巨大的利益。作為人與計(jì)算機(jī)交流的工具,計(jì)算機(jī)語言也在不斷地發(fā)展。C語言是當(dāng)今世界上廣泛流行、備受各界青睞的計(jì)算機(jī)語言之一。
1.計(jì)算機(jī)語言的定義
計(jì)算機(jī)語言是指計(jì)算機(jī)能夠識(shí)別和接受的語言。要使計(jì)算機(jī)按自己的意圖工作,必須使用計(jì)算機(jī)所能接受、理解和執(zhí)行的指令來指揮它工作。通常把用計(jì)算機(jī)語言描述的一組指令序列稱為“程序”,所以計(jì)算機(jī)語言又稱程序設(shè)計(jì)語言。
2.計(jì)算機(jī)語言的種類
計(jì)算機(jī)程序設(shè)計(jì)語言經(jīng)歷了從機(jī)器語言、匯編語言到高級(jí)語言的歷程。
1)機(jī)器語言
計(jì)算機(jī)內(nèi)部使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算機(jī)語言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們就是寫出一串串由“0”和“1”組成的指令序列交由計(jì)算機(jī)執(zhí)行,這種計(jì)算機(jī)唯一能夠直接識(shí)別的語言就是機(jī)器語言。它是面向機(jī)器的語言,不好記憶,容易出錯(cuò)。另外,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。
2)匯編語言
匯編語言的實(shí)質(zhì)和機(jī)器語言相同,都是直接對(duì)硬件操作,只不過匯編語言指令采用了英文縮寫的標(biāo)識(shí)符,更容易識(shí)別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。然而計(jì)算機(jī)是不認(rèn)識(shí)這些符號(hào)的,這就需要一個(gè)專門的程序,專門負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)的機(jī)器語言,這種翻譯程序稱為匯編程序。
匯編語言源程序必須經(jīng)過匯編程序翻譯(這個(gè)過程又稱匯編),生成目標(biāo)文件(機(jī)器語言的目標(biāo)程序),然后執(zhí)行。
匯編語言依賴于機(jī)器硬件,移植性不好,但效率仍十分高,針對(duì)計(jì)算機(jī)特定硬件而編制的匯編語言程序,能準(zhǔn)確發(fā)揮計(jì)算機(jī)硬件的功能和特長,程序精練而質(zhì)量高,所以至今仍是一種常用而強(qiáng)有力的軟件開發(fā)工具。
3)高級(jí)語言
高級(jí)語言是接近于數(shù)學(xué)語言或人類的自然語言,同時(shí)又不依賴于計(jì)算機(jī)硬件的計(jì)算機(jī)語言。采用高級(jí)語言編制的程序能在所有機(jī)器上通用。和匯編語言相比,高級(jí)語言不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由于省略了很多細(xì)節(jié),所以編程者不需要具備太多的專業(yè)知識(shí)。1954年,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語言——FORTRAN問世了。發(fā)展到現(xiàn)在,共有幾百種高級(jí)語言出現(xiàn),有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、Java等。
高級(jí)語言源程序可以用解釋、編譯兩種方式來翻譯成目標(biāo)程序執(zhí)行,后一種用得比較多。C語言就是使用編譯的方式執(zhí)行。
特別要提到的:在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計(jì)算機(jī)硬件,其可讀性和可移植性都很差;但一般的高級(jí)語言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作(這正是匯編語言的優(yōu)勢(shì)),于是兼有匯編語言和高級(jí)語言特性的新語言——C語言就誕生了。
- Vue.js設(shè)計(jì)與實(shí)現(xiàn)
- DevOps with Kubernetes
- 潮流:UI設(shè)計(jì)必修課
- 圖解Java數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
- INSTANT MinGW Starter
- C語言程序設(shè)計(jì)實(shí)踐教程
- Cassandra Data Modeling and Analysis
- 從零開始學(xué)C#
- Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實(shí)戰(zhàn)(第2版)
- 貫通Tomcat開發(fā)
- SCRATCH編程課:我的游戲我做主
- Python深度學(xué)習(xí)(第2版)
- Socket.IO Cookbook
- HTML5程序設(shè)計(jì)基礎(chǔ)教程
- 從零開始學(xué)UI設(shè)計(jì)·基礎(chǔ)篇