專升本C考試A卷_第1頁
專升本C考試A卷_第2頁
專升本C考試A卷_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、選擇題 (每題 1 分,共 25 分 )1. 編寫C+程序一般需經(jīng)過的幾個步驟依次是()。A. 編譯、編輯、連接、調(diào)試B. 編輯、編譯、連接、調(diào)試C. 編譯、調(diào)試、編輯、連接 D. 編輯、調(diào)試、編輯、連接2. 可用作C+語言用戶標(biāo)識符的一組標(biāo)識符是()。A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a do sizeof3. 設(shè)”int a=12; ”,則執(zhí)行完語句”a+=a*a; ”后,a的值是()。A. 12 B. 144C. 156 D. 2884. x>0 | y=5 的相反表達(dá)式為( )。A. x<

2、;=0 && y!=5 B. x<=0 | y!=5C. x>0 | y!=5 D. x>0 && y=55. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( )。 for(int i=0; i<n; i+)if(i>n/2) break;A. n/2B. n/2+1 C. n/2-1 D. n-16. switch 語句能夠改寫為( )語句。A. forB. if C. do D. while7. 假定一個二維數(shù)組的定義語句為“ int a34=3,4,2,8,6;”,則元素 a21的值為( )。A. 0 B. 4 C. 8 D. 68.

3、函數(shù)重載是指( )。A. 兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不 同B. 兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C. 兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D. 兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同9. 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是()。A . 數(shù)組的首地址 B. 數(shù)組中第一個元素的值 C. 數(shù)組全部元素的值 D. 數(shù)組元素的個數(shù)10. 將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A. strlen() B. strcap()C. strcat() D. strcmp()11. C+語言的編譯系統(tǒng)對

4、宏命令的處理是()。A. 在程序運(yùn)行時進(jìn)行B. 在程序連接時進(jìn)行C. 和C+4程序的其它語句同時進(jìn)行編譯D. 在對源程序中其它成分正式編譯之前進(jìn)行12. 在下面存儲類中,( )的對象不是局部變量。A. 函數(shù)形參 B. 自動類 C. 外部靜態(tài)類 D. 寄存器類13. 定義 p 并使 p 指向動態(tài)空間中的包含 30 個整數(shù)的數(shù)組所使用的定義語句為( )。A. int *p=new int30;B. int *p=new int(30);C. int *p=new 30; D. *p=new int30;14. 關(guān)于封裝,下列說法中不正確的是( )。A. 通過封裝,對象的全部屬性和操作結(jié)合在一起,形

5、成一個整體B. 通過封裝,一個對象的實(shí)現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)C. 通過封裝,每個對象都成為相對獨(dú)立的實(shí)體D. 通過封裝,對象的屬性都是不可見的15假定AA為一個類,a為該類公有的數(shù)據(jù)成員,x為該類的一個對象,則訪問x對象中數(shù) 據(jù)成員 a 的格式為( )。A. x(a) B. xa C. x->aD. x.a16假定AA是一個類,abc是該類的一個成員函數(shù),則參數(shù)表中隱含的第一個參數(shù)為()。A. abc B. *thisC. this D. this&17. 結(jié)構(gòu)中定義的成員默認(rèn)為( )訪問屬性。A. public B. private C. protected D.

6、friend18假定AB為一個類,則執(zhí)行 AB r仁r2; ”語句時將自動調(diào)用該類的()。A. 無參構(gòu)造函數(shù) B. 帶參構(gòu)造函數(shù)C. 賦值重載函數(shù)D. 復(fù)制構(gòu)造函數(shù)19. 一個類的靜態(tài)數(shù)據(jù)成員所表示屬性 ( )。A. 是類的或?qū)ο蟮膶傩?B. 只是對象的屬性C. 只是類的屬性D.類和友元的屬性20. 當(dāng)將一個類A或函數(shù)f()說明為另一個類B的友元后,類A或函數(shù)f()能夠直接訪問類 B 的( )。A. 只能是公有成員B.只能是保護(hù)成員C. 只能是除私有成員之外的任何成員D. 具有任何權(quán)限的成員21. 如果表達(dá)式a+b中的“+”是作為成員函數(shù)重載的運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式, 則可表示為(

7、)。A. a.operator+(b) B. b.operator+(a)C. operator+(a,b) D. operator(a+b)22. 從一個基類派生出的各個類的對象之間 ( )。A. 共享所有數(shù)據(jù)成員,每個對象還包含基類的所有屬性B. 共享部分?jǐn)?shù)據(jù)成員,每個對象還包含基類的所有屬性C . 不共享任何數(shù)據(jù)成員,但每個對象還包含基類的所有屬性D. 共享部分?jǐn)?shù)據(jù)成員和函數(shù)成員23. 對于公有繼承,基類的公有和保護(hù)成員在派生類中將 ( ) 成員。A. 全部變成公有B.全部變成保護(hù)C. 全部變成私有D. 仍然相應(yīng)保持為公有和保護(hù)24. C+ 中的虛基類機(jī)制可以保證:()。A. 限定基類只

