高級語言程序設(shè)計2018春期末復(fù)習(xí)題_第1頁
高級語言程序設(shè)計2018春期末復(fù)習(xí)題_第2頁
高級語言程序設(shè)計2018春期末復(fù)習(xí)題_第3頁
高級語言程序設(shè)計2018春期末復(fù)習(xí)題_第4頁
高級語言程序設(shè)計2018春期末復(fù)習(xí)題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、北京郵電大學(xué)網(wǎng)絡(luò)教育學(xué)院高級程序語言(基于Java)綜合練習(xí)題目錄綜合練習(xí)題3一簡答題3二填空3三單項選擇題4四讀下列程序,然后按照程序下面的要求答題。7五編程題9參考答案11一簡答題11二填空13三單項選擇題13四讀下列程序,然后按照程序下面的要求答題。14五編程題14 綜合練習(xí)題一簡答題。1 程序執(zhí)行方式有兩種,試比較解釋方式和編譯方式的優(yōu)缺點2 簡述Java的特點3 Java有哪些基本數(shù)據(jù)類型,它們的關(guān)鍵字和字長以及變量的默認(rèn)值是什么?4 面向?qū)ο蟪绦蛟O(shè)計與面向過程程序設(shè)計有哪些不同?5 什么是訪問控制修飾符?訪問控制修飾符的種類有哪些?它們各有什么作用?6 類變量和實例變量有哪些不同?

2、7 類方法和實例方法有哪些不同?8 重載和覆蓋有什么區(qū)別?9 什么是接口?接口與類以及抽象類之間有什么區(qū)別和聯(lián)系?二填空。1 Java程序分為兩種,一種是_,另一種是_。2 開發(fā)一個Java程序有三個步驟,依次是_、_和_。3 設(shè)a, b 都是整型變量,a=12,b=8,則表達(dá)式a!=b的值為_,表達(dá)式(a<10&&a>10?a:b)的值為_。4 面向?qū)ο缶幊痰娜齻€基本特征是_、_和_。5 this引用實際代表的是_;super引用代表的是_。6 抽象方法只能有方法的_,不能有_。7 創(chuàng)建對象的時候,new操作符為對象分配內(nèi)存后,將調(diào)用類的_,確定對象的初始狀態(tài)。8

3、 設(shè)有如下語句,String s1="hello"s1=s1+" world!"則s1的值是_。9 int類型的數(shù)據(jù)占用存儲空間是_位10 Java表示邏輯值的基本數(shù)據(jù)類型,稱為_11 自動類型轉(zhuǎn)換的原則是把級別_的變量轉(zhuǎn)換為級別_的變量12 假若 int x=10; float y; y=x;這時y的值為_13 數(shù)組是一組相同類型變量的集合,其下標(biāo)是從_ 開始算的14 一個類是類聲明和_兩部分組成。15 創(chuàng)建一個名為 MyPackage 的包的語句是_16 Java 程序可以分為 Application 和 Applet 兩大類,能在 WWW 瀏覽器上

4、運行的是 _ 。 17 在Java中有5種算術(shù)運算符,分別為加、減、乘、除以及_18 do-while語句與while語句的區(qū)別在于先執(zhí)行循環(huán)體中的語句再計算條件表達(dá)式, 所以do-while語句的循環(huán)體至少被執(zhí)行_ 次。19 Java程序用 將多條語句組合在一起,語句之間必須用_隔開。20 要編譯一個文件名為Test的Java源程序,需在命令控制臺窗口輸入編譯命令_21 通常類名可由字母、數(shù)字、下劃線以及美元符號組成,但類名的第一個字符不能是_22 Java定義了8個基本數(shù)據(jù)類型:字節(jié)型、短整型、整型、長整型、字符型、布爾型、單精度浮點型和_23 在Java中,兩個連續(xù)等號(=)是比較運算符

5、,那么一個等號是_運算符三單項選擇題。1 下面不是Java關(guān)鍵字的是( )(A)class(B)interface(C)new(D)subclasses2Java語言用于定義接口的關(guān)鍵字是( )(A)class(B)interface(C)try(D)catch3下面哪個是合法的布爾類型聲明( )(A) boolean b1=0;(B) boolean b2=false;(C) boolean b3=false;(D) boolean b4=no;4關(guān)于主類的敘述正確的是( )(A)源程序文件中定義的第一個類是主類(B)源程序文件中定義的最后一個類是主類(C)一個源程序文件中至多有一個類是主類

