C++程序設計基礎案例教程吳艷課后參考答案_第1頁
C++程序設計基礎案例教程吳艷課后參考答案_第2頁
C++程序設計基礎案例教程吳艷課后參考答案_第3頁
C++程序設計基礎案例教程吳艷課后參考答案_第4頁
C++程序設計基礎案例教程吳艷課后參考答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

填空題:1、面向對象語言的特點是(

繼承

)、(

抽象

)、(

封裝

)和(

多態

)。選擇題:1、C++源程序文件的缺省擴展名為(A)。A、cpp B、exe C、obj D、c2、由C++源程序文件編譯而成的目標文件的缺省擴展名為(C)。A、class B、exe C、obj D、lik3、由C++目標文件連接而成的可執行文件的缺省擴展名為(B)。A、txt B、exe C、obj D、java4、編寫C++程序一般需經過的幾個步驟依次是(B)。A、編譯、編輯、連接、調試 B、編輯、編譯、連接、調試C、編譯、調試、編輯、連接 D、編輯、調試、編輯、連接5、C++程序的基本模塊為(D)。A、表達式 B、標識符 C、語句 D、函數填空題:1、C++程序由(

注釋

)、(

編譯預處理

)以及(

程序主體

)三部分組成。2、C++程序有兩種注釋格式,一種是用符號(/*...*/)括起來,可以占多行;另一種是用符號(

//

),只能占一行。3、一個C++程序可以由若干個函數組成,其中必須且僅有一個叫(

main

)的函數。選擇題:1、每個語句和數據定義的最后必須有一個(A),才能表示一個完整的C++語句。A、; B、。 C、! D、//2、以下合法的標識符的是(B)。A、int B、_123 C、ch D、a?nt3、C++語言中,以下表達式不正確的是(C)。A、++y++ B、x=x C、x+1=9 D、x=x+y4、C++語言中,不合法的字符類型(A)。A、’’ B、 ‘a’ C、’1’ D、‘’5、下列表達式(a=2+3,a*5),a+10的結果是(D)。A、75 B、55 C、35 D、156、存儲以下數據,占用存儲字節最多的是(D)。A、0 B、‘0’ C、“0” D、0、07、下面(D)不是C++的標準數據類型。A、int B、char C、bool D、real8、C++語言是從早期的C語言逐漸發展演變而來的、與C語言相比,它在求解問題方法上進行的最大改進是(B)。A、面向過程 B、面向對象 C、安全性 D、復用性9、設x和y均為bool類型,則x&&y為真的條件是(A)。A、它們均為真 B、其中一個為真 C、它們均為假 D、其中一個為假10、設有inti;則表達式i=1,++i,++i||++i,i的值為(C)。A、1 B、2 C、3 D、4判斷題:1、C++是一種以編譯方式實現的高級語言。(

√)2、判斷:在C++中標識符是不區分大小寫字母的。(

×

)3、判斷:關鍵字在C++系統中具有特殊的意義,不能用作其他用途。(

)4、判斷:自加運算符無論是前綴形式還是后綴形式對運算對象本身來說是沒有區別的。(

)5、判斷:自加、自減運算符的前綴形式在表達式中是先引用后計算。(

×

)6、判斷:有如下定義語句inti=1;則i++;的值是1。(

)填空題:程序設計的三種基本結構分別是(順序結構)、(選擇結構)和(循環結構)。2、C++中,cin表示輸入流采用抽取操作符(

>>

),cout表示輸出流采用插入操作符(

<<

)。選擇結構細化又可以分為(單分支結構)、(雙分支結構)和(多分支結構)。多分支結構的實現可以通過(if語句的嵌套)和(switch語句)。C++語言中循環結構包括(for語句)、(while語句)和(dowhile語句)。選擇題:1、下面程序的運行結果為(

C

)。

#include<iostream.h>

voidmain()

{for(inta=0,x=0;!x&&a<=10;a++)

{a++;

}

cout<<a<<endl;

}

A、10

B、11

C、12

D、02、下列選項,不正確的是(

B

)。

A、for(inta=1;a<=10;a++);