8、通過一條路徑派生出派生類B. 當(dāng)一個類多次間接從基類派生以后,其基類只被一次繼承C. 當(dāng)一個類多次間接從基類派生以后,派生類對象能保留多份間接基類的成員D. 允許基類通過多條路徑派生出派生類,派生類也就能多次繼承該基類25. 派生類的對象對其基類中( )可直接訪問。A. 公有繼承的私有成員B. 公有繼承的公有成員C. 公有繼承的保護(hù)成員 D. 私有繼承的公有成員二、填空題 (25%)1. 用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對象是 。2程序文件的編譯錯誤分為 和兩類。3. 十進(jìn)制常數(shù)245對應(yīng)的八進(jìn)制的C+表示為_0。4. 字符串” s a book.'n ”的長度為。15. 數(shù)學(xué)算式

9、ax +by的C+表達(dá)式為。6. 若while循環(huán)的“頭”為“ while(i+<=10) ”,并且i的初值為0,同時在循環(huán)體中不會修改i的值,則循環(huán)體將被重復(fù)執(zhí)行后正常結(jié)束。7. strlen(” apple ”)的值為,strcmp( ” a”, ” A”)的值為。8. 在C+語言中,一個函數(shù)由函數(shù)頭和 成。9. 全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在內(nèi)存的 中。10. 假定p所指對象的值為25, p+1所指對象的值為42,則*p+的值為。11. 執(zhí)行int *p=new int操作得到的一個動態(tài)分配的整型對象為 _*p。12. 以面向?qū)ο蠓椒?gòu)造的系統(tǒng),其基本單位是 。13.

10、 C+支持兩種多態(tài)性: 寸的多態(tài)性和寸的多態(tài)性。14. 為了使類中的成員不能被類外的函數(shù)通過成員操作符訪問,則應(yīng)把該成員的訪問權(quán)限定義為。15. 若采用x.abc(y)表達(dá)式調(diào)用一個成員函數(shù),在成員函數(shù)中使用的 _*this 就代表了類外的x對象。16假定AB為一個類,則類定義體中的“ AB(AB& x); ”語句為該類勺原型語句。17.在重載一個單目運(yùn)算符時,參數(shù)表中沒有參數(shù),說明該運(yùn)算符函數(shù)只能是類的18. 派生類的成員函數(shù)可以直接訪問基類的成員,不能直接訪問基類的成員。19. 弓I進(jìn)虛基類的根本目的是為了消除 。20. 設(shè)有如下定義:#i nclude<iostream.h

11、>class A1 int a1;protected:int b1;public:void show1() cout« ” class A1 ” <<endl; ;class A2: public A1 int a2;protected:int b2;public:void show2() cout<< ” class A2 ” <<endl; ;void mai n() A1 objl;A2 obj2;派生類A2的成員函數(shù)show2()中可以訪問的成員包括al、b2、1. 閱讀下面的程序,寫出輸出結(jié)果#in clude<iostrea

12、m.h>int a8=6,11,13,4,12,7,16,15;void mai n() int s0,s1,s2;s0=s 仁 s2=0;for(i nt i=0; i<8; i+) switch(ai%3) case 0: s0+=ai;break;case 1: s1+=ai;break;case 2: s2+=ai;break; coutvvs0vv't'v<s1vv't'vvs2vve ndl;2. 閱讀下面的程序,寫出輸出結(jié)果#i ncludevioma nip.h>void fun(int *&a, int &

13、;m) a=new in tm;int * p=a;for(int i=0;i<m;i+)*p+=i*i+1;void main() int *b,n=5;fun( b, n);for(i nt i=0;i <n ;i+) cout<<bi<< ''cout«e ndl;deleteb;3. 閱讀下面的程序,寫出輸出結(jié)果#include <iostream.h>int fun (i nt n ) int a=1;static int b=1;a=a+1;b=b* n;return a*b;void main( ) int

