讀者可能很熟悉編程和編程語(yǔ)言的基本概念,下面從普遍的意義上簡(jiǎn)要描述一下本書(shū)將用到的一些術(shù)語(yǔ),并闡述C++與其他編程語(yǔ)言的關(guān)系。
無(wú)論使用哪種編程語(yǔ)言,編寫(xiě)出來(lái)的程序都是由各個(gè)指令構(gòu)成的。這些指令就稱為源代碼,存儲(chǔ)在磁盤(pán)的源文件中。目前有許多編程語(yǔ)言,每一種語(yǔ)言都有其優(yōu)缺點(diǎn),都有其吹捧者和批評(píng)者。除了C++之外,讀者一定還聽(tīng)說(shuō)過(guò)BASIC、COBOL、FORTRAN、PASCAL和C等編程語(yǔ)言。
例如,F(xiàn)ORTRAN語(yǔ)言就有將近40年的歷史了,目前仍廣泛應(yīng)用于科學(xué)和工程計(jì)算中,但C++和其他語(yǔ)言也逐漸進(jìn)入這些領(lǐng)域。COBOL語(yǔ)言專門(mén)用于商務(wù)數(shù)據(jù)處理應(yīng)用程序,它的歷史幾乎與FORTRAN語(yǔ)言一樣長(zhǎng)。目前幾乎不用COBOL編寫(xiě)新代碼,而是多年前編寫(xiě)的大量代碼仍在使用。C++也逐漸成為許多商務(wù)數(shù)據(jù)處理程序的可選語(yǔ)言。
C是C++的前身,因?yàn)檫@兩種語(yǔ)言有許多共同的語(yǔ)法和功能。實(shí)際上,C編程語(yǔ)言是C++的一個(gè)子集。但是,C++在發(fā)展過(guò)程中進(jìn)行了許多擴(kuò)展和改進(jìn),使之成為一種成熟的語(yǔ)言,而且,C++比功能更強(qiáng)大,用途更廣泛。
1.1.1 解釋性的程序和編譯性的程序的執(zhí)行過(guò)程
編程語(yǔ)言的目的是,與計(jì)算機(jī)可以執(zhí)行的程序相比,能夠更簡(jiǎn)單地描述希望計(jì)算機(jī)執(zhí)行的動(dòng)作。計(jì)算機(jī)只能執(zhí)行包含機(jī)器指令(也稱為機(jī)器代碼)的程序,不能直接執(zhí)行我們編寫(xiě)的程序。用前面提到的語(yǔ)言編寫(xiě)的程序基本上有兩種執(zhí)行方式,在大多數(shù)情況下,一種語(yǔ)言會(huì)選擇其中一種執(zhí)行方式。例如,用BASIC語(yǔ)言編寫(xiě)的程序通常是解釋性的,也就是說(shuō),另一個(gè)稱為解釋器的程序會(huì)檢查BASIC源代碼,確定該程序要做什么,再讓計(jì)算機(jī)完成這些動(dòng)作。見(jiàn)圖1-1。
圖 1-1
而C++是一種編譯語(yǔ)言。在執(zhí)行C++程序之前,必須用另一個(gè)程序(即編譯器)把它轉(zhuǎn)換為機(jī)器語(yǔ)言。編譯器會(huì)檢查C++程序,并生成機(jī)器指令,以執(zhí)行源代碼指定的動(dòng)作。當(dāng)然,解釋和編譯都不像這里描述的那樣簡(jiǎn)單,但其工作原理就是這樣。
使用解釋性語(yǔ)言,執(zhí)行過(guò)程是間接的,也就是說(shuō),每次執(zhí)行程序時(shí),都需要確定源代碼的意圖。因此,這種語(yǔ)言比編譯語(yǔ)言的對(duì)應(yīng)程序的執(zhí)行速度慢得多,有時(shí)要慢100倍。任何一種語(yǔ)言要么是解釋性的,要么是編譯性的,這通常由該語(yǔ)言的設(shè)計(jì)和用途來(lái)決定。
這個(gè)規(guī)則的一個(gè)例外是Java,它是一種相當(dāng)新的語(yǔ)言,它具有C++的許多特性。由于Java主要用于在不同計(jì)算機(jī)之間移植以及用在Internet上,所以它基本上是一種解釋性的語(yǔ)言。盡管如此,還有一種just-in-time編譯器可以在執(zhí)行過(guò)程中,為Java源代碼生成對(duì)應(yīng)的機(jī)器碼,從而大大提高了執(zhí)行速度。
1.1.2 庫(kù)
每次編寫(xiě)程序時(shí),如果總是要從頭開(kāi)始編寫(xiě),就相當(dāng)煩瑣。在許多程序中,常常需要某種相同的功能,例如從鍵盤(pán)上輸入數(shù)據(jù),或在屏幕上顯示信息。為了解決這個(gè)問(wèn)題,編程語(yǔ)言提供了大量預(yù)先編寫(xiě)好的代碼,以執(zhí)行標(biāo)準(zhǔn)的輸入輸出操作,這樣就不必重新編寫(xiě)這些代碼了。
可用于任意程序的標(biāo)準(zhǔn)代碼都保存在一個(gè)庫(kù)中。編程語(yǔ)言附帶的庫(kù)跟語(yǔ)言本身一樣重要,因?yàn)閹?kù)的質(zhì)量和使用范圍對(duì)完成某一編程任務(wù)所需的時(shí)間有非常大的影響
新聞熱點(diǎn)
疑難解答