B、inta=1;do{

a++:

}while(a<=10)

C、inta=1;while(a<=10){a++;}

D、for(inta=1;a<=10;a++)a++;3、下面關于break語句的描述中,不正確的是(

D

)。

A、break可以用于循環體內

B、break語句可以在for循環語句中出現多次

C、break語句可以在switch語句中出現多次D、break語句可用于if條件判斷語句內4、下面程序的運行結果是(

C

)。

#include<iostream.h>

voidmain()

{

inti=1;

while(i<=8)

if(++i%3!=2)continue;

elsecout<<i;

}

A、25

B、36

C、258

D、3695、有以下程序:

#include<iostream.h>

voidmain()

{

inti=0,s=0;

for(;;)

{

if(i==3||i==5)continue;

if(i==6)break;

i++;s+=i;}

cout<<s;

}程序的運行結果為(

D

)。

A、10

B、13

C、21

D、程序進入死循環6、當執行以下程序段時(

A

)。

x=-1;

do(x=x*x;)while(!x);

A、循環體將執行一次

B、循環體將執行兩次

循環體將執行無限次

D、系統將提示有語法錯誤7、C++語言的跳轉語句中,對于break和continue說法正確的是(C)。A、break語句只應用與循環體中B、continue語句只應用與循環體中C、break是無條件跳轉語句,continue不是D、break和continue的跳轉范圍不夠明確,容易產生問題8、for(intx=0,y=0;!x&&y<=5;y++)語句執行循環的次數是(C)。A、0 B、5 C、6 D、無次數9、有以下程序#include<iostream.h>voidmain(){inti,s=0;for(i=1;i<10;i+=2)s+=i;cout<<s;}執行程序之后的輸出結果為(C)。A、自然數1~9的累加和 B、自然數1~10的累加和C、自然數1~9中奇數之和 D、自然數1~10中偶數之和10、下列各運算符中,(B)優先級最高。A、+(雙目) B、*(單目) C、<= D、*=11、下列for的循環次數為(B)。for(inti(0),x=0;!x&&i<=5;i++)A、5 B、6 C、1 D、無限12、語句

cout<<(1&2)<<","<<(1&&2)<<endl;

的輸出結果是(

B

)。A、0,0

B、0,1

C、1,0

D、1,113、語句

cout<<(1|2)<<","<<(1||2)<<endl;

的輸出結果是(

D

)。A、0,0

B、1,1

C、2,0

D、3,114、語句

cout<<(3<<3)<<endl;

的輸出結果是(

A)。A、24

B、12

C、9

D、615、語句

cout<<(24>>3)<<endl;

的輸出結果是(

D

)。A、12

B、9

C、6

D、316、語句

cout<<(2^5)<<endl;

的輸出結果是(

C

)。A、1

B、3

C、7

D、10選擇題:1、下面關于數組的描述錯誤的是(

D

)。A、在c++語言中數組的名字就是指向該數組第一個元素的指針。B、長度為n的數組,下標的范圍是0一n-l。C、數組的大小必須在編譯時確定。D、.數組只能通過值參數和引用參數兩種方式傳遞給函數。2、下列一維數組定義格式正確的是(

C

)。A、intx[4];y[6];

B、intx=6;floatmin[x];C、doublex,y[8];

D、floatsum[8.6];3、下列對數組元素初始化正確的是(

A

)。A、intx[5]={1,2,3,4};

B、inty[5]={1,2,3,4,5,6};C、inta[5]=1;

D、floatb[5]={1.0;2.0;3.0;4.0;5.0};4、下列二維數組定義格式正確的是(

C

)。A、intx{2,3}

B、floatx[2,3]

C、doublex[2][3]

D、floatx{2}{3}5、下列二維數組元素初始化格式正確的是(

A

)。A、intx[3][4]={1,2,3,4};

B、intx[3][4]={1,1,1,1,1,1,1,1,1,1,1,1,1}C、intx[3][4]={};

D、intx[3][4]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};6、設有數組定義:chararray[]="China";,則數組array所占的空間為(

C

)。A、4個字節

