程序設(shè)計(jì)語(yǔ)言基本概念與試題.docx
《程序設(shè)計(jì)語(yǔ)言基本概念與試題.docx》由會(huì)員分享,可在線閱讀,更多相關(guān)《程序設(shè)計(jì)語(yǔ)言基本概念與試題.docx(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
程序設(shè)計(jì)語(yǔ)言基本概念與試題 一、基本概念 在計(jì)算機(jī)中,程序設(shè)計(jì)語(yǔ)言可劃分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言兩大類(lèi),與高級(jí)語(yǔ)言相比,用低級(jí)語(yǔ)言開(kāi)發(fā)的程序,其運(yùn)行效率高,但開(kāi)發(fā)效率低。與程序設(shè)計(jì)相關(guān)的基本概念如下。 (1)低級(jí)語(yǔ)言:又稱面向機(jī)器語(yǔ)言,它是特定的計(jì)算機(jī)系統(tǒng)所固有的語(yǔ)言。 (2)匯編語(yǔ)言:是機(jī)器語(yǔ)言的一種提升,它使用了一些助記符來(lái)表示機(jī)器指令中的操作碼和操作數(shù)。但它仍然是一種和計(jì)算機(jī)機(jī)器語(yǔ)言十分接近的語(yǔ)言,使用起來(lái)仍然不太方便。 (3)高級(jí)語(yǔ)言:與人們的自然語(yǔ)言比較接近,使用起來(lái)很方便,也極大的提高了程序設(shè)計(jì)效率。 (4)編譯程序:也稱編譯器,將源程序翻譯成目標(biāo)語(yǔ)言程序,然后在計(jì)算機(jī)上運(yùn)行目標(biāo)程序。雖然執(zhí)行效率高,但編寫(xiě)出來(lái)的程序可讀性很差,且難以修改和維護(hù)。 (5)解釋程序:也稱解釋器,它或者直接解釋執(zhí)行源程序,或者將源程序翻譯成某種中間代碼后再加以執(zhí)行。 (6)程序設(shè)計(jì)語(yǔ)言:程序設(shè)計(jì)語(yǔ)言的定義都涉及語(yǔ)法、語(yǔ)義和語(yǔ)用等方面。 (7)語(yǔ)法是指由程序語(yǔ)言的基本符號(hào)組成程序中的各個(gè)語(yǔ)法成分(包括程序)的一組規(guī)則,其中由基本字符構(gòu)成的符號(hào)(單詞)書(shū)寫(xiě)規(guī)則稱為詞法規(guī)則,由符號(hào)構(gòu)成語(yǔ)法成分的規(guī)則稱為語(yǔ)法規(guī)則。 (8)語(yǔ)義是程序語(yǔ)言中按語(yǔ)法規(guī)則構(gòu)成的各個(gè)語(yǔ)法成分的含義,分為靜態(tài)語(yǔ)義和動(dòng)態(tài)語(yǔ)義。 (9)語(yǔ)用表示了構(gòu)成語(yǔ)言的各個(gè)記號(hào)和使用者的關(guān)系,涉及符號(hào)的來(lái)源、使用和影響。 (10)語(yǔ)境是指理解和實(shí)現(xiàn)程序設(shè)計(jì)語(yǔ)言的環(huán)境,包括編譯環(huán)境和運(yùn)行環(huán)境。 二、程序設(shè)計(jì)語(yǔ)言的分類(lèi) 1.命令式程序設(shè)計(jì)語(yǔ)言 命令式程序設(shè)計(jì)語(yǔ)言是基于動(dòng)作的語(yǔ)言,在這種語(yǔ)言中,計(jì)算被看成是動(dòng)作的序列。 結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言屬于命令式語(yǔ)言類(lèi),其結(jié)構(gòu)特性主要有:一是用自頂向下逐步精化的方法編程,二是按照模塊組裝的方法編程,三是程序只包含順序、判定(分支)及循環(huán)結(jié)構(gòu),而且每種構(gòu)造只允許單入口和單出口。C語(yǔ)言、PASCAl等都是典型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。 2.面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言 面向?qū)ο蟮某绦蛟O(shè)計(jì)在很大程度上應(yīng)歸功于從模擬領(lǐng)域發(fā)展起來(lái)的Simula,Simula提出了類(lèi)和對(duì)象的概念。C++、Java和smalltalk是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的代表。 3.函數(shù)式程序設(shè)計(jì)語(yǔ)言 函數(shù)式程序設(shè)計(jì)語(yǔ)言是一類(lèi)以λ-演算為基礎(chǔ)的語(yǔ)言,其概念來(lái)自于Lisp,一個(gè)在 1958年為了人工智能應(yīng)用而設(shè)計(jì)的語(yǔ)言。函數(shù)是一種對(duì)應(yīng)規(guī)則(映射),它使定義域中每個(gè)元素和值域中唯一的元素對(duì)應(yīng)。 函數(shù)定義1:Square[x]:=xx 函數(shù)定義2:Plustwo[x]:= Plusone[Plusone[x]] 函數(shù)定義3:fact[n]:=if n =0 then 1 else nfact[n-1] 4.邏輯型程序設(shè)計(jì)語(yǔ)言 邏輯型程序設(shè)計(jì)語(yǔ)言是一類(lèi)以形式邏輯為基礎(chǔ)的語(yǔ)言,其代表是建立在關(guān)系理論和一階謂詞理論基礎(chǔ)上的Prolog(Programming in Logic)。Prolog程序是一系列事實(shí)、數(shù)據(jù)對(duì)象或事實(shí)間的具體關(guān)系和規(guī)則的集合。通過(guò)查詢操作把事實(shí)和規(guī)則輸入數(shù)據(jù)庫(kù)。用戶通過(guò)輸入查詢來(lái)執(zhí)行程序。在 Prolog中,關(guān)鍵操作是模式匹配,通過(guò)匹配一組變量與一個(gè)預(yù)先定義的模式并將該組變量賦給該模式來(lái)完成操作。 三、程序設(shè)計(jì)語(yǔ)言的基本成分 1.?dāng)?shù)據(jù)成分 數(shù)據(jù)成分指的是一種程序語(yǔ)言的數(shù)據(jù)類(lèi)型。 (1)常量和變量 按照程序運(yùn)行時(shí)數(shù)據(jù)的值能否改變,將數(shù)據(jù)分為常量和變量。變量具有左值和右值,在程序運(yùn)行過(guò)程中其右值可以改變;常量只有右值,在程序運(yùn)行過(guò)程中不能改變。 (2)全局變量和局部變量 按照數(shù)據(jù)的作用域范圍,可分為全局變量和局部變量。系統(tǒng)為全局變量分配的存儲(chǔ)空間在程序運(yùn)行的過(guò)程中一般是不改變的,而為局部變量分配的存儲(chǔ)單元是動(dòng)態(tài)改變的。 (3)數(shù)據(jù)類(lèi)型 按照數(shù)據(jù)組織形式不同可將數(shù)據(jù)分為基本類(lèi)型、用戶定義類(lèi)型、構(gòu)造類(lèi)型和其他類(lèi)型。 基本類(lèi)型:整型(int)、字符型(char)、實(shí)型(float、double)和布爾類(lèi)型(bool)。 特殊類(lèi)型:空類(lèi)型(void)。 用戶定義類(lèi)型:枚舉類(lèi)型(enum)。 構(gòu)造類(lèi)型:數(shù)組、結(jié)構(gòu)、聯(lián)合。 指針類(lèi)型:type *。 抽象數(shù)據(jù)類(lèi)型:類(lèi)類(lèi)型。 2.運(yùn)算成分 程序語(yǔ)言的運(yùn)算成分指明允許使用的運(yùn)算符號(hào)及運(yùn)算規(guī)則。大多數(shù)高級(jí)程序語(yǔ)言的基本運(yùn)算可分成算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算,有些語(yǔ)言如C(C++)還提供位運(yùn)算。 3.控制成分 控制成分指明語(yǔ)言允許表述的控制結(jié)構(gòu)。 (1)順序結(jié)構(gòu) 順序結(jié)構(gòu)用來(lái)表示一個(gè)計(jì)算操作序列,從第一個(gè)操作開(kāi)始,按順序依次執(zhí)行后續(xù)的操作,直到最后一個(gè)操作,如圖2-1所示。(2)選擇結(jié)構(gòu)選擇結(jié)構(gòu)提供了在兩種或多種分支中選擇其中一個(gè)的邏輯,如圖2-2所示。 圖 2-1 順序結(jié)構(gòu)示意圖 圖 2-2 選擇結(jié)構(gòu)示意圖 (3)循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)描述了重復(fù)計(jì)算的過(guò)程,通常由三部分組成:初始化、循環(huán)體和循環(huán)條件。主要有兩種形式:while型循環(huán)結(jié)構(gòu)和do-while型循環(huán)結(jié)構(gòu),如圖2-3所示。 (4)C(C++)語(yǔ)言提供的控制語(yǔ)句 ①?gòu)?fù)合語(yǔ)句 復(fù)合語(yǔ)句用于描述順序控制結(jié)構(gòu)。復(fù)合語(yǔ)句是一個(gè)整體,要么全部執(zhí)行,要么一條語(yǔ)句也不執(zhí)行。 ② if語(yǔ)句和switch語(yǔ)句 if語(yǔ)句實(shí)現(xiàn)的是雙分支的選擇結(jié)構(gòu),其一般形式為: 1. if(表達(dá)式) 2. 語(yǔ)句1; 3. else 4. 語(yǔ)句2; 需要注意的是if和else的匹配關(guān)系。 switch語(yǔ)句描述了多分支的選擇結(jié)構(gòu),其一般形式為: 1. switch(表達(dá)式){ 2. case常量表達(dá)式1:語(yǔ)句1; 3. case常量表達(dá)式2:語(yǔ)句2; 4. 5. … 6. case常量表達(dá)式n:語(yǔ)句n; 7. default:語(yǔ)句n+1; 8. 9. } ③ 循環(huán)語(yǔ)句主要指while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句。 while語(yǔ)句描述了先判斷條件再執(zhí)行循環(huán)體的控制結(jié)構(gòu),其一般形式為: 1. while(條件表達(dá)式) 2. { 3. 4. 循環(huán)體語(yǔ)句; 5. 6. } do-while語(yǔ)句描述了先執(zhí)行循環(huán)再判斷條件的控制結(jié)構(gòu),其一般格式是: 1. do 2. 3. 循環(huán)體語(yǔ)句; 4. while(條件表達(dá)式); for語(yǔ)句的基本格式是: 1. for(表達(dá)式1;表達(dá)式2;表達(dá)式3;)循環(huán)體語(yǔ)句; 可用while語(yǔ)句等價(jià)地表示為: 1. 表達(dá)式1; 2. while(表達(dá)式2){ 3. 循環(huán)體語(yǔ)句; 4. 表達(dá)式3; 5. } 4.函數(shù) 函數(shù)是程序模塊的主要成分,它是一段具有獨(dú)立功能的程序。函數(shù)的使用涉及三個(gè)概念:函數(shù)定義、函數(shù)聲明和函數(shù)調(diào)用。 ①函數(shù)定義 函數(shù)定義包括兩部分:函數(shù)首部和函數(shù)體。函數(shù)定義描述了函數(shù)做什么和怎么做。其一般格式是: 1. 返回值類(lèi)型函數(shù)名(形參表) 2. { 3. 函數(shù)體; 4. } 5. ②函數(shù)聲明 函數(shù)應(yīng)該先聲明后引用。如果程序中對(duì)一個(gè)函數(shù)的調(diào)用在該函數(shù)的定義之前進(jìn)行,則應(yīng)該在調(diào)用前對(duì)被調(diào)用函數(shù)進(jìn)行聲明。函數(shù)原型用于聲明函數(shù)。函數(shù)聲明的一般形式為: 1. 返回值類(lèi)型函數(shù)名(形參表); ③函數(shù)調(diào)用 當(dāng)在一個(gè)函數(shù)(稱為主調(diào)函數(shù))中需要使用另一個(gè)函數(shù)(稱為被調(diào)函數(shù))實(shí)現(xiàn)的功能時(shí),便以名字進(jìn)行調(diào)用,稱為函數(shù)調(diào)用。函數(shù)調(diào)用的一般形式為: 1. 函數(shù)名(實(shí)參表); 四、值調(diào)用和引用調(diào)用 在C程序的執(zhí)行過(guò)程中,通過(guò)函數(shù)調(diào)用實(shí)現(xiàn)了函數(shù)定義時(shí)描述的功能。函數(shù)體中若調(diào)用自己,則稱為遞歸調(diào)用。C和C++通過(guò)傳值方式將實(shí)參傳遞給形參。 調(diào)用函數(shù)和被調(diào)用函數(shù)之間交換信息的方法主要有兩種:一種是由被調(diào)函數(shù)把返回值返回給主調(diào)函數(shù),另一種是通過(guò)參數(shù)帶回信息。函數(shù)調(diào)用時(shí)實(shí)參與形參間交換信息的方法有值調(diào)用和引用調(diào)用兩種。 (1)傳值調(diào)用(Call by Value) 若實(shí)現(xiàn)函數(shù)調(diào)用時(shí)實(shí)參向形式參數(shù)傳遞相應(yīng)類(lèi)型的值(副本),則稱為是傳值調(diào)用。 C語(yǔ)言采用的是傳值調(diào)用的方式。傳值調(diào)用最顯著的特征是被調(diào)用的函數(shù)內(nèi)部對(duì)形參的修改不影響實(shí)參的值。傳值調(diào)用的參數(shù)傳遞和被調(diào)用函數(shù)內(nèi)對(duì)參數(shù)的使用主要按下述原則:函數(shù)定義時(shí)形參被當(dāng)作局部變量看待,在函數(shù)被調(diào)用時(shí)為形參分配存儲(chǔ)單元;調(diào)用函數(shù)前,首先計(jì)算實(shí)參的值,調(diào)用時(shí)將實(shí)參的值放入形參的存儲(chǔ)單元;被調(diào)用函數(shù)內(nèi)部對(duì)形參單元中的數(shù)據(jù)進(jìn)行直接訪問(wèn)。 (2)引用調(diào)用(Call by Reference)引用是C++中增加的數(shù)據(jù)類(lèi)型,當(dāng)形式參數(shù)為引用類(lèi)型時(shí),形參名實(shí)際上是實(shí)參的別名,函數(shù)中對(duì)形參的訪問(wèn)和修改實(shí)際上就是針對(duì)相應(yīng)實(shí)際參數(shù)所作的訪問(wèn)和改變。 實(shí)際上,引用調(diào)用是將實(shí)參的地址傳遞給形參,使得形參的地址就是對(duì)應(yīng)實(shí)參的地址。引用調(diào)用的參數(shù)傳遞和被調(diào)用函數(shù)內(nèi)對(duì)參數(shù)的使用主要按下述原則處理:函數(shù)定義時(shí)形參被當(dāng)作局部變量看待,在函數(shù)被調(diào)用時(shí)為形參分配存儲(chǔ)單元;調(diào)用時(shí)將實(shí)參的地址放入形參的存儲(chǔ)單元;被調(diào)用函數(shù)內(nèi)部對(duì)形參單元中的數(shù)據(jù)(地址)進(jìn)行間接訪問(wèn)。 怎么考 【試題 2-1】2011年 11月真題 20 若C程序的表達(dá)式中引用了未賦初值的變量,則( 20)。 (20)A. 編譯時(shí)一定會(huì)報(bào)告錯(cuò)誤信息,該程序不能允許 B. 可以通過(guò)編譯并運(yùn)行,但運(yùn)行時(shí)一定會(huì)報(bào)告異常 C. 可以通過(guò)編譯,但鏈接時(shí)一定會(huì)報(bào)告錯(cuò)誤而不能運(yùn)行 D. 可以通過(guò)編譯并運(yùn)行,但運(yùn)行結(jié)果不一定是期望的結(jié)果 分析:全局變量和靜態(tài)局部變量在定義時(shí)如果沒(méi)有初始化,編譯時(shí)會(huì)自動(dòng)初始化為0;而普通的局部變量,如果沒(méi)有初始化,則其值是一個(gè)隨機(jī)數(shù)。在 C程序表達(dá)式中,只要引用的變量定義了,就可以通過(guò)編譯并運(yùn)行,但運(yùn)行結(jié)果不一定是期望的結(jié)果。【答案:d】 【試題 2-2】2011年 11月真題 49、50 函數(shù)t、f的定義如下所示,其中, a是整型全局變量。設(shè)調(diào)用函數(shù)t前a的值為5,則在函數(shù)中以傳值調(diào)用( call by value)方式調(diào)用函數(shù)f時(shí),輸出為(49);在函數(shù)t中以引用調(diào)用(call by reference)方式調(diào)用函數(shù)時(shí),輸出為(50)。 (49)A. 12 B. 16 C. 20 D. 24 (50)A. 12 B. 16 C. 20 D. 24 分析:本題主要考查函數(shù)調(diào)用時(shí)參數(shù)的傳遞方式。如果采用傳值方式調(diào)用,則形參值的變化不會(huì)影響實(shí)參;而采用引用方式調(diào)用,則形參值的變化直接反映到實(shí)參。 本題中如果在函數(shù)t中采用傳值方式調(diào)用函數(shù)f,a的值傳給形參r,在函數(shù)f中,a的值變?yōu)?,r的值為10并返回賦給變量x,由于a是全局變量,退出函數(shù)f后a的值依然為6,所以函數(shù)t的輸出結(jié)果為16。如果函數(shù)t采用傳值方式調(diào)用函數(shù)f,則形參r就是對(duì)實(shí)參a的引用,對(duì)r的修改就是對(duì)a的修改,在執(zhí)行a=r+1時(shí),a和r的值都變?yōu)?,執(zhí)行r=r*2,a和r的值都變?yōu)?2,并將r的值返回給x,因此函數(shù)t的輸出結(jié)果為24。 【答案:(49)B (50)D】 【試題 2-3】2011年 11月真題 57 在KMP模式匹配算法中,需要求解模式串 p的next函數(shù)值,其定義如下(其中, j為模式串字符的序號(hào))。對(duì)于模式串“abaabaca”,其next函數(shù)值序列為( 57)。 (57)A. 01111111 B. 01122341 C. 01234567 D. 01122334 分析:模式串“abaabaca”的next函數(shù)值序列如下。 當(dāng)j=1時(shí),next[1]=0;當(dāng)j=2時(shí),k不存在,next[2]=1;當(dāng)j=3時(shí),不存在滿足條件的k,next[3]=1;當(dāng)j=4時(shí),p1=p3=a,存在k=2,使得 p1 p2 Lpk .1= pj.k +1 pj.k +2 L pj.1 ,故next[4]=2;當(dāng)j=5時(shí),存在k=2,使得 p1 p2 Lpk .1= pj.k +1 pj.k +2 L pj.1 ,即p1=p4=a,故next[5]=2;當(dāng)j=6時(shí),存在k=3,使得’p1p2’ =’p4p5’ ,故 next[6]=3;當(dāng)j=7時(shí),存在k=4,使得’p1p2 p3’ =’p4p5 p6’ ,故next[7]=4;當(dāng)j=8時(shí),不存在滿足條件的k值,故 next[8]=1?!敬鸢福築】 【試題 2-4】2011年 5月真題 22 若一種程序設(shè)計(jì)語(yǔ)言規(guī)定其程序中的數(shù)據(jù)必須具有類(lèi)型,則有利于( 22)。 ①在翻譯程序的過(guò)程中為數(shù)據(jù)合理分配存儲(chǔ)單元 ②對(duì)參與表達(dá)式計(jì)算的數(shù)據(jù)對(duì)象進(jìn)行檢查 ③定義和應(yīng)用動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) ④規(guī)定數(shù)據(jù)對(duì)象的取值范圍及能夠進(jìn)行的運(yùn)算 ⑤對(duì)數(shù)據(jù)進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換 (22)A.①②③ B.①②④ C.②④⑤ D.③④⑤ 分析:數(shù)據(jù)是程序操作的對(duì)象,類(lèi)型說(shuō)明數(shù)據(jù)占用的內(nèi)存和存放形式。數(shù)據(jù)類(lèi)型不僅可用于在基礎(chǔ)機(jī)器中完成對(duì)值得布局,還可以用于檢查表達(dá)式中對(duì)運(yùn)算的應(yīng)用是否正確?!敬鸢福築】 【試題 2-5】2011年 5月真題 48 以下關(guān)于高級(jí)程序設(shè)計(jì)語(yǔ)言翻譯的敘述中,正確的是( 48)。 (48)A.可以先進(jìn)行語(yǔ)法分析,再進(jìn)行詞法分析 B.在語(yǔ)法分析階段可以發(fā)現(xiàn)程序中的所有錯(cuò)誤 C.語(yǔ)義分析階段的工作與目標(biāo)機(jī)器的體系結(jié)構(gòu)密切相關(guān) D.目標(biāo)代碼生成階段的工作與目標(biāo)機(jī)器的體系結(jié)構(gòu)密切相關(guān) 分析:對(duì)于高級(jí)程序設(shè)計(jì)語(yǔ)言,編譯程序會(huì)把編寫(xiě)的源程序翻譯成與之等價(jià)的目標(biāo)程序。編譯程序的工作過(guò)程分為:詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。語(yǔ)法分析要在詞法分析的基礎(chǔ)上,根據(jù)語(yǔ)言的語(yǔ)法規(guī)則將單詞符號(hào)序列分解成各類(lèi)語(yǔ)法單位。可見(jiàn),要先進(jìn)行詞法分析,然后進(jìn)行語(yǔ)法分析,故選項(xiàng)A錯(cuò)誤。在語(yǔ)法分析階段能發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,但不能發(fā)現(xiàn)語(yǔ)義錯(cuò)誤,因此選項(xiàng)B錯(cuò)誤。語(yǔ)義分析階段主要檢查源程序是否包含靜態(tài)語(yǔ)義錯(cuò)誤,并收集類(lèi)型信息供后面的代碼生成階段使用,可見(jiàn),語(yǔ)義分析階段工作與與目標(biāo)機(jī)器的體系結(jié)構(gòu)關(guān)聯(lián)不大,選項(xiàng)C錯(cuò)誤。目標(biāo)代碼生成階段的任務(wù)是把中間代碼變化成特定機(jī)器上的絕對(duì)指令代碼、可重定位的指令代碼或匯編指令代碼,這個(gè)階段的工作與具體的機(jī)器密切相關(guān)?!敬鸢福?D】 【試題 2-6】2011年 5月真題 50 傳值與傳地址是函數(shù)調(diào)用時(shí)常采用的信息傳遞方式,( 50)。 (50)A.在傳值方式下,是將形參的值傳給實(shí)參 B.在傳值方式下,形參可以是任意形式的表達(dá)式 C.在傳地址方式下,是將實(shí)參的地址傳給形參 D.在傳地址方式下,實(shí)參可以是任意形式的表達(dá)式分析:在傳值方式下,是將實(shí)參的值傳給形參,形參不能向?qū)嶋H參數(shù)傳遞信息;實(shí)參可以是表達(dá)式或常量,也可以是變量或數(shù)組元素。 在傳地址方式下,是將實(shí)參的地址傳給形參,實(shí)參和形參都指向同一個(gè)對(duì)象,被調(diào)用函數(shù)中對(duì)形式參數(shù)的修改實(shí)際上就是對(duì)實(shí)際參數(shù)的修改,可以實(shí)現(xiàn)數(shù)據(jù)的雙向傳遞。實(shí)參必須是變量地址、數(shù)組名,不能是表達(dá)式或常量。 形參就是形式參數(shù),用一個(gè)變量來(lái)代表,不能是表達(dá)式?!敬鸢福篊】 【試題 2-7】2010年 11月真題 50 以下關(guān)于匯編語(yǔ)言的敘述中,錯(cuò)誤的是(50)。 (50)A.匯編語(yǔ)言源程序中的指令語(yǔ)句將被翻譯成機(jī)器代碼 B.匯編程序先將源程序中的偽指令翻譯成機(jī)器代碼,然后再翻譯指令語(yǔ)句 C.匯編程序以匯編語(yǔ)言源程序?yàn)檩斎耄詸C(jī)器語(yǔ)言表示的目標(biāo)程序?yàn)檩敵? D.匯編語(yǔ)言的指令語(yǔ)句必須具有操作碼字段,可以沒(méi)有操作數(shù)字段 分析:匯編程序的功能是將會(huì)變語(yǔ)言所編寫(xiě)的源程序翻譯成機(jī)器指令程序。匯編語(yǔ)言源程序語(yǔ)句可分為指令語(yǔ)句、偽指令語(yǔ)句和宏指令語(yǔ)句。指令語(yǔ)句匯編后產(chǎn)生相應(yīng)的機(jī)器代碼;偽指令語(yǔ)句指示匯編程序在匯編源程序時(shí)完成某些操作,匯編后不產(chǎn)生機(jī)器代碼?!敬鸢福築】 【試題 2-8】2010年 11月真題 64 下面C程序段中count++語(yǔ)句執(zhí)行的次數(shù)為(64)。 for(int i=1;i<=11;i*=2) for(int j=1;j<=i;j++) count++; (64)A.15 B.16 C.31 D.32 分析:第1輪循環(huán),i=1,count++執(zhí)行1次,然后i=2;第2輪循環(huán),i=2,count++執(zhí)行2次,然后i=4;第 3輪循環(huán),i=4,count++執(zhí)行4次,然后i=8;第4輪循環(huán),i=8,count++執(zhí)行8次,然后i=16,i>11,不滿足循環(huán)條件,循環(huán)結(jié)束??梢杂?jì)算count++語(yǔ)句執(zhí)行的次數(shù)為:1+2+4+8=15【答案:A】 【試題 2-9】2010年 5月真題 33 程序的三種基本控制結(jié)構(gòu)是(33)。 (33)A.過(guò)程、子程序分程序 B.順序、選擇和重復(fù) C.遞歸、堆棧和隊(duì)列 D.調(diào)用、返回和跳轉(zhuǎn) 分析:程序的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)。【答案:B】 【試題 2-10】2009年 5月真題 20 函數(shù)調(diào)用時(shí),基本的參數(shù)傳遞方式有傳值與傳地址兩種,( 20)。 (20)A.在傳值方式下,形參將值傳給實(shí)參 B.在傳值方式下,實(shí)參不能是數(shù)組元素 C.在傳地址方式下,形參和實(shí)參間可以實(shí)現(xiàn)數(shù)據(jù)的雙向傳遞 D.在傳地址方式下,實(shí)參可以是任意的變量和表達(dá)式 分 析:首先看A選項(xiàng),傳值方式下,對(duì)應(yīng)的實(shí)參和形參是兩個(gè)獨(dú)立的實(shí)體,占用不同的內(nèi)存單元,調(diào)用函數(shù)時(shí),系統(tǒng)把實(shí)參值復(fù)制一份給形參,便斷開(kāi)二者的聯(lián)系,形參值的改變對(duì)實(shí)參無(wú)影響。因此,“傳值”是單向的,只能由實(shí)參傳遞給形參。 B選項(xiàng),形參為傳值方式下的簡(jiǎn)單變量,實(shí)參可以是與其同類(lèi)型的常量、變量、數(shù)組元素或表達(dá)式。 C選項(xiàng),在傳址方式下,函數(shù)調(diào)用時(shí),系統(tǒng)將實(shí)參的地址傳遞給形參,即這時(shí)參數(shù)傳遞的不是數(shù)據(jù)本身,而是數(shù)據(jù)在內(nèi)存中的地址。所以在函數(shù)被調(diào)用中,任何對(duì)形參的訪問(wèn),都被認(rèn)為是對(duì)形參的間接訪問(wèn)。實(shí)參與形參占用相同的存儲(chǔ)單元,傳遞方式是雙向的,形參值的改變將影響實(shí)參值。故C選項(xiàng)正確。 D選項(xiàng),形參為傳址方式時(shí),實(shí)參如果為常量或表達(dá)式,則傳址無(wú)效,相當(dāng)于傳值方式?!敬鸢福?C】 【試題 2-11】2009年 5月真題 22 下面關(guān)于程序語(yǔ)言的敘述,錯(cuò)誤的是( 22)。 (22)A.腳本語(yǔ)言屬于動(dòng)態(tài)語(yǔ)言,其程序結(jié)構(gòu)可以在運(yùn)行中改變 B.腳本語(yǔ)言一般通過(guò)腳本引擎解釋執(zhí)行,不產(chǎn)生獨(dú)立保存的目標(biāo)程序 C.PHP、JavaScript屬于靜態(tài)語(yǔ)言,其所有成分可在編譯時(shí)確定 D.C語(yǔ)言屬于靜態(tài)語(yǔ)言,其所有成分可在編譯時(shí)確定 分 析:腳本語(yǔ)言,又叫動(dòng)態(tài)語(yǔ)言,是一種編程語(yǔ)言控制軟件的應(yīng)用程序。腳本語(yǔ)言與編程語(yǔ)言有很多相似地方,其函數(shù)與編程語(yǔ)言比較類(lèi)似,也涉及到變量,它與編程語(yǔ)言最大的區(qū)別是編程語(yǔ)言的語(yǔ)法和規(guī)則更為嚴(yán)格和復(fù)雜一些。腳本語(yǔ)言一般都有相應(yīng)的腳本引擎來(lái)解釋執(zhí)行,一般需要解釋器才能運(yùn)行。Python、JavaScript、ASP、PHP、PERL、Nuva都是腳本語(yǔ)言。另外,腳本語(yǔ)言是一種解釋性的語(yǔ)言,它不像 C\C++等可以編譯成二進(jìn)制代碼,以可執(zhí)行文件的形式存在?!敬鸢福篊】 【試題 2-12】2008年 12月真題 21 程序設(shè)計(jì)語(yǔ)言一般都提供多種循環(huán)語(yǔ)句,例如實(shí)現(xiàn)先判斷循環(huán)條件再執(zhí)行循環(huán)體的while語(yǔ)句和先執(zhí)行循環(huán)體再判斷循環(huán)條件的do-while語(yǔ)句。關(guān)于這兩種循環(huán)語(yǔ)句,在不改變循環(huán)體的條件下,( 21)是正確的。 (21)A.while語(yǔ)句的功能可由do-while語(yǔ)句實(shí)現(xiàn) B.do-while語(yǔ)句的功能可由while語(yǔ)句實(shí)現(xiàn) C.若已知循環(huán)體的次數(shù),則只能使用while語(yǔ)句 D.循環(huán)條件相同時(shí),do-while語(yǔ)句的執(zhí)行效率更高分 析:do-while語(yǔ)句的循環(huán)體至少執(zhí)行一次,即執(zhí)行1~n次,而while語(yǔ)句的循環(huán)體可以不執(zhí)行,也可 以執(zhí)行n次,因此do-while語(yǔ)句的功能可由while語(yǔ)句實(shí)現(xiàn)?!敬鸢福築】 【試題 2-13】2008年 5月真題 22 下列敘述中錯(cuò)誤的是( 22)。 (22)A.面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言可支持過(guò)程化的程序設(shè)計(jì) B.給定算法的時(shí)間復(fù)雜性與實(shí)現(xiàn)該算法所采用的程序設(shè)計(jì)語(yǔ)言無(wú)關(guān) C.與匯編語(yǔ)言相比,采用腳本語(yǔ)言編程可獲得更高的運(yùn)行效率 D.面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言不支持對(duì)一個(gè)對(duì)象的成員變量進(jìn)行直接訪問(wèn) 分 析:本題考查基本概念問(wèn)題。C選項(xiàng)明顯是錯(cuò)誤的,腳本語(yǔ)言與匯編語(yǔ)言不是一個(gè)意義層面上的語(yǔ)言,而且匯編語(yǔ)言是接近計(jì)算機(jī)硬件的語(yǔ)言,運(yùn)行效率是非常高的?!敬鸢福篊】- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 程序設(shè)計(jì)語(yǔ)言 基本概念 試題
鏈接地址:http://italysoccerbets.com/p-12786773.html