本系列資料由"鐵道出版社" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
考點(diǎn)1:程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí) ★★★★★
考點(diǎn)點(diǎn)撥: 本考點(diǎn)考查程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí)。包括低級(jí)語(yǔ)言、高級(jí)語(yǔ)言、語(yǔ)言處理程序等的基本概念和術(shù)語(yǔ);程序設(shè)計(jì)語(yǔ)言的定義、分類、特點(diǎn)及其基本成分。
【試題1】 計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語(yǔ)言是__(1)__,該語(yǔ)言是由__(2)__組成的。(2004年下半年上午填空42、43)
(1) A)機(jī)器語(yǔ)言 B)C語(yǔ)言 C)匯編語(yǔ)言 D)數(shù)據(jù)庫(kù)語(yǔ)言
(2) A)ASCII碼 B)SQL語(yǔ)句 C)0、1序列 D)BCD碼
答案:(1)A (2)C
分
2)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言
面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言是將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作放在一起,作為一個(gè)相互依存、不可分割的整體(對(duì)象)來(lái)處理的語(yǔ)言,它采用數(shù)據(jù)抽象和信息隱藏技術(shù)。如:C++、Java、VB.Net等。
面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的主要特性是封裝性、繼承性和多態(tài)性。
封裝是指將一個(gè)數(shù)據(jù)和與這個(gè)數(shù)據(jù)有關(guān)的操作集合放在一起,形成一個(gè)獨(dú)立的實(shí)體——對(duì)象,用戶不必知道對(duì)象行為的實(shí)現(xiàn)細(xì)節(jié),只需根據(jù)對(duì)象提供的外部特性接口訪問(wèn)對(duì)象即可。因此,從用戶的觀點(diǎn)來(lái)看,這些對(duì)象的行為就像包含在一個(gè)“黑匣子”里,是隱蔽的、看不見(jiàn)的。
繼承所表達(dá)的是一種對(duì)象類之間的層次關(guān)系。它使得某類對(duì)象可以繼承另外一類對(duì)象的特征和能力。具體地講,若類B繼承類A,則屬于B中的對(duì)象便具有類A的一切性質(zhì)(數(shù)據(jù)屬性)和功能(操作)。我們稱被繼承類A為基類或父類,而繼承類B為A的派生類或子類。
多態(tài)性描述的是同一個(gè)消息可以根據(jù)發(fā)送消息對(duì)象的不同采用多種不同的行為方式。多態(tài)性主要靠重載和虛函數(shù)來(lái)實(shí)現(xiàn)。
下面是幾個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)中的基本概念:
對(duì)象:對(duì)象是其自身所具有的狀態(tài)特征及可以對(duì)這些狀態(tài)施加的操作結(jié)合在一起所構(gòu)成的獨(dú)立實(shí)體。
消息:消息是對(duì)象之間相互請(qǐng)求或相互協(xié)作的途徑,是要求某個(gè)對(duì)象執(zhí)行某個(gè)功能操作的規(guī)格的說(shuō)明。
類:是對(duì)對(duì)象的抽象,它將該組對(duì)象所具有的共同特征集中起來(lái),以說(shuō)明該組對(duì)象的能力和性質(zhì)。在定義了類以后,屬于這種類的對(duì)象叫類實(shí)例。類與實(shí)例之間的關(guān)系可以看成是抽象與具體的關(guān)系。
應(yīng)該指出的是,過(guò)程型程序設(shè)計(jì)與面向?qū)ο笮统绦蛟O(shè)計(jì)不是兩個(gè)相互獨(dú)立的程序設(shè)計(jì)范型(與函數(shù)型程序設(shè)計(jì),邏輯型程序設(shè)計(jì)不同)。后者包含前者,是前者的發(fā)展。把兩者分開(kāi)并列是不妥的。
3)函數(shù)式程序設(shè)計(jì)語(yǔ)言
函數(shù)式程序設(shè)計(jì)語(yǔ)言是一類以λ-演算為基礎(chǔ)的語(yǔ)言,概念來(lái)自于LISP語(yǔ)言。LISP語(yǔ)言是一個(gè)用于處理符號(hào)表達(dá)式的相當(dāng)簡(jiǎn)單的函數(shù)式程序設(shè)計(jì)語(yǔ)言,以數(shù)學(xué)中的函數(shù)與函數(shù)作用的概念作為其設(shè)計(jì)原理,它奠定了函數(shù)式語(yǔ)言的基礎(chǔ)。
4)邏輯型程序設(shè)計(jì)語(yǔ)言
邏輯型程序設(shè)計(jì)語(yǔ)言概念來(lái)自PROLOG。用PROLOG編程時(shí),無(wú)需描述具體的解題過(guò)程,只需給出一些必要的事實(shí)和解決問(wèn)題方法說(shuō)明的規(guī)則,計(jì)算機(jī)根據(jù)這些事實(shí)和規(guī)則,利用謂詞邏輯、演繹推理得到問(wèn)題的執(zhí)行序列。
【試題7】 巴科斯范式(BNF)可用來(lái)描述程序設(shè)計(jì)語(yǔ)言的語(yǔ)法,最早用于算法語(yǔ)言___A___,在以后的應(yīng)用中,表達(dá)形式得到了擴(kuò)展,使用更方便。通常___B___表示“定義為”,___C___表示非終結(jié)符,而[X]表示 X 可出現(xiàn)___D___次, X | Y則表示___E___。 (1998年上午題4)
A:① Fortran ② C ③ Pascal ④ Algol 60
B:① = ② := ③ ::= ④ ≡
C:① [變量名] ② {變量名} ③ <變量名> ④(變量名)
D:① 1 ② ≤l ③ ≥l ④ 任意有限
E:① X 除以 Y ② X 除 Y ③ X 和 Y ④ X 或 Y
答案:A. ④ B. ③ C. ③ D.2② E. ④
分析:巴科斯范式是用來(lái)描述程序語(yǔ)言語(yǔ)法的,最早用于算法語(yǔ)言Algol 60。后來(lái)人們又對(duì)巴科斯范式進(jìn)行了擴(kuò)充,擴(kuò)充的巴科斯范式使用的一些符號(hào)及其含義如下:
約定/符號(hào) 含義
::= 等效
| 或
X+ 一個(gè)或多個(gè) X。
[X] X 可選。X可出現(xiàn)0或1次
X 必選。表示非終結(jié)符
{X} X可選。X可出現(xiàn)0或多次
任何粗體文本 字符串。
任何斜體文本 如何構(gòu)造字符串。