B、5個字節

C、6個字節

D、7個字節7、下列字符數組初始化正確的是(

A

)。A、chararr[5]="abcd";

B、chararr[5]="abcdef";

C、chararr="abcdef";

D、chararr[5]={abcde};8、在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊尾(即最后一個)元素的位置為(C)。A、length+1B、first+lengthC、(first+length-1)%MSD、(first+length)%MS9、在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊尾的后一個位置為(D)。A、length+1B、first+lengthC、(first+length-1)%MSD、(first+length)%MS10、在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊首的后一個位置為(B)。A、first+1B、(first+1)%MSC、(first-1)%MSD、(first+length)%MS11、有數組定義

doubled[10];

以下敘述不正確的是(

B

)。A、數組d有10個元素

B、數組d的最后一個元素是d[10]C、數組d的第一個元素*d

D、數組d的字節數是sizeof(double)*1012、以下對一維數組a的定義正確的是(

C

)。A、intn=5,a[n];

B、inta(5);C、constintN=5;inta[N];

D、intn;

cin>>n;

inta[n];

13、下列數組定義語句中,不合法的是(

A)。A、inta[3]={0,1,2,3};

B、inta[]={0,1,2};C、inta[3]={0,1,2};

D、inta[3]={0};14、若有定義語句:inta[3][6];按在內存中存放的順序,a數組的第10個元素是(D)。A、a[0][3] B、a[1][4] C、a[0][4] D、a[1][3]15、以下數組定義中錯誤的是(B)。A、intx[][3]={0}; B、intx[2][3]={{1,2},{3,4},{5,6}};C、intx[][3]={{1,2,3},{4,5,6}}; D、intx[2][3]={1,2,3,4,5,6};判斷題:1、在C++中可以利用字符數組表示字符串。(

)2、strcat()函數實現兩個字符串的連接,結果中包含兩個"\0"。(

×

)選擇題:1、說明一個結構體變量時系統分配給它的內存是(A)。A、各成員所需要內存量的總和B、結構體中第一個成員所需內存量C、成員中占內存量最大者所需的容量D、結構中最后一個成員所需內存量2、C++語言結構體類型變量在程序執行期間(A)。A、所有成員一直駐留在內存中B、只有一個成員駐留在內存中C、部分成員駐留在在內存中D、沒有成員駐留在內存中3、設有以下說明語句structstu{inta;floatb;}stutype;則下面的敘述不正確的是(C)。A、struct是結構體類型的關鍵字B、structstu是用戶定義的結構體類型C、stutype是用戶定義的結構體類型名D、a和b都是結構體成員名4.程序中有下面的說明和定義structabc{intx;chary;}structabcs1,s2;則會發生的情況是(A)。A、編譯出錯B、程序將順利編譯、連接、執行C、能順利通過編譯、連接、但不能執行D、能順利通過編譯、但連接出錯5.有如下定義structperson{charname[9];intage;};structpersonclass[10]={"Johu",17,"Paul",19,"Mary",18,"Adam",16};根據上述定義,能輸出字母M的語句是(D)。A、prinft("%c\n",class[3].name); B、printf("%c\n",class[3].name[1]);C、prinft("%c\n",class[2].name[1]); D、printf("%c\n",class[2].name[0]);6.下面程序的輸出是(D)。A、0B、1C、3D、6main(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}7.下列程序的輸出結果是()。A、5B、6C、7D、8structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}8.設有如下定義:structsk{inta;floatb;}data,*p;若有p=&data;,則對data中的a域的正確引用是()。A、(*p).data.aB、(*p).aC、p->data.aD、p.data.a9.下面程序的輸出結果為()。structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d\n",++p->x);printf("%d\n",(++p)->x);printf("%d\n",++(*p->y));}A、10B、50C、51D、60206060702021213110.當說明一個共用體變量時系統分配給它的內存是(C)。A、各成員所需要內存量的總和B、共用體中第一個成員所需內存量C、成員中占內存量最大者所需的容量D、共用體中最后一個成員所需內存量11.以下對C++語言中共用體類型數據的敘述正確的是(C)。A、可以對共用體變量名直接賦值B、一個共用體變量中可以同時存放其所有成員C、一個共用體變量中不可以同時存放其所有成員D、共用體類型定義中不能出現結構體類型的成員12.C++語言共用體類型變量在程序運行期間(B)。A、所有成員一直駐留在內存中 B、只有一個成員駐留在內存中C、部分成員駐留在在內存中 D、沒有成員駐留在內存中13.字符'0'的ASCII碼的十進制數為48,且數組的第0個元素在低位,則以下程序的輸出結果是()。#include〈stdio.h〉main(){union{inti[2];longk;charc[4];}r,*s=&r;s->i[0]=0x39;s->i[1]=0x38;printf("%c\n",s->c[0]);}A、39B、9C、38D、814.設有以下定義:#include“alloc.h”typedefunion{longi;intk[5];charc;}DATE;structdate{intcat;DATEcow;doubledog;}too;DATEmax;則下列語句的執行結果是()。printf("%d",sizeof(structdate、+sizeof(max));A、25B、30C、18D、815.設有如下枚舉類型定義:enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};枚舉量Fortran的值為(C)。A、4B、7C、102D、10316.下面程序的輸出是(4)。A、0123B、04010C、04515D、14515main(){enumteam{my,your=4,his,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}16.以下選項中,能定義s為合法的結構體變量的是(B)。A、typedefstructabcB、struct{doublea;{doublea;charb[10];charb[10];}s;}s;C、structABCD、typedefABC{doublea;{doublea;charb[10];charb[10];}ABCs;}ABCs;17.下面對的敘述中不正確的是(B)。A、用typedef可以定義各種類型名,但不能用來定義變量B、用typedef可以增加新類型C、用typedef只是將已存在的類型用一個新的標識符來代表D、使用typedef有利于程序的通用和移植18.設有以下說明語句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是(B)。A、PER是結構體變量名 B、PER是結構體類型名C、typedefstruct是結構體類型 D、struct是結構體類型名填空題:1、在C++中文件包含命令為(include),宏定義命令為(define)。2、在C++中宏定義根據參數可以分為(不帶參數宏定義)和(帶參數宏定義)。3、程序中變量的存儲類型包括:(auto)、(static)、(register)和(extern)。4、變量作用域細化,可分為:(塊作用域)、(文件作用域)、函數原型作用域、(函數作用域)、類作用域和命名空間作用域。5、在C++語言中,一個函數由函數頭和(函數體)組成。6、函數形參的作用域是該函數的(函數體)。7、定義外部變量時,不用存儲類說明符(extern),而聲明外部變量時用它。8、全局變量和靜態局部變量具有靜態生存期,存放在內存的(全局數據)區中。9、局部變量具有局部生存期,存放在內存的(棧)區中。判斷題:1、在C++語言中,只有標號據有函數作用域,即在一個函數中定義的標號,在其整個函數內均可以引用。(

)2、文件包含格式要求所包含的文件必須用一對雙引號括起來。(

×

)3、函數的定義與程序設計結構一樣允許嵌套定義。(

×

)4、所有C++程序有且僅有一個main()主函數,并且程序總是從main()函數開始啟動。(

)5、函數體是由一對大括號括起來,主要用來完成數據處理語句的集合,因此在設計程序時要求函數體內必須有語句。(

×

)6、函數返回值return語句后必須跟有表達式或者常量。(

×

)7、一個函數體內允許出現多個return語句,但只能執行一個return語句。(

)選擇題:1、下列函數定義的函數頭格式正確的是(

D)。A、intadd(intx,y)