14、 i;for(i=1;i<5;i+) cout<<fun(i)<<endl;4. 閱讀下面的程序,寫出輸出結(jié)果#include<iostream.h>class AA int n;public:AA(int i) n=i; cout<<"調(diào)用類 AA 構(gòu)造函數(shù) n: "<<n<<endl;AA() cout<<" 刪除類 AA "<<endl;class BB int n;public:BB(int j) n=j; cout<<"

15、調(diào)用類 BB 構(gòu)造函數(shù) n: "<<j<<endl;BB() cout<<" 刪除類 BB "<<endl;class CC:public BB,public AApublic:CC(int a,int b,int c):AA(a),BB(b),n(c) cout«"調(diào)用類 CC勾造函數(shù) n: "<<n<<endl; CC() cout<<" 刪除類 CC "<<endl;private:/派生類的私有對象成員int n

16、;void main( ) CC obj(10,20,30); 四改正錯誤 (每題有幾處錯誤,在錯誤處畫線,并寫出正確語句。 )(每題 3 分,共 9分)1. 下列程序是輸出設(shè) 1-100 之間素數(shù),并且每行只輸出 5 個數(shù)。 #include<iostream.h>#include<math.h>void main()int i,j,t,k=0;int a101;for(i=1;i<=100;i+)ai=1;a1=0;i=2;while(i<=100) for(j=i*i;j<= 100 ;j=j+i)aj=0;i+;cout<<&quo

17、t;n"for(i=2;i<=100;i+)if(ai=1)cout<<i<<'t'k+;if(k %5=0) cout<<endl;cout<<endl;2定義計(jì)數(shù)器類 Counter 。要求具有以下成員:計(jì)數(shù)器值;可進(jìn)行增值和減值記數(shù);可提供 記數(shù)值。#include<iostream.h>class Counter int n;public:Counter(int i =0)n=i;void init_Counter(int m) n=m;void in_Counter() n+;void de_

18、Counter() n-;int get_Counter() return n;friend void show(Counter t) cout<<t.n<<endl;void main() Counter a (0) ;a.in_Counter();a.init_Counter(10);a.show();/ show(a)a.de_Counter();cout<<a.get_Counter()<<endl;3. 用函數(shù)重載運(yùn)算符,使對整形的運(yùn)算符 +、- 適用于整數(shù)運(yùn)算。#include<iostream.h>class Franc

19、tion int nume; /定義分子int deno; /定義分母public:Franction(int a=1,int b=1) nume=a;deno=b;friend Franction operator +(const Franction &x1,const Franction &x2) int c,d;c=x1.nume*x2.deno+x2.nume*x1.deno;d=x1.deno*x2.deno;return Franction(c,d);friend Franction operator -(const Franction &x1,const

20、Franction &x2) int c,d;c=x1. nu me*x2.de no -x2. nu me*x1.de no;d=x1.de no *x2.de no;retur n Franction( c,d);void FranO utput() cout< <nu me<<7'<<de no <<e ndl;void mai n()Fran ction c1(1,3),c2(1,4),c3,c4;cout<<"c1="c1.Fra nOutput();cout<<"c

21、2="c2.Fra nOutput();c3=c1+c2;cout<<"c1+c2="c3.Fra nO utput();c4=c1-c2;cout<<"c1-c2="c4.Fra nOutput();五.程序填空(每空1.5分,共12分)1 .求組合數(shù) cn 值,如 c10 =12U。 n!/(n-m)!*m!#in clude<iostream.h>_int fun (i nt n) ;void mai n() int c,n ,m;cin>>n>>m;if(m>n) cou

22、t<<"輸入數(shù)據(jù)錯誤。n"else c=_ fun(n )/(fu n(n-m)*fu n(m) );cout<<"c("<<m<<","< <n< <")="<<c<<e ndl; int fun (i nt n)i ntp=1;int i;for(i=2;i<=n ;i+)p*=i;return_p;10個數(shù)中的最2 .從建立的數(shù)據(jù)文件f1.dat中讀入10個整數(shù)放在數(shù)組中,找出并輸出 大者和它在數(shù)組中的序號。#in clude <fstream>#in clude<iostream>using n amespace std;int main() int a10,max,i,order;fstream in file("f1.dat",_ios:in );if(in file)cer

溫馨提示

  • 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

提交評論