6、(D)以上說法都不對5下面選項中,均是不合法的用戶標(biāo)示法的選項是( )(A)AP_0do(B)floatla0_A(C)b-atryint(D)_123tempINT6設(shè)有以下程序段if(x>0) System .out .println(“first”);else if(x<10) System .out .println(“second”);else System .out .println(“third”) 當(dāng)程序輸出“second”時,x的范圍為( )(A)x < = 0(B)x < 10 并且 x > 0(C)x > 0(D)x >= 107

7、以下運算符中優(yōu)先級最低的是( )(A)? :(B)= =(C)|(D)!8下面可以調(diào)用void set(int x,int y)方法選項是( )(A)set(“hello”)(B)set(50,“hello”)(C)set(10,25)(D)set(3,10,2)9設(shè)有以下程序,在不合法的調(diào)用語句是( )class A void show1() System.out.println("a");class B extends A void show2() System.out.println("b");public class Cmy public sta

8、tic void main( String args ) A obj1=new A();B obj2=new B();(A)obj1.show1();(B)obj2.show1();(C)obj1.show2();(D)obj2.show2();10沒有訪問控制修飾符的成員變量被自動視為( )(A)public變量(B)private變量(C)protected變量(D)package變量11. 下列選項中哪個是將一個十六進(jìn)制值賦值給一個long型變量的正確方法( )(A) long number = 345L; (B) long number = 0345;(C) long number =

9、 0345L; (D) long number = 0x345L;12. 下面初始化數(shù)組的語句中,不正確的是:( )(A) int x = 8,5,6,4; (B) int x4 = 8,5,6,4;(C) int x = 8,5,6,4; (D) int x = new int8,5,6,4;13. 下面的代碼段中,執(zhí)行之后i 和j 的值是什么? ( )int i =3; int j; j = i-; (A) 3, 3 (B) 2, 3(C) 3, 2(D) 2, 214. 下列關(guān)于構(gòu)造方法的敘述中,錯誤的是( )(A) Java語言規(guī)定構(gòu)造方法名與類名必須相同(B) Java語言規(guī)定構(gòu)造方

10、法沒有返回值,但不用void聲明(C) Java語言規(guī)定構(gòu)造方法不可以重載(D) Java語言規(guī)定構(gòu)造方法只能通過new自動調(diào)用15. 下列關(guān)于修飾符混用的說法,錯誤的是( )(A)abstract不能與final并列修飾同一個類 (B)abstract類中不可以有private的成員 (C)abstract方法必須在abstract類中 (D)static方法中能處理非static的屬性16. 運行下面程序段的結(jié)果是:( )public class MyMain public static void main(String args) String a = “ !”; System.out.

11、println(“Hello Java”+a);(A)輸出Hello Java +a(B)輸出Hello Java !(C)運行時出錯(D)以上答案都不對17. 下面哪個表達(dá)式正確?( )(A)float f=1.3;(B)char c="a"(C)byte b=257;(D)int i=10;18. 下面哪個是不合法的標(biāo)識符?( )(A)$persons(B)TwoUsers(C)*point(D)_endline19. 下面初始化數(shù)組的語句中,不正確的是:( )(A)int x = 1,2,3;(B)int x3 = 1,2,3;(C)int x = 1,2,3;(D)

12、int x = new int1,2,3;20. 下面哪個單詞是Java語言的關(guān)鍵字( )(A)Float(B)this(C)string(D)unsigned21. 下面關(guān)于繼承的哪些敘述是正確的? ( )(A)在java中允許多繼承。 (B)在java中一個類只能實現(xiàn)一個接口。 (C)在java中一個類不能同時繼承一個類和實現(xiàn)一個接口。 (D)java的單一繼承使代碼更可靠。22. 下面關(guān)于變量及其作用范圍的陳述哪個是不對的?( )(A)實例變量是類的成員變量。(B)實例變量用關(guān)鍵字static聲明。(C)在方法中定義的局部變量在該方法被執(zhí)行時創(chuàng)建。(D)局部變量在使用前必須被初始化。23