B、intadd(intx,inty);

C、intadd(x,y)

D、add(intx,inty)2、決定C++語言中函數的返回值類型的是(

D

)。A、return語句中的表達式類型

B、調用該函數時系統隨機產生的類型C、調用該函數時的主調用函數類型

D、在定義該函數時所指定的數據類型3、下列程序的輸出結果為(D)。

#include<iostream.h>

intfunc(intn)

{

if(n<1)return1;elsereturnn+func(n-1);

return0:

}

voidmain()

{

cout<<func(5)<<endl;

}

A.0

B.10

C.15

D.164、下列程序的輸出結果是(

B

)。

#include<iostream.h>

intmin(inta,intB)

{if(a<B)returna;

elseretumB;

retum0;

}

voidmain()

{cout<<min(1,min(2,3))<<endl;

}

A、0

B、1

C、2

D、35、在每個C++程序中都必須包含有這樣一個函數,該函數的函數名為(A)。A、main B、MAIN C、name D、function填空題:1、程序運行過程中,為了節約空間有時需要動態申請空間和釋放空間,動態申請空間的操作符為(new),釋放內存空間的操作符為(delete)。2、當采用new操作符進行動態申請空間時,當內存中沒有足夠的空間給予分配時,new運算符返回空指針(NULL)。選擇題:1、設p和q是指向同一個整型一維數組的指針變量,f為整型變量,則不能正確執行的語句是(

B

)。

