




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2014年大學(xué)C++期末考試題庫
-、單選題:
1.能作為C++程序的基本單位是(C)。
A.字符B.語句C.函數(shù)I).源程序文件
2.程序中主函數(shù)的名字為(A)。
A.mainB.MAINC.MainD.任意標(biāo)識符
3.關(guān)于C++與C語言的關(guān)系的描述中,(D)是錯誤的。
A.C語言是C++的一個子集;B.C語言與C++是兼容的;
C.C++對C語言進(jìn)行了一些改進(jìn);D.C++和C語言都是面向?qū)ο蟮?/p>
4.可用作C++語言用戶標(biāo)識符的一組標(biāo)識符是(B)。
A.voiddefine+W0RDB.a3b3_123YN
C.for-abcCaseD.2aDOsizeof
5.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(D)。
A.0B.'O'C,“0"D.0.0
6.設(shè)inta=12;則執(zhí)行完語句a+=a*a;后,a的值是(C)。
A.12B.144C.156D.288
7.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式
」一的表達(dá)式是(D)o
abc
A.1.0/a*b*cB.l/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c
8.以下說法中正確的是(B)o
A.C++程序總是從第一個定義的函數(shù)開始執(zhí)行
B.C++程序總是從main函數(shù)開始執(zhí)行
C.C++函數(shù)必須有返回值,否則不能使用函數(shù)
D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中
9.下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是(B)。
A.構(gòu)造函數(shù)可以帶有返回值B.構(gòu)造函數(shù)的名字與類名完全相同
C.構(gòu)造函數(shù)必須帶有參數(shù)D.構(gòu)造函數(shù)必須定義,不能缺省
10.10.在聲明類時,下面的說法正確的是()。
A.可以在類的聲明中給數(shù)據(jù)成員賦初值
B.數(shù)據(jù)成員的數(shù)據(jù)類型可以是register
C.private,public,protected可以按任意順序出現(xiàn)
D,沒有用private,public,protected定義的數(shù)據(jù)成員是公有成員
11.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是(A)。
A.一個類可以有多個析構(gòu)函數(shù)B.析構(gòu)函數(shù)與類名完全相同
C.析構(gòu)函數(shù)不能指定返回類型D.析構(gòu)函數(shù)可以有??個或多個參數(shù)
12.構(gòu)造函數(shù)是在(B)時被執(zhí)行的。
A.程序編譯B.創(chuàng)建對象C.創(chuàng)建類D.程序裝入內(nèi)存
13.下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是(B)
A.在靜態(tài)成員函數(shù)中可以使用this指針
B.在建立對象前,就可以為靜態(tài)數(shù)據(jù)成員賦值
C.靜態(tài)成員函數(shù)在類外定義是,要用static前綴
第1頁共68頁
D.靜態(tài)成員函數(shù)只能在類外定義
14.下面有關(guān)友員函數(shù)的描述中,真確的說法是(A)
A.友員函數(shù)是獨立于當(dāng)前類的外部函數(shù)
B.?個友員函數(shù)不可以同時定義為兩個類的友員函數(shù)
C.友員函數(shù)必須在類的外部進(jìn)行定義
I).在類的外部定義友員函數(shù)時必須加上friend關(guān)鍵字
15.友員的作用之一是(A)
A.提高程序的運行效率B.加強類的封裝
C.實現(xiàn)數(shù)據(jù)的隱蔽性D.增加成員函數(shù)的種類
16.使用派生類的主要原因是(A)
A.提高代碼的可重用性B.提高程序的運行效率
C.加強類的封裝性D.實現(xiàn)數(shù)據(jù)的隱藏
17.在C++中繼承方式有幾中(C)
A.1B.2C.3D.4
18.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則
定義類derived的正確寫法是(D)
A.classderived::studentprivate{//.......}
B.classderived::studentpublic{//.......}
C.classderived::publicstudent{//.......}
D.classderived::privatestudent{//.......}
19.派生類的對象對它的基類成員中(C)是可以訪問的。
A.公有繼承的公有成員;B.公有繼承的私有成員;
C.公有繼承的保護成員;D.私有繼承的公有成員。
20.類中定義的成員默認(rèn)為(A)訪問屬性。
A.publicB.privateC.protectedD.friend
21.下列存儲類標(biāo)識符中,要求通過函數(shù)來實現(xiàn)?種不太復(fù)雜的功能,并且要求加快執(zhí)行速
度,選用(A)合適。
A.內(nèi)聯(lián)函數(shù);B.重載函數(shù);C.遞歸調(diào)用;D.嵌套調(diào)用。
22.C++對C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成
了面向?qū)ο蟆?/p>
A.增加了一些新的運算符;B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù);
C.規(guī)定函數(shù)說明必須用原型;D.引進(jìn)了類和對象的概念;
23.按照標(biāo)識符的要求,(A)符號不能組成標(biāo)識符。
A.連接符B.下劃線C.大小寫字母D.數(shù)字字符
24.下列變量名中,(A)是合法的。
ACHINABbyte-sizeCdoubleDA+a
25.下列各種函數(shù)中,(C)不是類的成員函數(shù)。
A構(gòu)造函數(shù)B析構(gòu)函數(shù)C友元函數(shù)D拷貝構(gòu)造函數(shù)
26.下列(A)是正確的語句。
A;Ba=17Cx+yDcout?z/\nz/
27.不能作為函數(shù)重載判斷的依據(jù)的是(B)
A.返回類型B.constC.參數(shù)個數(shù)D.參數(shù)類型
28.通常,拷貝構(gòu)造函數(shù)的參數(shù)是(C)
A.某個對象名B.某個對象的成員名
C.某個對象的引用名D.某個對象的指針名
29.下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(C)
A類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值
B類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員
C靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)
D靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用
30.假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的(B)
A.有參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值構(gòu)造函數(shù)
31.C++程序從上機到得到結(jié)果的幾個操作步驟依次是(B)。
A.編譯、編輯、連接、運行B.編輯、編譯、連接、運行
C.編譯、運行、編輯、連接D.編輯、運行、編輯、連接
32.假定一條定義語句為“inta[10],x,*p=a;",若要把數(shù)組a中下標(biāo)為3的元素值賦給
x,則不正確的語句為(A)。
A.x=p[3];B.x=*(a+3);C.x=a[3];D.x=*p+3;
33.關(guān)于封裝,下列說法中不正確的是(D)。
A.通過封裝,對象的全部屬性和操作結(jié)合在一起,形成一個整體
B.通過封裝,一個對象的實現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)
C.通過封裝,每個對象都成為相對獨立的實體
D.通過封裝,對象的屬性都是不可見的
34.預(yù)處理命令在程序中都是以(B)符號開頭的。
A.*B.#C.&D.@
35.存儲以下數(shù)據(jù),占用存儲字節(jié)最少的是(B)。
A.0B.'O'C."0"D.0.0
36.程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D)符號作為分隔
符。
A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車
37.假定變量in定義為“intm=7;",則定義變量p的正確語句為(B)。
A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;
38.下面的哪個保留字不能作為函數(shù)的返回類型?C.
A.voidB.intC.newD.long
39.采用重載函數(shù)的目的是(B
A.實現(xiàn)共享B.減少空間C.提高速度D.使用方便,提高可讀性
40.假定AB為一個類,貝必C)為該類的拷貝構(gòu)造函數(shù)的原型說明。
A.AB(ABx);B.AB(intx);C.AB(AB&x):D.voidAB(AB&x):
41、C++對C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程
變成了面向?qū)ο蟆?/p>
A、增加了一些新的運算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);
C、規(guī)定函數(shù)說明必須用原型;D、引進(jìn)了類和對象的概念;
42、所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實體,這
實體也就是(A)。
A.類B.對象C.函數(shù)體D.數(shù)據(jù)塊
43、關(guān)于new運算符的下列描述中,(C)是錯誤的。
A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組;
B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除;
C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù);
D、使用它創(chuàng)建對象數(shù)組時必須指定初始值;
44、(D)不是構(gòu)造函數(shù)的特征。
A、構(gòu)造函數(shù)的函數(shù)名與類名相同;B、構(gòu)造函數(shù)可以重載;
C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D、構(gòu)造函數(shù)必須指定類型說明。
45、假定一個類的構(gòu)造函數(shù)為B(intx,inty){a=x—;b=a*y一;},則執(zhí)行Bx(3,5);語句
后,x.a和x.b的值分別為(C)
A、3和5B、5和3C、3和15D、20和5
46、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯誤的。
A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù);B、成員函數(shù)可以重載;
C、成員函數(shù)可以設(shè)置缺省參數(shù)值;D、成員函數(shù)可以是靜態(tài)的;
47、在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限(B)。
A、受限制B、保持不變C、受保護D、不受保護
48、友元的作用是(A)。
A、提高程序的運用效率;B、加強類的封裝性;
C、實現(xiàn)數(shù)據(jù)的隱藏性;D、增加成員函數(shù)的種類;
49、在C++中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中,(B)是正確的。
A、不允許設(shè)置缺省參數(shù)值;
B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù);
C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;
D、設(shè)置缺省參數(shù)值時,必須全部都設(shè)置;
50、關(guān)于delete運算符的下列描述中,(C)是錯誤的。
A、它必須用于new返回的指針;
B、使用它刪除對?象時要調(diào)用析構(gòu)函數(shù);
C、對一個指針可以使用多次該運算符;
D、指針名前只有?對方括號符號,不管所刪除數(shù)組的維數(shù)。
515constint*p說明不能修改(C)。
A、p指針;B、p指針指向的變量;
C、p指針指向的數(shù)據(jù)類型;D、上述A、B、C三者;
52、當(dāng)需要打開A盤上的以xxk.dat文件用于輸入時,則定義文件流對象的語句為(B)。
A、fstreamfin("A:xxk.dat”,1)B、ifstreamfin(wA:xxk.datw,ios::nocreate)
C、ofstreamfin("A:xxk.dat")D、ifstrearnfin("A:xxk.dat",ios::app)
53、派生類的對象對它的基類成員中(A)是可以訪問的。
A、公有繼承的公有成員;B、公有繼承的私有成員;
C、公有繼承的保護成員;D、私有繼承的公有成員;
54、假定-?個字符串的長度為n,則定義存儲該字符串的字符數(shù)組的長度至少為(C)。
A、n-1B、nC、n+1D、n+2
55、在inta=3;*p=&a;中,*p的值是(D)。
A、變量a的地址值B、無意義C、變量p的地址值D、3
56、下列常量中,(D)不是字符常量。
A、'\005'B、'\n'C、'c'D、"a”
57、在inta=3,*p=&a;中,*p的值是(D)。
A)變量a的地址值B)無意義C)變量p的地址值D)3
58、以下4個選項中,不能看作一條語句的是(B)。
A)if(b==0)m=l;n=2;B)a=0,b=0,c=0;C)if(a>0);D){;}
59、(I))不是構(gòu)造函數(shù)的特征。
A)構(gòu)造函數(shù)的函數(shù)名與類名相同B)構(gòu)造函數(shù)可以重載
C)構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)D)構(gòu)造函數(shù)必須指定類型說明
60、以下程序段中與語句k=a>b?1:0;功能等價的是(D
A)if(a>b)k=l;B)if(a>b)k=0
C)if(a>b)k=l;D)if(a<b)k=0;elsek=0;elsek=l;
61、下列常量中,(D)不是字符常量。
A)'\005,B)'\n'C)'c,D)"a"
62、表示“x大于1而小于10”的邏輯表達(dá)式是(B)。
A)Kx<10B)x>l&&x<10C)!(x<=l||x>=10)D)x>l||x<10
63、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯誤的。
A)成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B)成員函數(shù)可以重載
C)成員函數(shù)可以設(shè)置缺省參數(shù)值D)成員函數(shù)可以是靜態(tài)的
64、有以下程序
^include〈iostream.h>
voidmain()
{inti,s=0;
for(i=l;i<10;i+=2)s+=i;
cout?s;}
程序執(zhí)行后的輸出結(jié)果是(C)。
A)自然數(shù)1?9的累加和B)自然數(shù)1?10的累加和
C)自然數(shù)1?9中的奇數(shù)之和D)自然數(shù)1?10中的偶數(shù)之和
65、設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是(D)。
A)p=l;B)*q=2;C)q=p;D)*p=5;
66、(A)能正確輸出結(jié)果:C++。
A)chars[]=,/C++z/;cout<<s?endl;
B)chars[3]=z,C++z,;cout<<s?endl;
C)chars[3]={'C'\0'};cout〈〈s<<endl;
D)chars[3]={'C';cout?s<〈endl;
67、有以下程序段
inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a,b;
b=p[5]:
b中的值是(B)。
A)5B)6C)8D)9
68、有以下程序
ttinclude<iostream.h>
voidmain()
{char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
cout?p[3]?endl;
}
執(zhí)行后輸出結(jié)果是B
A)dcdbeB)abbdC)abcD)abb
69、下列靜態(tài)數(shù)據(jù)成員的特性中,(C)是錯誤的。
A)說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static
B)靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化
C)靜態(tài)數(shù)據(jù)成員不是所有對象所共用的
D)引用靜態(tài)數(shù)據(jù)成員時,要在其名稱前加〈類名〉和作用域運算符
70、有以下語句
structS
{intg;
charh;}T;
則下面敘述中不正確的是(C)。
A)S是結(jié)構(gòu)體名B)該結(jié)構(gòu)體包含2個成員
C)S是struct類型的變量D)T是structS類型的變量
71、派生類的對象對它的基類成員中(A)是可以訪問的。
A)公有繼承的公有成員
B)公有繼承的私有成員
C)公有繼承的保護成員
D)私有繼承的公有成員
72、實現(xiàn)運行時的多態(tài)性用。D
A、重載函數(shù)B、構(gòu)造函數(shù)C、析構(gòu)函數(shù)I)、虛函數(shù)
73.下列變量名中,(A)是合法的。
A.CHINAB.byte-sizeC.doubleD.A+a
74.在intb口[3]={{1},{3,2},{4,5,6},{0}};b[2][2]的值是(D7
A.0B.2C.5D.6
75.下列各運算符中,(B)優(yōu)先級最高。
A.+(雙目)B.*(單目)C.<=D.*=
76.下列for循環(huán)的次數(shù)為(B)。
for(inti(0),x=0;!x&&i<=5;i++)
A.5B.6C.1D.無限
77.下述關(guān)于break語句的描述中,(C)是正確的。
A.break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán).
B.break語句可用于開關(guān)語句中,它將退出開關(guān)語句。
C.break語句可用于if體內(nèi),它將退出if語句.
D.break語句在一個循環(huán)體內(nèi)可以出現(xiàn)多次。
78.在一個被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,(D)是錯誤的。
A.被調(diào)用函數(shù)中可以不用return語句。
B.被調(diào)用函數(shù)中可以使用多個return語句。
C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句。
D.被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)。
79.在C++中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,(C)是正確的。
A.不允許設(shè)置參數(shù)的默認(rèn)值。
B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時設(shè)置。
C.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的。
D.設(shè)置參數(shù)默認(rèn)值時,應(yīng)該全部參數(shù)都設(shè)置。
80.下列存儲類標(biāo)識符中,要求通過函數(shù)來實現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速
度,選用(A)合適。
A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸調(diào)用D.嵌套調(diào)用
81.下列的各類函數(shù)中,(C)不是類的成員函數(shù)。
A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝初始化構(gòu)造函數(shù)
82.(1))不是構(gòu)造函數(shù)的特征
A.構(gòu)造函數(shù)的函數(shù)名與類名相同B.構(gòu)造函數(shù)可以重載
C.構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)I).構(gòu)造函數(shù)必須指定類型說明
83.fl(int)是類A的公有成員函數(shù),p是指向成員函數(shù)fl()的指針,采用(C)是正確的。
A.p=f1B.p=A::flC.p=A::fl()D.p=f1()
84.下列定義中,(A)是定義指向數(shù)組的指針p。
A.int*p[5]B.int(*p)[5]C.(int*)p[5]D.int*p[]
85.循環(huán)while(inti=0)i—;執(zhí)行次數(shù)是(A)。
A.0B.1C.5D.無限
86.設(shè)intx;,則經(jīng)過(C)后,語句*px=0;可將x值置為0。
A.int*px;B.intconst*px=&x;
C.int*constpx=&x;D.constint*px=&x;
87.設(shè)voidfl(int*m,long&n);inta;longb;則以下調(diào)用合法的是(B)。
A.fl(a,b);B.fl(&a,b);
C.fl(a,&b);D.fl(&a,&b)
88.關(guān)于對象概念的描述中,(A)是錯誤的。
A.對象就是C語言中的結(jié)構(gòu)變量;
B.對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體;
C.對象是一個狀態(tài)和操作(或方法)的封裝體;
D.對象之間的信息傳遞是通過消息進(jìn)行的;
89.在下列double型常量表示中,(A)是錯誤的。
A.E15;B..35;C.3E5;D.3E-5
90.下列給字符數(shù)組進(jìn)行初始化中,(A)是正確的。
A.charsi[]="12345abcd”;B.chars2[3]="xyz";
C.chars3[][3]={,a','x','y'};D.chars4[2[3]={"xyz","mnp"};
91.對于int*pa[5];的描述,(D)是正確的。
A.pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素;
B.pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量;
C.pa[5]表示某個數(shù)組的第5個元素的值;
D.pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針;
92.下列各運算符中,(A)優(yōu)先級最低。
A.?:B.|C.||D.!=
93.下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為(D
fordnti(0),j(10);i=j=4;i++,j---)
A.0;B.1;C.4;D.無限;
94.下述關(guān)于開關(guān)語句的描述中,(A)是正確的。
A.開關(guān)語句中default子句可以沒有,也可以有一個;
B.開關(guān)語句中每個語句序列中必須有break語句;
C.開關(guān)語句中default子句只能放在最后;
D.開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式。
95.下列存儲類標(biāo)識符中,(C)的可見性與存在性不一值。
A.外部類;B.自動類;C.內(nèi)部靜態(tài)類;D.寄存器類。
96.下述靜態(tài)數(shù)據(jù)成員的特征中,(D)是錯誤的。
A.說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static;
B.靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;
C.引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加〈類名)和作用域運算符;
I).靜態(tài)數(shù)據(jù)成員不是所有對象所共用的。
97.(A)是析構(gòu)函數(shù)的特征。
A.一個類中只能定義一個析構(gòu)函數(shù);B.析構(gòu)函數(shù)與類名不同;
C.析構(gòu)函數(shù)的定義只能在類體內(nèi);D.析構(gòu)函數(shù)可以有各個或多個參數(shù)。;
98.已知:p是一個指向類A數(shù)據(jù)成員m的指針,Al是類A的一個對象。如果要給m賦值為
5,(C)是正確的。
A.Al.p=5;B.Al->p=5;
C.A.*p=5;D.*A1.p=5;
99.關(guān)于new運算符的下列描述中,(D)是錯的。
A.它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組;
B.使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除;
C.使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù);
0.使用它創(chuàng)建對象數(shù)組時必須指定初始值。
100.派生類的構(gòu)造函數(shù)的成員初始化列中,不能包含(C)。
A.基類的構(gòu)造函數(shù);
B.派生類中子對象的初始化;
C.基類的子對象初始化;
D.派生類中一般數(shù)據(jù)成員的初始化
101.派生類的對象對它的基類成員中(A)是可以訪問的。
A.公有繼承的公有成員;
B.公有繼承的私有成員;
C.公有繼承的保護成員;
D.私有繼承的公有成員。
102.C++類體系中,不能被派生類繼承的有(A)。
A.構(gòu)造函數(shù)B.虛函數(shù)C.靜態(tài)成員函數(shù)D.賦值操作函數(shù)
103.下面標(biāo)識符中正確的是(A
A._abcB.3abC.intD.+ab
104.下列哪項(D)不是面向?qū)ο蟪绦蛟O(shè)計的主要特征?
a.封裝b.繼承c.多態(tài)d.結(jié)構(gòu)
105.已知i=5,j=0,下列各式中運算結(jié)果為j=6的表達(dá)式是(A)。
A.j=i+(++j)B.j=j+i++C.j=++i+jD.j=j+++i
106.若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d
的值A(chǔ)
A.1B.2C.3D.4
107.以下不正確的是(C
A.語句for(i=0;;i++)表示無限循環(huán)B.for(;;)表示無限循環(huán)
C.for()也表示無限循環(huán)D.while(1)表示無限循環(huán)
108.有如下程序:
intx=3;
do{
X-=2;
cout?x;
}whiled(一x));
執(zhí)行這個程序的輸出結(jié)果是(C)。
A.1B.30C.1-2D.死循環(huán)
109.若有以下定義,則說法錯誤的是(D)。
inta=100,*p=&a;
A.聲明變量p,其中*表示p是一個指針變量
B.變量p經(jīng)初始化,獲得變量a的地址
C.變量p只可以指向一個整形變量
D.變量p的值為100
110.下面關(guān)于數(shù)組的初始化正確的是(A)。
A.charstr[]={b\',c'}
B.charstr[2]={、'a\',\'b\',\'c,}
C.charstr[2][3]={{\'a\'b'},{'e',\'d'},{'e,,'f\'}}
D.charstr[]={\'a\',\'b\',\'c,}
111.若已定義:
inta[]={0,1,2,3,4,5,6,7,8,9),*P=a,i;
其中0WiW9,則對a數(shù)組元素不正確的引用是(D)。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
112.存在定義inta[10],x,*pa;,若pa=&a[0],下列的哪個選項和其他3個選項不是等
價的?(A)。
A.x=*pa;B.x=*(a+l);C.x=*(pa+l);D.x=a[l];
113.對數(shù)組名作函數(shù)的參數(shù),下面描述正確的是(B)o
A.數(shù)組名作函數(shù)的參數(shù),調(diào)用時將實參數(shù)組復(fù)制給形參數(shù)組。
B.數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲單元。
C.數(shù)組名作參數(shù)時,形參定義的數(shù)組長度不能省略。
D.數(shù)組名作參數(shù),不能改變主調(diào)函數(shù)中的數(shù)據(jù)。
114.關(guān)于靜態(tài)成員的描述中,(B)是錯誤的。
A.靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù).
B.靜態(tài)數(shù)據(jù)成員定義后必須在類體內(nèi)進(jìn)行初始化。
C.靜態(tài)數(shù)據(jù)成員初始化不使用其構(gòu)造函數(shù)。
D.靜態(tài)數(shù)據(jù)成員函數(shù)中不能直接引用非靜態(tài)成員。
115.下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是(D)。
A.構(gòu)造函數(shù)可以設(shè)置默認(rèn)的參數(shù)B.構(gòu)造函數(shù)在定義類對象的自動執(zhí)行
C.構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)D.構(gòu)造函數(shù)不可以重載
116.假設(shè)OneClass為一個類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明語句為(C)。
A.OneClass(OneClassp);B.OneClass&(OneClassp);
C.OneClass(OneClass&p);D.OneClass(OneClass*p);
117.如果類A被說明成類B的友元,則(D)。
A.類A的成員即類B的成員。
B.類B的成員即類A的成員。
C.類A的成員函數(shù)不得訪問類B的成員。
D.類B不一定是類A的友元。
118、關(guān)于對象和類的關(guān)系,說法正確的是(C)。
A)同屬于一類的對象,具有相同的數(shù)據(jù)成員和成員函數(shù)。
B)對象是具體,是類的對象,同其他變量一樣,先定義后使用。
C)同一類的不同對象,其具有的操作可不同,具體的操作也不同。
D)不同類的對象,可有相同的操作。
119、雙精度浮點型的字節(jié)數(shù)是(D)。
A)4B)1C)0D)8
120、下列關(guān)于C++函數(shù)的說明中正確的是(D)o
A)內(nèi)聯(lián)函數(shù)就是定義在另一函數(shù)體內(nèi)部的函數(shù)。
B)函數(shù)體的最后一條語句必須是RETURN語句。
O標(biāo)準(zhǔn)C++要求在調(diào)用一個函數(shù)之前,必須先聲明其原型。
D)編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式。
121、下列關(guān)于虛函數(shù)的說明中,正確的是(B)。
A)從虛基類繼承的函數(shù)都是虛函數(shù)。
B)虛函數(shù)不得是靜態(tài)成員函數(shù)。
0只能通過指針和引用調(diào)用虛函數(shù)。
D)抽象類中的成員函數(shù)都是虛函數(shù)。
122、下列符號中可以用作C++標(biāo)識符的是(A)。
A)_radiusB)foo~barC)elseD)3room
123、結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是(C)。
A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形
C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)
124、下列語句中錯誤的是(B)。
A)constintbuffer=256;B)constintinttemp;
C)constdouble*point;D)constdouble*rt=newdouble(5.5)
125、下列關(guān)于實參和形參說法錯誤的是(D)。
A)實參可以是變量、常量、或表達(dá)式。
B)實參與形參的類型必須一致,否則會發(fā)生“類型不匹配”的錯誤.
C)實參對形參的數(shù)據(jù)傳遞是單向傳遞,調(diào)用結(jié)束后,實參單元被釋放。
D)形參必須是變量。
126、關(guān)于內(nèi)聯(lián)函數(shù)說法錯誤的是(C)。
A)不是任何一個函數(shù)都可定義成內(nèi)聯(lián)函數(shù)。
B)內(nèi)聯(lián)函數(shù)的函數(shù)體內(nèi)不能含有復(fù)雜的結(jié)構(gòu)控制語句。
C)遞歸函數(shù)可以被用來作為內(nèi)聯(lián)函數(shù)。
D)內(nèi)聯(lián)函數(shù)一般適合于只有1?5行語句的小函數(shù)。
127、關(guān)于保護繼承的說法正確的是(D)。
A)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)不變。
B)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)改變?yōu)楸Wo成員。
C)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)均改變?yōu)樗接谐蓡T。
D)基類的公有成員、私有成員可被子類繼承下來,性質(zhì)不變,私有成員不被繼承。
128、關(guān)于函數(shù)的返回值說法正確的是(A)。
A)由return語句返回時,只帶回一值,其類型在函數(shù)定義時確定。
B)其類型由調(diào)用表達(dá)式?jīng)Q定。
C)函數(shù)可以沒有返回值,這時在函數(shù)定義,函數(shù)的類型說明就沒必要了。
D)函數(shù)調(diào)用就要有返回值,否則調(diào)用就沒意義了。
129、下列合法的標(biāo)識符是(D
A)abde+B)itKSJFO67KDJD)DK3-
130、關(guān)于結(jié)構(gòu)化程序設(shè)計方法說法錯誤的是(D)。
A)在數(shù)據(jù)處理過程中,采用的是自頂向下、分而治之的方法。
B)將整個程序按功能劃分為幾個可獨立編程的子過程模塊。
C)以“對象”或“數(shù)據(jù)”為中心。
D)數(shù)據(jù)和處理數(shù)據(jù)的過程代碼是分離的、相互獨立的實體。
131、運算符重載是對已有的運算符賦予多重含義,因此(C)。
A)可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運算符的含義。
B)可以改變一個已有運算符的優(yōu)先級和操作數(shù)個數(shù)。
C)只能重載C++中已經(jīng)有的運算符,不能定義新運算符。
D)C++中已經(jīng)有的所有運算符都可以重載。
132、關(guān)于C++程序說法不正確的是(D)。
A)C++程序由函數(shù)構(gòu)成,但只有一個main。函數(shù)。
B)C++程序中main。函數(shù)可以在程序的任何位置。
0C++程序由main。函數(shù)開始執(zhí)行,由main。結(jié)束執(zhí)行。
D)main()都是沒有參數(shù)的。
133、已知a=4,b=6,c=8,d=9,貝I]“(a++,b>a++&&c>d)?++d:a<b”的值為(D)。
A)9B)6C)8D)0
134、下面有關(guān)重載函數(shù)的說法中正確的是(C)。
A)重載函數(shù)必須具有不同的返回值類型。
B)重載函數(shù)形參個數(shù)必須不同。
C)重載函數(shù)必須有不同的形參列表。
D)重載函數(shù)名可以不同。
135>C++語言的跳轉(zhuǎn)語句中,對于break和continue說法正確的是(B)。
A)break語句只應(yīng)用于循環(huán)體中。
B)continue語句只應(yīng)用于循環(huán)體中。
C)break是無條件跳轉(zhuǎn)語句,continue不是。
D)break和continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問題。
136、long[int]的字節(jié)數(shù)是(D)。
A)4B)1C)0D)8
137、下列非法的字符常量是(C
A)B)'\'C)a'D)'A'
二、填空:
1.C++語言的頭文件與源程序文件擴展名分別是(.h)和(.cpp)。
2.在C++程序中使用基本輸入與輸出流時需要包含的頭文件名是(iostrearn
3.在C++語言中,惟一的一個三目運算運算符是(?:)。
4.C++中當(dāng)一個函數(shù)無返回值時,則函數(shù)的類型是(void)。
5.一個類中可以有(多)個構(gòu)造函數(shù),只能有(一)個析構(gòu)函數(shù)。
6.一般情況下,按照面向?qū)ο蟮囊?把類中的數(shù)據(jù)成員(屬性)定義為(私有)權(quán)限,
而把成員函數(shù)(方法)定義為(公有)權(quán)限.
7.在定義類的對象時,C++程序?qū)⒆詣诱{(diào)用該對象的(構(gòu)造)函數(shù)初始化對象自
身.在撤銷類的對象時,C++程序?qū)⒆詣诱{(diào)用該對象的(折構(gòu))函數(shù).
8.類繼承中,缺省的繼承方式是(私有繼承).
9.在C++語言中,用轉(zhuǎn)義字符序列(’\n')或操縱符(endl)表示輸出
一個換行符。
10.表達(dá)式a=a+l表示成增量表達(dá)式為(++a)。
11.當(dāng)不需要函數(shù)返回任何值時,則應(yīng)把該函數(shù)類型定義為(void
12.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對象是(cout)。,用于從鍵盤上為變量輸人值的
標(biāo)準(zhǔn)輸人流對象是(cin)。
13、變量分為全局和局部兩種,(全局變量默認(rèn)初始化為0)。變量沒有賦初值時,其
值是不確定的。
14、假定類AB中有一個公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名訪問該成員
bb的寫法為(AB::bb)。
15、類的成員分為_數(shù)據(jù)成員_和_成員函數(shù)
16、一個—類—和—對象—的關(guān)系,正如基本數(shù)據(jù)類型與該類型的變量一樣,如intx;。
17、對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的_賦值—實現(xiàn),也可以通過構(gòu)造
函數(shù)中的—初始化列表—實現(xiàn)。
18、類有兩種用法:一種是—定義對象即生成類的對象;另一種是通過—派生派生
出新的類。
19、C++語言提供的—多態(tài)—機制允許一個派生類繼承多個基類,即使這些基類是相互無關(guān)
的。
20、聲明虛函數(shù)的方法是在基類中的成員函數(shù)原型前加上關(guān)鍵字_virtual_。
21、如果一個類中有一個或多個純虛函數(shù),則這個類稱為—虛基類
22、靜態(tài)數(shù)據(jù)成員在定義或說明時,前面要加上關(guān)鍵字_static_。
23、如果成員函數(shù)不需要訪問類的—非靜態(tài)—成員,則可以把它聲明為靜態(tài)成員函數(shù)。
24、友元可以是—全局函數(shù)也可以是—其他類的成員函數(shù)
25、若需要把一個函數(shù)“voidfun();"定義為一個類A的友元函數(shù),則應(yīng)在類A的定義中
加入一條語句:_friendvoidfun();_。
26、運算符函數(shù)中的關(guān)鍵字是_operator_,它和—運算符——起組成該運算符函數(shù)的函數(shù)
名。
27、類中運算符重載一般采用兩種形式:—成員函數(shù)—和—友元函數(shù)
28、面向?qū)ο蟪绦蛟O(shè)計的3大機制為:—封裝性_、—繼承性_和_多態(tài)性2、類的訪
問權(quán)限有—publie_、_private_和_protected_三種。
29、構(gòu)造函數(shù)是一對象—被創(chuàng)建時自動執(zhí)行,對象消失時自動執(zhí)行的成員函數(shù)稱為—析構(gòu)函
數(shù)
30、如果類A繼承了類B,則類A稱為—基類類B稱為—派生類
31、如果一個特定的類型S當(dāng)且僅當(dāng)它提供了類型T的行為時;則稱類型S是類型T的—
子類型
32、在類定義中,將_=0_置于虛函數(shù)的函數(shù)原型的末尾可以聲明該函數(shù)為純虛函數(shù)。
33、類的靜態(tài)成員分為—靜態(tài)數(shù)據(jù)成員_和_靜態(tài)成員函數(shù)
34、友元函數(shù)的聲明可以放在類的—私有—部分,也可以放在類的—共有—部分,它們是沒
有區(qū)別的。
35、如果說類B是類A的友元類,則類B的所有成員函數(shù)都是類A的—成員函數(shù)
36、設(shè)a和b是兩個整型變量,我們用a+b的形式求這兩個變量的和;設(shè)c和d為浮點型變
量,我們用c+d的形式求這兩個變量的和。顯然運算符“+”具有不同的用途,這是_運算
符重載—的例子。
37、對于雙目運算符,若重載為類的成員函數(shù),有1_個參數(shù);若重載為友元函數(shù),則有一
2個參數(shù)。
38、當(dāng)建立_一個新的對象,程序自動調(diào)用該類的構(gòu)造函數(shù)。
39、在C++中有二種參數(shù)傳遞方式:—傳值—和—引用一。
40、模板對處理數(shù)據(jù)的類型的要求不同可以分為兩種類型:一函數(shù)模板和類模板_o
41、異常是通過一檢查(try)—、_拋出(throw)—和—捕捉(catch)—來實現(xiàn)的。
42、虛函數(shù)實現(xiàn)了C++的多態(tài)一機制,類實現(xiàn)了C++的封裝一機制。
43、面向?qū)ο蟪绦蛟O(shè)計的「繼承__機制提供了重復(fù)利用程序資源的?種途徑。
44、C++語言程序設(shè)計的三種基木結(jié)構(gòu)是:一順序結(jié)構(gòu)、.選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
45、為了避免嵌套的條件語句if-else的二義性,C++語言規(guī)定else與_if一配對使用。
46、定義函數(shù)時,在函數(shù)的類型前加上修飾詞inline,指明將該函數(shù)定義為內(nèi)聯(lián)
函數(shù)。
47、有說明語句:*p;則*p++運算首先訪問*p—,然后使_p一一的值加1。
48、執(zhí)行int*p=newint操作,可以得到??個動態(tài)分配整型對象的一指針—。
49、有說明語句:int*p;則(>^)++運算首先訪問*p,然后使*p的值加1。
50.C++目標(biāo)程序經(jīng)―編譯鏈接—后生成擴展名為exe的可執(zhí)行程序文件。
51.16位計算機中整型占2個字節(jié)存儲空間。
52.要在屏幕上顯示"Hello,world!”應(yīng)執(zhí)行語句cout<<"Hello,world!”;。
53.表達(dá)式8&3的結(jié)果是—0o
54.作為語句的函數(shù)調(diào)用是通過—函數(shù)的副作用—來體現(xiàn)的。
55.執(zhí)行if(x>=0||x<=0)cout?,/abcd,/;elsecout〈〈"wxyz";屏幕上顯示的是
abed____。
56.設(shè)一維整型數(shù)組data已進(jìn)行了初始化,則其元素個數(shù)可由操作符sizeof通過表達(dá)式
sizeof(data)/sizeof(int)___計算出來。
57.若一全局變量只允許本程序文件中的函數(shù)使用,則定義它時應(yīng)加上修飾符—static
58.設(shè)有intw[3][4];,pw是與數(shù)組名w等價的數(shù)組指針,則pw應(yīng)初始化為int*[4]
pw=w;o
59.要使引用pr代表變量char*p;,則pr應(yīng)初始化為char*&pr=p;。
60.在C++中封裝性、繼承性和多態(tài)性
61.假設(shè)inta=l,b=2;則表達(dá)式a+++—b的值為一2__。
62.下面的程序?qū)崿F(xiàn)輸出x,y,z三個數(shù)中的最大值,請?zhí)钊胝_的內(nèi)容。
#include<iostream.h>
voidmain()
{intx=5,y=8,z=9,u,v;
if_(x〉u)—u=x;
elseu=y;
if_(u)v)_v=u;
elsev=z;
cout?wv=M<<v?endl;
63.C++語言的參數(shù)傳遞機制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時,需要改變實參或者
返回多個值,應(yīng)該采取一傳地址—方式。
64.在C++語言中,訪問一個對象的成員所用的運算符是——,訪問一個指針?biāo)?/p>
指向的對象的成員所用的運算符是_->_。
65.C++語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和—運行時—的多態(tài)性。
66.設(shè)有如下程序結(jié)構(gòu):
classBox
{…};
voidmain0
{BoxA,B,C;}
該程序運行時調(diào)用—3一次構(gòu)造函數(shù);調(diào)用—3—次析構(gòu)函數(shù)。
67.目前,有兩種重要的程序設(shè)計方法,分別是:一_面向過程_和_面向?qū)ο?/p>
68.C++語言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、一分支—和循環(huán)結(jié)構(gòu)。
69.函數(shù)的調(diào)用主要分為傳值調(diào)用和一引用調(diào)用—調(diào)用。前者的特點是一不能改變傳入變
量的值_o
70.函數(shù)重載時要求同名函數(shù)的一參數(shù)個數(shù)或一參數(shù)類型不同,否則無法確定是哪個函數(shù)。
71.靜態(tài)數(shù)據(jù)成員是類的所有對象中的「共享一成員,而非靜態(tài)數(shù)據(jù)成員是屬于——個
具體對象的。
72.設(shè)A為test類的對象且賦有初值,則語句testB(A);表示—將對象A復(fù)制給對
象B—。
73.面向?qū)ο蟪绦蛟O(shè)計方法中的每個對象都具有一屬性和一方法一兩方面的特征。
74.“類”指的是…對象的類型,代表了集一批對象的共性和特征。
75.構(gòu)造數(shù)據(jù)類型,包括數(shù)組、指針、結(jié)構(gòu)體和共用體、枚舉和類等。
76.C++中數(shù)據(jù)類型標(biāo)識符SignedChar,其字節(jié)數(shù)為_1—,范圍是一-128至I」127—。
77.在函數(shù)體內(nèi)部定義的變量稱為局部變量。在所有函數(shù)體外部定義的變量稱為全局
變量
78.有一數(shù)學(xué)表達(dá)式為2/3(f-32),要寫成對應(yīng)的C++的表達(dá)式時,正確地寫法應(yīng)寫
_2.0/3.0*(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)生課題申報書范例
- 醫(yī)藥集采合同范例
- 廠車出租合同范例
- 課題申報書如何排版
- 劇本轉(zhuǎn)讓合同范本
- 伐樹合同范本
- 合同范本工程延期
- 完善老舊農(nóng)機報廢更新機制的措施
- 發(fā)票附帶合同范本
- 后增補合同范例
- 腦卒中后吞咽障礙患者進(jìn)食護理-護理團標(biāo)
- 全國各省(直轄市、自治區(qū))市(自治州、地區(qū))縣(縣級市)區(qū)名稱一覽表
- 新收入準(zhǔn)則深度解讀和案例分析以及稅會差異分析
- 大學(xué)美育導(dǎo)引 課件 第五章 體驗人生在世-戲劇
- 大學(xué)美育導(dǎo)引 課件 第六章 沉浸光影世界-電影
- 中小學(xué)校課外讀物負(fù)面清單管理措施
- 土石方工程投標(biāo)書技術(shù)標(biāo)
- 中醫(yī)學(xué)教學(xué)課件經(jīng)絡(luò)與穴位
- 胸腹聯(lián)合傷完整版本
- 裝修店長述職報告
- 整體解決方案研究:智慧物聯(lián)網(wǎng)在化肥行業(yè)的應(yīng)用
評論
0/150
提交評論