13、. 以下代碼段執(zhí)行后的輸出結(jié)果為( )。int x=-3;float y=10.0f;System.out.println(y%x);(A)不能成功編譯(B)-1.0(C)1.0(D)-124. 下面哪個是不合法的標(biāo)識符? ( )(A)$persons;(B)TwoUsers;(C)*point;(D)_endline;25. 下述概念中不屬于面向?qū)ο蠓椒ǖ氖? )。(A)對象、消息(B)繼承、多態(tài) (C)類、封裝(D)過程調(diào)用四讀下列程序,然后按照程序下面的要求答題。1public class ex3 public static void main (String args) int n,n

14、um,sum=0; n= 5; for(num=1;num<=n;num+=2) sum+=num; System.out.println("sum="+sum); 程序的運行結(jié)果是:2class CCircle double pi=3.14; double radius; void show_area() System.out.println("area="+pi*radius*radius); void show_all() System.out.println("radius="+radius); show_area();

15、 public class ex4 public static void main(String args) CCircle cir1=new CCircle(); cir1.radius=2.0; cir1.show_all(); 程序的運行結(jié)果是:3interface A int X=1; void showX(); interface B int Y=2;void showY();class InterfaceTest implements A,B int z=3;public void showX() System.out.println("X="+X);publi

16、c void showY() System.out.println("Y="+Y);public void showMe() System.out.println("z="+(z+X+Y);public class ex8 public static void main( String args ) InterfaceTest myObject=new InterfaceTest();myObject.showX();myObject.showY();myObject.showMe();程序的運行結(jié)果是:五編程題1. 編寫一段小程序,打印出99乘法口訣。

17、2. 編寫一各Java程序,查找1100之間的素數(shù)并將運行結(jié)果輸出。3. 設(shè)有以下關(guān)于點point類的定義,請在此基礎(chǔ)上創(chuàng)建一個正方形類square,用以描述正方形作上角的位置、邊長,能夠計算出正方形的面積。class CPoint int x,y;public void setXY(int x1,int y1)x=x1;y=y1;int getX() return x;int getY() return y;參考答案一 簡答題。1.優(yōu)點缺點解釋方式可以快速進(jìn)行測試:使用解釋型語言編寫程序時,可以立即進(jìn)行測試,找出錯誤并修正,然后再試;運行速度比其他程序慢;編譯方式它盡可能地對程序進(jìn)行優(yōu)化,使

18、其高效運行。編譯后的程序不需要解釋器就可直接運行,且運行速度比解釋型程序快;但測試起來需要更多的時間。在測試前,需要編寫并編澤程序。發(fā)現(xiàn)錯誤并修改后,必須重新編譯,以確定錯誤是否已消除;2.Java的特點有:簡單性;面向?qū)ο?;跨平臺性;健壯性;安全性;可移植性;多線程性;動態(tài)性。3數(shù)據(jù)類型類型名位長默認(rèn)值取之范圍布爾型boolean1falsetrue,false字節(jié)型byte80-128127字符型char16'u0000''u0000''uffff'短整型short160-3276832767整型int320-2,147,483,6482,1

19、47,483,647長整型long640-9,223,372,036,854,775,8089,223,372,036,854,775,807符點型folat320.01.4E-453.402 823 5E+38雙精度double640.04.9E-3241.797 693 134 862 315 7E+3084從思維方式角度看,面向過程編程注重用功能構(gòu)造系統(tǒng),思維方式更貼近于計算機邏輯。而面向?qū)ο缶幊虅t注重從現(xiàn)實世界中的客觀存在建立系統(tǒng),強調(diào)直接以問題域中的事物為中心思考問題和認(rèn)識問題,并根據(jù)這些事物的本質(zhì)特征和系統(tǒng)責(zé)任,把它們抽象為系統(tǒng)中的對象,用對象作為系統(tǒng)的基本構(gòu)成單位。從程序構(gòu)造角度

20、看,在過程性語言編寫的程序中,待處理的數(shù)據(jù)和處理數(shù)據(jù)的方法分散在程序的各個地方。而面向?qū)ο笳Z言編寫的程序中,待處理的數(shù)據(jù)和處理數(shù)據(jù)的方法都放在同一實體(entity)(程序模塊)中,形成“封裝”。通過封裝,可以最大限度的實現(xiàn)代碼重用,減小數(shù)據(jù)的依賴性,從而解決面向過程語言中存在的問題。5.修飾符是用于限定類對象使用的權(quán)限,從而實現(xiàn)類中成員的信息隱藏。訪問修飾符適用于類成員,而不是方法內(nèi)部的局部變量。Java常見的訪問修飾符有這4種:private、default、protected和public。l public 可以被所有的類訪問l pravite 只能被類本身訪問,其他類無法訪問l pro