A、k=*p+*q

B、q=f

C、p=q

D、k=*p*(*q)2、若有以下說明語句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];則b的值是(

B

)。A、5

B、6

C、8

D、93、下列程序的輸出結果為(

B

)。

#include<iostream.h>

voidmain()

{

char*a[]={"hello","the","world"};

char**pa=a;

pa++;

cout<<*pa<<endl;

}A、hello

B、the

C、world

D、hellotheworld4、下面程序的運行結果是(

C

)。

#include<iostream.h>

voidmain()

{

intnum=1;

int&ref=num;

ref=ref+2;

cout<<num;

num=num+3;

cout<<ref<<endl;

}

A、13

B、16

C、36

D、335、用new運算符創建一個含10個元素的一維整型數組的正確語句是(C)。A、int*p=newa[10]; B、int*p=newfloat[10];C、int*p=newint[10]; D、int*p=newint[10]={1,2,3,4,5}6、假定p指向的字符串為”string”,則cout<<p+3的輸出結果為(C)。A、string B、ring C、ing D、i7、假定p指向的字符串為”string”,若要輸出這個字符串的地址值,則使用(D)。A、cout<<*s; B、cout<<s; C、cout<<&s;D、cout<<(void*)s;8、定義p并使p指向動態空間中的包含30個整數的數組所使用的定義語句為(A)。A、int*p=newint[30]; B、int*p=newint(30);C、int*p=new[30];D、*p=newint[30];9、假定p是具有int**類型的指針變量,則給p賦值的正確語句為(B)。A、p=newint; B、p=newint*;C、p=newint**;D、p=newint[10];10、要使語句“p=newint[10][20];”能夠正常執行,p應被事先定義為(D)。A、int*p; B、int**p; C、int*p[20]; D、int(*p)[20];11、假定有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,則正確的語句為(A)。A、strcpy(book->title,”WangTao”); B、strcpy(book、title,”WangTao”);C、strcpy(*book、title,”WangTao”); D、strcpy((*book)->title,”WangTao”);12、假定有“structBOOK{chartitle[40];floatprice;};BOOK*book;”,則不正確的語句為(A)。A、BOOK*x=newbook; B、BOOKx={"C++Programming",27、0};C、BOOK*x=newBOOK; D、BOOK*x=book;13、假定有“structBOOK{chartitle[40];floatprice;}book;”,則正確的語句為(B)。A、BOOK&x=&book; B、BOOK&x=book;C、BOOK&x=newBOOK; D、BOOK&x=BOOK;14、假定指針變量p定義為“int*p=newint(100);”,要釋放p所指向的動態內存,應使用語句(A)。A、deletep; B、delete*p; C、delete&p; D、delete[]p;15、假定指針變量p定義為“int*p=newint[30];”,要釋放p所指向的動態內存,應使用語句(D)。A、deletep; B、delete*p; C、delete&p; D、delete[]p;選擇題:1、類MyClass的定義如下:classMyClass{

public:

MyClass(){value=0;}

SetVariable(inti){value=i;}private:

intvalue;}

則對下列語句序列:MyClass*p,my;

