


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大連理工大學(xué)網(wǎng)絡(luò)教育學(xué)院2017 年秋 C/C+語言程序設(shè)計(jì)期末考試復(fù)習(xí)題 注意事項(xiàng):本復(fù)習(xí)題滿分共:400 分。一、單選題1、下列 while 循環(huán)的執(zhí)行次數(shù)是(A)。while(int i=0) i+;A0B1C5D無限2、下列哪個(gè)函數(shù)不是類的成員函數(shù)。 (D)A析構(gòu)函數(shù)B構(gòu)造函數(shù)C拷貝構(gòu)造函數(shù)D友元函數(shù)3、在執(zhí)行 int a3=1, 2, 3, 4, 5, 6 ;語句后, a00的值是( B)。A4B1C2D54、 C+中用 3 個(gè)保留字實(shí)現(xiàn)異常處理,除了throw 和 catch 外,還有(C)。AifBclassCtryDreturn5、下面表達(dá)式中錯(cuò)誤的是(C)。Ab=a+Ba/=
2、2Ca+b=5Da=5,b=6,c=76、在定義 int a5;之后,對 a 的引用正確的是(D)。Aa5BaCa(5)Da07、類中將關(guān)鍵字(A)寫在函數(shù)體之前函數(shù)頭之后,說明該函數(shù)是一個(gè)常成員函數(shù)(或const 成員函數(shù)),可以防止函數(shù)改變數(shù)據(jù)成員的值。AconstBstaticCfriendDvoid8、設(shè) int n=10,i=3;則賦值運(yùn)算 n%=i+1執(zhí)行后, n 的值是(C)。A0B3C2D19、 C+中用 3 個(gè)保留字實(shí)現(xiàn)異常處理,除了try和 catch 外,還有( C )。AifBclassCthrowDreturn10、設(shè)有定義 int x; double v;,則 10
3、+x+v 值的數(shù)據(jù)類型是( B )。AintBdoubleCcharD不確定11、對于 while 、dowhile循環(huán)結(jié)果說法正確的是(C )。A只是表達(dá)形式不同Bwhile 結(jié)構(gòu)中的語句至少執(zhí)行一次Cdowhile 結(jié)構(gòu)中的語句至少執(zhí)行一次D條件成立時(shí),他們有可能一次也不執(zhí)行12、下列運(yùn)算符中優(yōu)先級最高的為( A) 。A!B%C-=D&&13、有關(guān)構(gòu)造函數(shù)的說法錯(cuò)誤的是(D ) 。A構(gòu)造函數(shù)名字和類的名字一樣B構(gòu)造函數(shù)在說明類變量時(shí)自動(dòng)執(zhí)行C構(gòu)造函數(shù)無任何函數(shù)類型D構(gòu)造函數(shù)有且只有一個(gè)14、通常的拷貝構(gòu)造函數(shù)的參數(shù)是(C )。A某個(gè)對象名B某個(gè)對象的成員名C某個(gè)對象的引用名
4、D某個(gè)對象的指針名15、為了判斷兩個(gè)字符串s1 和 s2 是否相等,應(yīng)當(dāng)使用(D )。Aif(s1=s2)Bif(s1=s2)Cif(strcpy(s1,s2)Dif(strcmp(s1,s2)=0)16、在定義 int a36;后,第 10 個(gè)元素是( B)。Aa24Ba13Ca314217、不是 C語言的浮點(diǎn)類型的是()。 DA. floatB. doubleC. long doubleD. real18、下面不是字符常量是 ()。AA“ t ”B t C D t 19、C 語言對嵌套 if語句的規(guī)定是: else 總是與()配對。DA. 其之前最近的 ifB. 第一個(gè) ifC. 縮進(jìn)位置
5、相同的 ifD. 其之前最近且不帶else 的 if20、下面代碼段的執(zhí)行結(jié)果是( )。 Dint i;for(i=1;i<10;i+)if(i%5=0)break;printf("%d ",i);printf("endn");AendB 1 2 3 4 5 endC1 2 3 4 5D 1 2 3 4 end21、以下程序中調(diào)用scanf 函數(shù)給變量 a 輸入數(shù)值的方法是錯(cuò)誤的,原因是()。 Bint a,*p=&a;scanf(“ %d ”, *p ); *p表示的是指針變量p 的地址B. *p表示的是變量 a 的值,而不是變量a 的地
6、址C. *p 表示的是指針變量p 的值D. *p 只能用來說明 p 是一個(gè)指針變量22、設(shè) int a10 = 15, 12, 7, 31, 47, 20 ,*p ,下列語句中正確的是()。BA. for ( p = a; a < ( p + 10 ); a+ );B. for ( p = a; p < ( a + 10); p+ );C. for( p = a, a = a + 10; p < a; p+ );D. for( p = a; a < p + 10; +a );23、關(guān)于封裝,下列說法中不正確的是()。DA. 通過封裝,對象的全部屬性和操作結(jié)合在一起,形成
7、一個(gè)整體B. 通過封裝,一個(gè)對象的實(shí)現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)C. 通過封裝,每個(gè)對象都成為相對獨(dú)立的實(shí)體D. 通過封裝,對象的屬性都是不可見的24、有以下代碼段輸出的結(jié)果為()。 Cint a = 1, b = 3, c = 5;int *p1 = &a, *p2 = &b, *p = &c;*p = *p1 * (*p2);printf( "%dn", c );A.1B.2C.3D.425、設(shè)已有定義 char *st = "how are you"下列程序段中正確的是()。CA. char a, *p; strcpy
8、( p = a + 1, &st4 );B. char a11; strcpy( +a,st );C. char a20;strcpy(a, st );D.char a,*p; strcpy(p = &a1,st + 2 );26、設(shè)有以下說明語句,則以下敘述不正確的是( )。 Cstruct Stuint a;float b;stutype;A. struct是結(jié)構(gòu)體類型的關(guān)鍵字B. struct stu是用戶定義的結(jié)構(gòu)體類型C. stutype是用戶定義的結(jié)構(gòu)體類型名D. a和 b都是結(jié)構(gòu)體成員名27、以下對結(jié)構(gòu)體變量stu1 中成員 age 的合法引用是()。Cstruc
9、t studentint age, num;stu1,*p = &stu1;A. stu1 -> ageB.C. p -> ageD.28、 C+源文件的擴(kuò)展名為()。AA. cppB. cC. txtD.exe29、關(guān)于 C+和 C 語言的描述中,()是錯(cuò)誤的 CA. C 是 C+的一個(gè)子集B. C 程序在 C+環(huán)境可以運(yùn)行C. C+程序在 C 環(huán)境可以運(yùn)行D. C+是面向?qū)ο蟮亩?C 是面向過程的二、填空題1、表達(dá)式 sqrt(81)和 pow(6,3) 的值分別為和。9、2162、空串的長度為,存儲(chǔ)它需要占用個(gè)字節(jié)。0、 13、 strlen("apple&
10、quot;)的值為。54、使用 cin 和 cout 進(jìn)行輸入輸出操作的程序必須包含頭文件,其語句格式為。#include<>5、對一個(gè)一維字符數(shù)組a 進(jìn)行初始化的數(shù)據(jù)為 "12345" ,則 a0 和 a3 元素對應(yīng)的初值分別為和。1、46、對一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的實(shí)現(xiàn)。初始化表、函數(shù)體7、隨機(jī)函數(shù) rand()%20 的值在至區(qū)間內(nèi)。0、198、若需要把一個(gè)函數(shù)“ void F();”定義為一個(gè)類AB的友元函數(shù),則應(yīng)在類AB 定義中加入一條語句:。friend void F();9、根據(jù)給定的程序功能,將程
11、序代碼補(bǔ)充完整,每空只填一條語句定義并調(diào)用排序函數(shù),對一維數(shù)組進(jìn)行降序排序。#include<>/*宏定義常量 SIZE 為 10 */void sort(int a, int size );/*冒泡排序函數(shù) */void main()int arraySIZE=2,6,4,8,10,12,89,68,45,38, i;/*調(diào)用排序函數(shù) */for( i=0;i<SIZE;i+);/*輸出數(shù)組元素 */void sort(int a, int size )int pass ,k ,t;for(pass=0;pass+)for( k=0; k<size-pass-1 ;k
12、+)if() /*降序排序 */ t=ak;ak=ak+1;ak+1=t;參考答案:本題考察數(shù)組排序 #define SIZE 10; sort(array, SIZE) ; printf("%5d",arrayi); pass<size-1 ak >ak+1;10、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語句,輸入一個(gè)正整數(shù),判斷是否為素?cái)?shù)。#include <>/*引用頭文件 */void main( ); /*定義變量 m與 i*/printf("輸入一個(gè)正整數(shù)m:n"); /*輸入整數(shù) m的值 */for (
13、i =2; i <=sqrt(m); i + ) /*尋找能整除 m的因子 i*/if () break ;/*輸出是否為素?cái)?shù) */if ()printf("%d是素?cái)?shù) .n", m) ;elseprintf("%d不是素?cái)?shù) .n",m) ;參考答案:本題考察數(shù)控制結(jié)構(gòu) #include<> int m, i; scanf("%d",&m) ; m% i = 0 i>sqrt(m)11、以下程序?qū)崿F(xiàn)字符串的復(fù)制,將程序補(bǔ)充完整。#include <>char* fuzhi(char *p1,
14、char *p2 )int i;for(i = 0;i +)*(p1 + i) = *(p2 + i) ;return p1;int jishu(char *p)int i;for(i = 0;i +);int main ()char a20 , b20; dImag = dImag +c2. dImag; return c; Complex Complex:operator-() ; cout << '(' << dReal << ", " << dImag << ')' <
15、< endl;14、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語句,抽象類 Shape類派生矩形類 (Rectangle) 和圓類 (Circle) ,area() 為求圖形面積的成員函數(shù)。#include <>#include <>class Shape public:; xe。()4、關(guān)鍵字中,用以說明類中公有成員的是private。()5、一個(gè)類只能有一個(gè)對象。 ()6、拷貝構(gòu)造函數(shù)不是類的成員函數(shù)。 ()7、內(nèi)聯(lián)函數(shù)的關(guān)鍵字為friend 。()8、構(gòu)造派生類的對象時(shí),就要對基類數(shù)據(jù)成員、新增數(shù)據(jù)成員和成員對象的數(shù)據(jù)成員進(jìn)行初始化。()9、一個(gè)派
16、生類可以同時(shí)有多個(gè)基類,這種情況稱為單繼承。()10、抽象類不能實(shí)例化。()11、在 C+類中可以包含私有、公有和友元三種具有不同訪問控制權(quán)的成員。()12、定義枚舉類型的關(guān)鍵字是union 。()13、設(shè)有定義 int x; double v;則 5+x+v 值的數(shù)據(jù)類型是int 。()14、strcat()函數(shù)的作用是求字符串長度。 ()15、說明靜態(tài)數(shù)據(jù)成員時(shí),前邊要加關(guān)鍵字static。()16、成員函數(shù)可以重載。()17、delete 的功能是動(dòng)態(tài)分配內(nèi)存。 ()18、關(guān)鍵字中,用以說明類中公有成員的是protected 。()19、流是一種抽象, 它負(fù)責(zé)在數(shù)據(jù)的生產(chǎn)者和數(shù)據(jù)的消費(fèi)者
17、之間建立聯(lián)系,并管理數(shù)據(jù)的流動(dòng)。()20、類型兼容規(guī)則是指在需要基類對象的任何地方,都可以使用公有派生類的對象來替代。()21、do-while循環(huán)可以寫成while 循環(huán)。()22、所謂指令,就是計(jì)算機(jī)可以識別的命令。()23、使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開銷為代價(jià)的。()24、對象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,它是用來構(gòu)成系統(tǒng)的一個(gè)基本單位。()25、內(nèi)聯(lián)函數(shù)的關(guān)鍵字為 void 。()26、友元關(guān)系可以繼承。()判斷題答案1、2、×3、×4、×5、×6、×7、×8、9、×10、11、×12、×
18、13、×14、×15、16、17、×18、×19、20、21、22、23、24、25、×26、×四、閱讀下列程序,請?jiān)诖痤}卡上寫出輸出結(jié)果1、#include<>void main()int x=1,y=2,z=3;x+=y+=z;cout<<(x<yy:x)<<","cout<<(x<yx+:y+)<<","cout<<y<<endl;輸出結(jié)果: 6,5,62、#include <>vo
19、id main()int i;for(i=4;i<=10;i+)if(i%3=0)continue;cout<<i;輸出結(jié)果: 4578103、#include<>class CSampleprivate:int i;static int k;public:CSample();void Display();CSample:CSample()i=0;k+;void CSample:Display()cout<<"i="<<i<<",k="<<k<<endl;int C
20、Sample:k=0;void main()CSample a,b;();();輸出結(jié)果:i=0,k=2i=0,k=24、#include <>void main()int x=1,y=0;switch(x)case 1:switch(y)case 0:cout<<"first "break;case 1:cout<<"second "break;case 2:cout<<"thirdn"輸出結(jié)果: first third5、#include<>class CSamplein
21、t i;public:CSample();void Display();CSample();CSample:CSample()cout<<"Constructor"<<","i=0;void CSample:Display()cout<<"i="<<i<<","CSample:CSample()cout<<"Destructor"<<endl;void main()CSample a;();輸出結(jié)果: Const
22、ructor,i=0,Destructor6、#include<>const int N=8;void main()int aN=1,2,3,4,5,6,7,8;int i,x;for(i=0; i<N/2; i+)x=ai;ai=aN-1-i;aN-1-i=x;for(i=0; i<N; i+)cout<<ai;輸出結(jié)果:7、#include <>class CSampleint i;public:CSample();CSample(int val);void Display(); CSample();CSample:CSample()cout
23、<<"Constructor1"<<endl;i=0;CSample:CSample(int val)cout<<"Constructor2"<<endl;i=val;void CSample:Display()cout<<"i="<<i<<endl;CSample: CSample()cout<<"Destructor"<<endl;void main()CSample a,b(10);();();輸出結(jié)果
24、:Constructor1Constructor2i=0i=10DestructorDestructor8、本題重點(diǎn)考察繼承與多態(tài)# include <>class TwoDimensionalShapehow();t1.show();TwoDimensionalShape * members3 ; <<endl;elsecout<< ()<<" is older."<<endl;return 0;運(yùn)行結(jié)果:copy constructdestruct LindaLinda is older.destruct Li
25、ndadestruct noName五、簡答題(本大題共8 小題,共 40 分)1、簡述結(jié)構(gòu)化的程序設(shè)計(jì)、面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本思想。解答要點(diǎn):結(jié)構(gòu)化的程序設(shè)計(jì)將數(shù)據(jù)和對數(shù)據(jù)的操作分離, 程序是由一個(gè)個(gè)的函數(shù)組成的, 面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和操作封裝在一起, 程序是由一個(gè)個(gè)對象組成的,對象之間通過接口進(jìn)行通信,它能夠較好地支持程序代碼的復(fù)用。2、 虛析構(gòu)函數(shù)有什么作用解答要點(diǎn):對象銷毀時(shí), 需要調(diào)用析構(gòu)函數(shù)。 在多態(tài)調(diào)用時(shí), 是用基類的指針訪問派生類的對象。如果析構(gòu)函數(shù)是非虛函數(shù), 則基類指針只能訪問基類的析構(gòu)函數(shù), 而不能訪問派生類的析構(gòu)函數(shù), 導(dǎo)致派生類對象銷毀時(shí), 沒有調(diào)用派生類的析
26、構(gòu)函數(shù),只是調(diào)用了基類的析構(gòu)函數(shù)。如果把析構(gòu)函數(shù)定義成虛函數(shù),則可克服這個(gè)問題。3、 拷貝構(gòu)造函數(shù)在哪幾種情況下調(diào)用解答要點(diǎn):用一個(gè)對象初始化另一個(gè)對象時(shí)當(dāng)用對象作為函數(shù)參數(shù)傳遞時(shí)當(dāng)函數(shù)返回對象時(shí)4、 函數(shù)重載與函數(shù)覆蓋有什么不同,它們與多態(tài)有什么關(guān)系解答要點(diǎn):函數(shù)重載是指函數(shù)名相同, 而函數(shù)的參數(shù)個(gè)數(shù)或類型不同;覆蓋是指在派生類中成員函數(shù)與基類成員函數(shù)的函數(shù)名、參數(shù)個(gè)數(shù)、類型與返回值均相同; C+ 中正是通過虛函數(shù)的覆蓋,實(shí)現(xiàn)多態(tài)的功能。5、 C+繼承是如何工作的解答要點(diǎn):繼承使得派生類能夠使用基類的公有和保護(hù)成員, 從而實(shí)現(xiàn)代碼的復(fù)用, 派生類可以增加成員, 也可以隱藏和覆蓋基類的成員。
27、對于公有繼承, 基類成員的訪問權(quán)限在派生類保持不變。6、 類與對象有什么區(qū)別解答要點(diǎn):類是類型,是對象的抽象,對象是類的具體實(shí)例。一個(gè)類可以有多個(gè)對象,每個(gè)對象都有自己的存儲(chǔ)單元,而類不占存儲(chǔ)單元。7、實(shí)現(xiàn)將輸入的字符串反序輸出,如輸入 windows 輸出 swodniw。找出并改正程序中的語法及邏輯錯(cuò)誤 (在原程序中畫出出錯(cuò)語句, 在右側(cè)修改成正確的語句 , 同一類錯(cuò)誤算一處錯(cuò)誤) 。void main() char c100,c1; int i ,j, k; printf("Enter a string: "); scanf("%c",c); k=
28、strlen(c);for (i=0,j=k-1;i<k ;i+,j-) c1=ci;ci=cj;cj=c1;printf("%sn",c);本題考察字符數(shù)組參考答案:(1) 缺少頭文件 #include<>缺少頭文件 #include <>(2) scanf("%c",c);改為scanf("%s",c);(3) for(i=0,j=k-1;i<k;i+,j-)改為for(i=0,j=k-1;i<k/2;i+,j-)(4) c1=ci;ci=cj;cj=c1;改為 c1=ci;ci=cj;c
29、j=c1; 8、分析以下代碼段,回答問題。char a="how are you"char *p="how are you"( 1) a2= k; 和 p2= k; 哪個(gè)是錯(cuò)誤的用法為什么( 2) a+; 和 p+; 哪個(gè)是錯(cuò)誤的用法為什么本題考察字符數(shù)組與字符串參考答案:( 1) p2= k 錯(cuò)誤,因?yàn)橹羔?p 只能指向字符串,不能存儲(chǔ)字符串和字符?。?2) a+ 錯(cuò)誤,因?yàn)閿?shù)組名為常量,其值不能修改!9、count 函數(shù)統(tǒng)計(jì)字符串str中數(shù)字的數(shù)目,找出并改正函數(shù)定義中存在的錯(cuò)誤。int count(char str )int i, num;for(
30、 i=0; i < sizeof(str); i+)if( 0<=stri<=9)num+1;參考答案( 1) int i, num;改為 int i, num=0;( 2) i < sizeof(str);改為 stri!='0'或者 strlen(str)( 3) if( 0<=stri<=9)改為 if (stri>=0&& stri<=9)( 4) num+1;改為 num+;或者 +num;(5)缺少 return num;或?qū)⒑瘮?shù)類型改為void函數(shù)中輸入 num值六、編程題1、編寫一個(gè)程序輸入一華氏溫
31、度,編程輸出攝氏溫度。已知:華氏溫度( F)轉(zhuǎn)換為攝氏溫度( C)的計(jì)算公式為: C (F 32 ) * 5 / 9#include<>void main()float c,f;cout<<" 華氏溫度: "cin>>f;c=(f-32)*5/9;cout<<" 攝氏溫度: "<<c<<endl;2、編寫一個(gè)程序?qū)⑤斎氲囊粋€(gè)三位正整數(shù)逆轉(zhuǎn),例如,輸入123,輸出 321。#include<>void main()int n,i,j,k;cout<<" 輸入一個(gè)三位正整數(shù): "cin>>n;i=n/100;etdata(1,"張三 ");stud1.setdata(2,"李四 ");stud2.setdata(3,"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國船舶用蓄電池市場調(diào)查研究報(bào)告
- 2025年中國筒子架總成市場調(diào)查研究報(bào)告
- 2025年中國真空感應(yīng)電爐市場調(diào)查研究報(bào)告
- 2025年企業(yè)合同履行監(jiān)管規(guī)定
- 2025年加油站儲(chǔ)罐租賃合同范文
- 2025年個(gè)體商戶店面租賃合同范例乙方
- 2025年專利權(quán)獨(dú)家許可使用合同
- 出版物采購合同
- 2025年單位間借款合同范本
- 【正版授權(quán)】 IEC 60794-2-20:2024 EN-FR Optical fibre cables - Part 2-20: Indoor cables - Family specification for multi-fibre optical cables
- 三晉卓越聯(lián)盟·山西省2024-2025學(xué)年度高三9月質(zhì)量檢測+語文試卷
- 《那一刻我長大了》習(xí)作課件
- 教科版小學(xué)科學(xué)六年級上冊期末考試試卷(含答案)
- 父母買房在子女名下協(xié)議書范本
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計(jì)規(guī)范(廣東省標(biāo)準(zhǔn))
- 高危新生兒管理專家共識解讀
- 《紡織服裝材料》課件-0緒論
- 盤扣式卸料平臺(tái)施工方案
- 繪本故事在小學(xué)道德與法治課堂中的有效教學(xué)策略分析
- 2024核桃樹承包合同
- 保險(xiǎn)授權(quán)書格式模板
評論
0/150
提交評論