2021年度面向對象的程序設計試題庫_第1頁
2021年度面向對象的程序設計試題庫_第2頁
2021年度面向對象的程序設計試題庫_第3頁
2021年度面向對象的程序設計試題庫_第4頁
2021年度面向對象的程序設計試題庫_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面向對象程序設計

一、單項選取題

1、下面那種構造不是C++控制構造()

A順序構造B選取構造

C循環構造D判斷構造

答:D

2、下列是C++語言中合法標記符是()。

A.3threeB.if

C._loneD.while

答:C

3、下列是合法C++語言語句是()o

A.if(x>0)thenx=x-l;elsex=x+1;

B.if(x>0)x=x-l;elsex=x+l;

C.ifx>0x=x-l;elsex=x+1;

D.ifx>0x=x-1;

答:B

4、下面那一種不是計算機內部表達整數辦法()

A二進制碼B原碼

C補碼D反碼

答:A

5、在C++語言中,下列數為合法實數是()。

A.5E-3B.5E-3.5

C.E5D.-3.5E

答:A

6、C++語言中數據類型最大是()

AlongBfloat

CintDchar

答:B

7、如果一種函數可以在定義中直接或間接調用自己,這樣函數稱為()。

A.函數聲明B.嵌套函數

C.定義函數D.遞歸函數

答:D

8、表達式0x55A0xB4成果為()。

A.0xF5B.0xl5

C.OxElD.OxlE

答:C

9、C++中,源代碼文獻后綴為()

A.cppB.objC.exeD.c

答:A

10、0X5A&0XB7成果是()

A0X13B0X12

C0X14D0X15

答:B

二、填空題

1、程序基本控制構造涉及()、()和(

)o

答:順序構造,選取構造,循環構造

2、用來解決問題,與有限各種環節構成詳細過程稱為()。

答:算法

3、整數類型變量a和b被初始化為3和10,則循環語句while(a<=b)a=a+2;共執

行()次,執行完語句后a值為(),b值為()o

答:4,11,10

4、在程序編譯階段錯誤重要分為兩類()和(

答:警告信息,致命錯誤

5、計算機中數據可以分為()和()兩大類。

答:數值型、字符型

6、字符型數據有兩種編碼辦法:()和

)

答:有美國國標局制定ASCH碼、IBM公司提出EBCDIC碼

7、通過C++語言中()機制,可以從現存類中構建其子類。

答:繼承(或派生)

8、封裝規定一種對象應具備明確功能,并具備()以便和其他

對象互相作用。