p=&my;正確的描述是(

D

)。A、語句p=&my;是把對象my賦值給指針變量pB、語句MyClass*p,my;會調用兩次類MyClass的構造函數C、對語句*p.SetVariable(5)的調用是正確的D、語句p->SetVariable(5)與語句my.SetVariable(5)等價2、下面關于類和對象的描述中,錯誤的是(A)。A、類就是c語言中的結構體類型,對象就是C語言中的結構體變量B、類和對象之間的關系是抽象和具體的關系C、對象是類的實例,一個對象必須屬于一個已知的類D、

類是具有共同行為的若干對象的統一描述體3、對類的構造函數和析構函數描述正確的是(

B

)。A、構造函數不能重載,析構函數可以重載

B、構造函數可以重載,析構函數不能重載C、構造函數可以重載,析構函數也可以重載D、構造函數不能重載,析構函數也不能重載4、類的析構函數的作用是(

D

)。A、一般成員函數的初始化

B、類的初始化C、對象的初始化

D、對象生存器結束時作些清理工作5、關于析構函數的說法中,正確的是(

A

)。A、一個類中只能定義一個析構函數

B、析構函數名與類名不同

C、析構函數的定義只能在類體內

D、析構函數可以有一個或多個參數6、一個類的友元函數或友元類能夠通過成員操作符訪問該類的(

B

)。A、私有成員

B、所有成員

C、公用成員

D、保護成員7、下面對于友元函數描述正確的是(C)。A、友元函數的實現必須在類的內部定義

B、友元函數是類的成員函數C、友元函數破壞了類的封裝性和隱藏性

D、友元函數不能訪問類的私有成員8、如果類A被說明成類B的友元,則(D)。A、類A的成員即類B的成員

B、類B的成員即類A的成員C、類A的成員函數不得訪問類B的成員

D、類B不一定是類A的友元9、下列關于構造函數說法不正確的是(

C

)。A、構造函數必須與類同名

B、構造函數可以省略不寫C、構造函數必須有返回值

D、在構造函數中可以對類中的成員進行初始化10、以下敘述不是構造函數的特征的是(

D

)。A、構造函數的函數名與類名相同

B、構造函數可以重載C、構造函數可以設置缺省參數