21、tected 可以被類本身、它的子類(包括同一個包中以及不同包中的子類)l default 屬于默認(rèn)的訪問狀態(tài),可以被類本身和同一個包中的類訪問6在定義成員變量時,如果用static修飾符修飾,則該變量是類變量(也稱“靜態(tài)變量”),否則是實例變量。類變量的本質(zhì)特點是:它是類的變量,不屬于類的任何一個具體對象。它保存在類的內(nèi)存區(qū)域的公共存儲單元。類的任何一個對象對類變量的存取都是對同一個內(nèi)存單元進(jìn)行操作。與類變量相對,實例變量屬于類的某個具體的對象。它在類的每個對象的內(nèi)存區(qū)域中都保存一份。類的任何一個對象對實例變量的存取都是對自己內(nèi)存區(qū)域內(nèi)保存的實例變量的副本進(jìn)行操作。7類方法不針對特定的對象,

22、所以在沒有創(chuàng)建對象之前可以執(zhí)行。但是在類方法中只能訪問類變量和類方法,而不能訪問實例變量和實例方法。實例方法則只能針對特定的對象執(zhí)行,因此,如果任何對象都不存在,則也就沒有可以執(zhí)行的實例方法。另外,盡管實例方法專用于類中的對象,但在內(nèi)存中也只有一份實例方法,供類中的所有對象共享。因為為每個對象都復(fù)制一份實例方法的代價太大了。系統(tǒng)中有一種專門機制來保證:每當(dāng)通過對象調(diào)用一個實例方法時,代碼都按照專用于某個對象的方式運行。8“覆蓋”與“重載”均是Java“多態(tài)”(ploymorphism)的技巧之一。它們又不同之處:重載:英文名稱是overloading,它是在相同類內(nèi),定義名稱相同,但參數(shù)個數(shù)或

23、類型不同的方法。編譯器會根據(jù)實參的個數(shù)和類型,確定調(diào)用哪個方法。覆蓋:英文名稱是overriding,它是在子類當(dāng)中,定義名稱、參數(shù)個數(shù)與類型均與父類相同的方法,用以改寫父類方法的功能。9接口是一種完全沒有實現(xiàn)的類,在接口中只包含了抽象方法和常量的定義。與類不同的是,接口的定義使用interface關(guān)鍵字,而類定義使用class關(guān)鍵字。從本質(zhì)上講,接口是一種特殊的類,這種類中只包含常量和方法的定義,沒有變量和方法的實現(xiàn)。用修飾符abstract修飾的類稱為抽象類。抽象類專門用于繼承,不能實例化。抽象類中一般都含有抽象方法,同時也可以含有一般的變量和方法。這與接口不同。二填空。1 小應(yīng)用程序應(yīng)用

24、程序2 編輯編譯運行3 true 84 封裝性繼承性多態(tài)性5 當(dāng)前類或?qū)ο蟊旧?父類6 聲明部分實現(xiàn)部分7 構(gòu)造方法8 hello world!9 3210 布爾型11 低 高12 10.013 014 類描述15 package MyPackage;16 Applet17 求模18 119 ;20 javac Test.java21 數(shù)字22 雙精度浮點型23 賦值三單項選擇題。1.D2.B3.C4.D5.C6.A7.A8.C9.C10.D11.D 12.D 13.B 14.C 15.D16.B 17.D 18.C 19.B 20.B21. D 22.B 23.C 24.C 25.D 四讀下

25、列程序,然后按照程序下面的要求答題。1程序的運行結(jié)果是:sum=92程序的運行結(jié)果是:radius=2.0area=12.563程序的運行結(jié)果是:x=1y=2z=6五編程題1public class Step01       public static void main(String args)            for(int i=1 ; i<10 ;i+)      &#

26、160;          for(int j=1 ;j<i+1 ;j+)                      System.out.print(i+"*"+j+"="+i*j+"t");                                  System.out.println();     

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論