答:接口(或界面、或公有成員〉

9、軟件工程中以為影響一種程序質量重要因素涉及()、(

)、()、()和()等方面。而面

向對象程序設計特別強調軟件質量兩個方面(

)和(

答:對的性,健壯性,可擴展性,可重用性,有效性,語法與語義可靠性,構造

方面可擴展性與可重用性

10、15/3=(),16/3=(),15%3=(),16%3=()

答:5、5、0、1

ll、0XB4<<2及10110100向左連移兩次,成果為(),即0XD0,0XB4?2

即10110100向右連移動兩次,邏輯右移成果為(),即0X2D

答:11010000.00101101

12、一種語言重要由()和()兩某些構成。

答:語法、語義

13、為了讓編譯程序理解數據所屬類型,同常程序設計語言都尊循

“()”原則。

答:先聲明,后使用

14、C++語言中數據可分為()和()兩大類。

答:常量、變量

三、判斷題

1、構造化程序設計辦法重要技術是自頂向下、逐漸求精,采用單入口/單出口控

制構造。()

答:對

2、程序中以“//”開頭直至該行行尾內容成為注釋,用于闡明或者解釋程序功能。

()

答:對

3、構成C++程序最小單位是單詞,C++程序有5種單詞,保存字,標志符、

常量、運算符和分界符。()

答:對

4、C++中,對基本數據類型常量與變量進行加工過程成為運算,表達各種不

同運算符號成為運算符,參加運算數據成為操作數。()

答:對

5、表達式a?b=O:b=1,求值順序是(a?(b=0);b)=1)()

答:對

四、簡答題

1、面向對象程序設計有那些基本特性?

答:在面向對象程序中,將現實世界實體抽象成為對象,不同對象之間互相作用

和互相通信構成了完整客觀世界。它基本特性涉及:(1)數據封裝,數據封裝將

一類數據和與此類數據關于操作集合封裝在一起,形成一種能動實體成為對象。

顧客不必懂得對象行為實現細節,只需依照對象提供外部特性接口訪問對象,這

反映了數據抽象數據類型思想。(2)繼承,類支持層次模型構造,低層次類(子

類)可以從她高層次類(基類、父類)中繼承所有數據或操作,并擴充自己特殊

數據和操作。繼承可以使不同對象共同性質只需定義一次,顧客可以充分運用已

有類,符合軟件重用目的。(3)多態性,顧客在使用函數或對象編程時,關懷是

該函數或對象功能和使用界面,并不需要理解該函數或對象使用與哪一種實現辦

法匹配,在面向對象程序設計中,程序員可為同一函數或對象提供各種不同實現,

以適合不同場合。

2、什么是內聯函數?使用內聯函數有什么好缺陷?

答:(1)內聯函數:在編譯時將所調用函數代碼直接嵌入到調用函數調用處,而

不是將程序流程轉出去,這種嵌入到調用函數中函數就稱為內聯函數。(2)長處:

避免小規模函數調用開銷(參數傳遞、上下文切換、空間開銷),提高程序執行

效率;(3)缺陷:如果內聯函數開銷不是整個程序執行時間重要某些,它長處就

不明顯;內聯函數加大了可執行程序,也許導致額外內存互換而實際減少了執行

速度。

3、什么是程序斷言?在程序中使用斷言重要有什么作用?

答:(1)程序斷言:為在程序中反映程序編譯運營對的性與需求闡明一致性,而

在程序中加入描述程序需求闡明表達式稱為程序斷言。(2)作用:保證程序對的

性與健壯性;斷言可用于形成程序文檔;支持程序動態調試;構成異常解決基本。

4、簡述實體、對象和類概念以及她們之間關系。

答:(1)概念:實體,現實世界中物理實體;對象:具備類類型變量稱為對象,

也就是現實世界中某個詳細物理實體在計算機邏輯中映射和體現。類:對一組具

備相似屬性、體現相似行為對象描述。(2)關系:實體與對象,是現實與計算機

邏輯映射;對象與類,類是具備一定共性對象抽象,類某一種實例就是對象。

5、什么是變量作用域和生存期?什么是局部變量和全局變量?

答:(1)作用域:在變量被創立之后,變量名字能被引用地方。(2)生存期:在

程序執行過程中變量實際占用內存或寄存器時間。變量生存期是由聲明變量時選

取存儲類別決定。(3)局部變量:在函數內(塊作用域中)聲明變量。只有在定

義她們函數(塊語句中)才可見并容許修改,如果不使用特殊訪問方式,任何其

她函數都不能訪問或修變化量。(4)全局變量:在文獻作用域中聲明變量。在函

數定義外聲明,從不屬于任何函數,從被定義開始,在整個文獻范疇內有效,可

以被不同函數使用。

五、應用題

1、講顧客輸入24小時制時間轉換為12小時制時間,寫出其算法

解答:#include<iostream.h>

Voidmian()

Inthour;

Charnoo='A';

Cout?,,enterthehourplease:^^;

Cin?hour;

If(hour>12){

Hour=hour-12;

Noon='P';

Cout?,,thehouris”<<hour?noon?,,.M.\n;

2、設a=l,b=0,c=l,試計算下列邏輯表達式值。(8分)

(1)!a&&!b

答:0

(2)a&&b||c

答:1

3、給出數學、英語、語文這樣菜單供顧客選取,根據顧客選取序號顯示其成果,

寫出其算法

解答:#include<iostream.h>

Voidmian()

(

(20戊<<”1.數學\心

Coutvd.英語\n”;

CoutvC'l.語文\n”;

Cout?,,enteryourchoice(1-3):";

Cin?choice;

Switch(choise){

Case1

cout?,9youchoiceis數學An”;

Break;

Case2

coutv<"youchoiceis英語.\n";

Break;

Case3

cout?,9youchoiceis語文.\n”;

Break;

Default:

cout<v"youdidnotmakechoice.\n^^;

Break;

4、指出下列程序輸出成果(8分)

#inc1ude<iostream.h>

voidmain()

(

floata=2.5;

intb=7;

coutvv"a*bis:“v<a*bv<"\n";

cout<v"(int)a*bis:''<v(int)a*bv<"\n";

cout?,9a*(float)bis:,,?a*(float)b?,,\n,9;

)

答:

a*bis:17.5

(int)a*bis:14

a*(float)bis:17.5

5、給出下程序輸出成果(9分)

#include<iostsream.h>

intglobal_value=5;

voiddisplay(void)

intlocal_value=5;

staticintstatic_value=5;

cout?,,rTheglobalvalueis:"<vglobal_value<<''\n";

cout?9,Thelocalvalueis:"v<local_value<<"\rT;

cout?,9Thestaticvalueis:,,?static_value?M\nM;

global_value=global_value+2;

local_value=local_value+2;

static_value=static_value+2;

return;

)

intmain()

(

while(global_value<8)display();

return0;

)

答:

Theglobalvalueis:5

Thelocalvalueis:5

Thestaticvalueis:5

Theglobalvalueis:7

Thelocalvalueis:5

Thestaticvalueis:5

Theglobalvalueis:9

Thelocalvalueis:5

Thestaticvalueis:5

6、求1到100之間數字平方相加之和原始算法。

解答:#include<iostream.h>

Voidmian()

(

Constintmin=l;

Constintmax=100;

Intsum;

Intent;

Sum=0;

For(cnt=min:cnt<=max;cnt=cnt+1)sum=sum+cnt*cnt;

Cout?uthesunmmingresultis”?sum?^^\n^,;

7、編寫一種程序,判斷顧客輸入年份與否為閏年。(提示:閏年年份要么能被4

整除且不能被100整除,要么能被400整除,除此之外都不是閏年)(10分)

答:(答案不唯一,重要是if判斷條件和輸入語句對即可)

#include<iostream.h>

voidmain()

(

intyear;

cout?,,Pleaseputintoayear:";

cin?year;

if(year%400==0||(year%4==0&&year%100!=0))

cout?,,Theyear,,?year?Misleapyear”;

else

cout?'Theyear^^?year?^^isn'tleapyear";

8、輸入三個數,求三數中最小數,寫出其算法

解答:#include<iostream.h>

Voidmian()

(

FloatI,j,k;

Floatmin;

Cout?,,enter3floatnumberplease:“;

Cin?i?j?k;

Min=I;

If(j<min)min=j;

If(k<min)min=k;

Cout〈〈“minimumis“vvminv<"\n”;

9、給定正整數n,求平方不超過n最大整數,寫出其算法

解答:#

溫馨提示

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

最新文檔

評論

0/150

提交評論