D、構造函數必須指定類型說明11、C++語言是從早期的C語言逐漸發展演變而來的.與C語言相比,它在求解問題方法上進行的最大改進是(B)。A、面向過程 B、面向對象 C、安全性 D、復用性12、下列關于構造函數的描述中,錯誤的是(D)。A、構造函數可以設置默認參數 B、構造函數在定義類對象時自動執行C、構造函數可以是內聯函數 D、構造函數不可以重載13、考慮函數原型voidtest(inta,intb=7,char="*"、,下面的函數調用中,屬于不合法調用的是(C)。A、test(5、; B、test(5,8、; C、test(6,"#"、 D、test(0,0."*"、;14、關于消息,下列說法中不正確的是(B)。A、發送消息的對象請求服務,接受消息的對象提供服務B、消息的發送者必須了解消息的接收者如何相應消息C、在C++中,消息的發送具體體現為對接收消息的對象的某個函數的調用D、每個對象只能接收某些特定格式的消息15、關于封裝,下列說法中不正確的是(D)。A、通過封裝,對象的全部屬性和操作結合在一起,形成一個整體B、通過封裝,一個對象的實現細節被盡可能地隱藏起來(不可見)C、通過封裝,每個對象都成為相對獨立的實體D、通過封裝,對象的屬性都是不可見的16、面向對象方法的多態性是指(C)。A、一個類可以派生出多個特殊類B、一個對象在不同的運行環境中可以有不同的變體C、針對一消息,不同的對象可以以適合自身的方式加以響應D、一個對象可以是由多個其他對象組合而成的17、軟件產品在需求發生變化、運行環境發生變化或發現軟件產品本身的錯誤或不足時進行相應的軟件更新的難易程度叫做軟件的(A)。A、可維護性B、可復用性C、兼容性D、正確性18、軟件產品可被全部或部分地再用于新的應用的能力叫做軟件的(B)。A、可維護性B、可復用性C、兼容性D、正確性19、軟件產品與其他軟件產品組合成一個整體的難易程度叫做軟件的(C)。A、可維護性B、可復用性C、兼容性D、正確性20、軟件產品準確執行軟件需求規格說明書中所規定的任務的能力叫做軟件的(D)。A、可維護性B、可復用性C、兼容性D、正確性21、面向對象軟件開發中使用的OOA表示(A)。A、面向對象分析B、面向對象設計C、面向對象語言D、面向對象方法22、面向對象軟件開發中使用的OOD表示(B)。A、面向對象分析B、面向對象設計C、面向對象語言D、面向對象方法23、關于面向對象系統分析,下列說法中不正確的是(B)。A、術語“面向對象分析”可以用縮寫OOA表示B、面向對象分析階段對問題域的描述比實現階段更詳細C、面向對象分析包括問題域分析和應用分析兩個步驟D、面向對象分析需要識別對象的內部和外部特征24、在一個類的定義中,包含有(C)成員的定義。A、數據 B、函數 C、數據和函數D、數據或函數25、在類作用域中能夠通過直接使用該類的(D)成員名進行訪問。A、私有 B、公用 C、保護D、任何26、在關鍵字public后面定義的成員為類的(B)成員。A、私有 B、公用 C、保護 D、任何27、在關鍵字private后面定義的成員為類的(A)成員。A、私有 B、公用 C、保護 D、任何28、假定AA為一個類,a為該類公有的數據成員,x為該類的一個對象,則訪問x對象中數據成員a的格式為(D)。A、x(a) B、x[a] C、x->a D、x.a29、假定AA為一個類,a()為該類公有的函數成員,x為該類的一個對象,則訪問x對象中函數成員a()的格式為(B)。A、x.a B、x.a() C、x->a D、x->a()30、假定AA為一個類,a為該類公有的數據成員,px為指向該類對象的一個指針,則訪問px所指對象中數據成員a的格式為(C)。A、px(a) B、px[a] C、px->a D、px.a31、假定AA為一個類,a為該類私有的數據成員,GetValue()為該類公有函數成員,它返回a的值,x為該類的一個對象,則訪問x對象中數據成員a的格式為(D)。A、x.a B、x.a() C、x->GetValue()D、x.GetValue()32、假定AA為一個類,inta()為該類的一個成員函數,若該成員函數在類定義體外定義,則函數頭為(A)。A、intAA::a() B、intAA:a()C、AA::a()D、AA::inta()33、假定AA為一個類,a為該類公有的數據成員,若要在該類的一個成員函數中訪問它,則書寫格式為(A)。A、a B、AA::a C、a() D、AA::a()34、對于一個類的構造函數,其函數名與類名(A)。A、完全相同 B、基本相同C、不相同 D、無關系35、對于一個類的析構函數,其函數名與類名(C)。A、完全相同 B、完全不同C、只相差一個字符D、無關系36、類的構造函數是在定義該類的一個(C)時被自動調用執行的。A、成員函數 B、數據成員C、對象 D、友元函數37、類的析構函數是一個對象被(B)時自動調用的。A、建立 B、撤消 C、賦值 D、引用38、一個類的構造函數通常被定義為該類的(A)成員。A、公用 B、保護 C、私有 D、友元39、一個類的析構函數通常被定義為該類的(C)成員。A、私有 B、保護 C、公用 D、友元40、假定AB為一個類,則執行“ABx;”語句時將自動調用該類的(B)。A、帶參構造函數 B、無參構造函數 C、拷貝構造函數 D、賦值重載函數41、假定AB為一個類,則執行“ABx(a,5);”語句時將自動調用該類的(A)。A、帶參構造函數 B、無參構造函數C、拷貝構造函數 D、賦值重載函數42、假定AB為一個類,則執行“AB*s=newAB(a,5);”語句時得到的一個動態對象為(D)。A、s B、s->a C、s.a D、*s43、假定AB為一個類,則執行“ABr1=r2;”語句時將自動調用該類的(D)。A、無參構造函數B、帶參構造函數C、賦值重載函數D、拷貝構造函數44、若需要使類中的一個指針成員指向一塊動態存儲空間,則通常在(B)函數中完成。A、析構 B、構造 C、任一成員 D、友元45、當類中的一個整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時,它最多能夠存儲(A)個整數。A、n B、n+1 C、n-1 D、146、假定一個類的構造函數為“A(intaa,intbb){a=aa;b=aa*bb;}”,則執行“Ax(4,5);”語句后,x.a和x.b的值分別為(C)。A、4和5 B、5和4 C、4和20 D、20和547、假定一個類的構造函數為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執行“Ax(4);”語句后,x.a和x.b的值分別為(D)。A、1和0 B、1和4 C、4和1 D、4和048、假定AB為一個類,則(B)為該類的拷貝構造函數的原型說明。A、AB(ABx); B、AB(AB&x);C、voidAB(AB&x);D、AB(intx);49、假定一個類的構造函數為“B(intax,intbx):a(ax),b(bx){}”,執行“Bx(1,2),y(3,4);x=y;”語句序列后x.a的值為(C)。A、1 B、2 C、3 D、450、假定一個類AB只含有一個整型數據成員a,當用戶不定義任何構造函數時,系統為該類定義的無參構造函數為(D)。A、AB(){a=0;} B、AB(intaa=0):a(aa){}C、AB(intaa):a(aa){} D、AB(){}51、假定一個類AB只含有一個整型數據成員a,用戶為該類定義的帶參構造函數可以為(C)。A、AB(){} B、AB():a(0){}C、AB(intaa=0){a=aa;} D、AB(intaa){}52、對于任一個類,用戶所能定義的構造函數的個數至多為(D)。A、0 B、1 C、2 D、任意個53、對于任一個類,用戶所能定義的析構函數的個數至多為(B)。A、0 B、1 C、2 D、任意個54、假定AB為一個類,則執行“AB*px=newAB[n];”語句時將(A)。A、動態分配一個數組B、動態分配一個對象C、靜態分配一個數組D、靜態分配一個對象55、設px是指向一個類對象的指針變量,則執行“deletepx;”語句時,將自動調用該類的(C)。A、無參構造函數B、帶參構造函數C、析構函數D、拷貝構造函數56、當一個類對象離開它的作用域時,系統自動調用該類的(D)。A、無參構造函數B、帶參構造函數C、拷貝構造函數D、析構函數57、假定一個類對象數組為A[n],當離開它定義的作用域時,系統自動調用該類析構函數的次數為(C)。A、0 B、1 C、n D、n-158、假定AB為一個類,則執行“ABa[10];”語句時調用該類無參構造函數的次數為(D)。A、0 B、1 C、9 D、1059、假定AB為一個類,則執行“AB*px=newAB[n];”語句時調用該類無參構造函數的次數為(A)。A、n B、n-1 C、1 D、060、假定AB為一個類,則執行“ABa,b(3),*p;”語句時共調用該類構造函數的次數為(A)。A、2 B、3 C、4 D、561、假定AB為一個類,則執行“ABa(2),b[3],*p[4];”語句時共調用該類構造函數的次數為(B)。A、3 B、4 C、5 D、962、假定AB為一個類,則執行“ABa,b(2),c[3],*p=&a;”語句時共調用該類無參構造函數的次數為(D)。A、5 B、6 C、3 D、463、假定AB為一個類,則執行“AB*p=newAB(1,2);”語句時共調用該類構造函數的次數為(B)。A、0 B、1 C、2 D、364、假定AB為一個類,px為指向該類的一個含有n個對象的動態數組的指針,則執行“delete[]px;”語句時共調用該類析構函數的次數為(C)。A、0 B、1 C、n D、n+165、對類對象成員的初始化是通過構造函數中給出的(B)實現的。A、函數體B、初始化表C、參數表D、初始化表或函數體66、對類中常量成員的初始化是通過構造函數中給出的(C)實現的。A、函數體B、參數表C、初始化表

溫馨提示

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

評論

0/150

提交評論