(完整word版)C++語(yǔ)言程序設(shè)計(jì)試題試題和答案_第1頁(yè)
(完整word版)C++語(yǔ)言程序設(shè)計(jì)試題試題和答案_第2頁(yè)
(完整word版)C++語(yǔ)言程序設(shè)計(jì)試題試題和答案_第3頁(yè)
(完整word版)C++語(yǔ)言程序設(shè)計(jì)試題試題和答案_第4頁(yè)
(完整word版)C++語(yǔ)言程序設(shè)計(jì)試題試題和答案_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C 語(yǔ)言程序設(shè)計(jì)試卷,C+ 語(yǔ)言程序設(shè)計(jì)試題及答案一、單項(xiàng)選擇題 ( 每題 1 分,共 20 分 )1. C 語(yǔ)言規(guī)定:在一個(gè)源程序中, main 函數(shù)的位置 ( C ) 。A. 必須在最開(kāi)始B. 必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C. 可以任意D. 必須在最后2. 下面四個(gè)選項(xiàng)中,均是合法浮點(diǎn)數(shù)的選項(xiàng)是( B ) 。A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若 a=-14,b=3, 則條件表達(dá)式 a<b? a:b+1 的值為 (A ) 。A. -14 B. -13 C. 3

2、D. 44. 已知 :int n,i=1,j=2; 執(zhí)行語(yǔ)句 n=i<j?i+:j+; 則 i 和 j 的值是 ( c ).A. 1,2 B. 1,3 C. 2,2 D. 2,35. 為了判斷兩個(gè)字符串 s1 和 s2 是否相等 , 應(yīng)當(dāng)使用 ( D )A. if (s1=s2) B. if(s1=s2)C. if (strcmp(s1,s2)D. if (strcmp(s1,s2)=0)6. 以下正確的描述是( B ) 。A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套。B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。C. 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套。D. 函數(shù)的定義和函數(shù)的

3、調(diào)用均可以嵌套。7.在C語(yǔ)言中,下面對(duì)函數(shù)不正確的描述是(D)。A. 當(dāng)用數(shù)組名作形參時(shí),形參數(shù)組值的改變可以使實(shí)參數(shù)組之值相應(yīng)改變。B. 允許函數(shù)遞歸調(diào)用。C. 函數(shù)形參的作用范圍只是局限于所定義的函數(shù)內(nèi)。D. 子函數(shù)必須位于主函數(shù)之前。8. 如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,則以下正確的說(shuō)法是( A) 。A. 該變量只在該復(fù)合語(yǔ)句中有效B. 該變量在該函數(shù)中有效C. 該變量在本程序范圍內(nèi)均有效D. 該變量為非法變量9. 以下正確的函數(shù)形式是( D ) 。A. double fun(int x,int y) z=x+y;return z;B. fun(int x,y) int z;

4、 return z;C. fun(x,y) int x,y; double z; z=x+y; return z;D. double fun( int x,int y) double z; z=x+y; return z; 10. 以下程序的輸出結(jié)果是( B ) 。#include<stdio.h>#define F(y) 8.19-y#define PRINT(a) printf("%d",(int)(a) void main(void) int x=2;PRINT(x*F(3);A. 10 B. 13 C. 11 D. 報(bào)錯(cuò)11. 以下程序中編譯和運(yùn)行結(jié)果均

5、正確的一個(gè)是 ( C ) A. A. void main(void) union int n; float x; comm=1; printf("%d",comm.n);B. B. void main(void) union int n;float x; comm=12.5; printf("%f",comm.x);C. C. void main(void) union float x;int n; comm=12.5 printf("%f",comm.x);D. D. void main(void) union int n;floa

6、t x; comm=5; printf("%d", comm.n);12. 設(shè)有定義: int a=1,*p=&a; float b=2.0; char c='A' 以下不合法的運(yùn)算是( A) 。A. p+; B. a-; C. b+; D. c-;13. 以下程序中調(diào)用 scanf 函數(shù)給變量a 輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是( B ) 。main() int *p,*q,a,b;p=&a;printf("input a:");scanf("%d",*p);A. *p 表示的是指針變量p 的地址

7、B. *p 表示的是變量a 的值,而不是變量a 的地址C. *p 表示的是指針變量p 的值D. *p 只能用來(lái)說(shuō)明 p 是一個(gè)指針變量14 .若num* a、b和c者B是int型變量,則執(zhí)行表達(dá)式num=(a=4,b=16,c=32);后num的值為( C ) 。A. 4 B. 16 C. 32 D. 5215 . 已有如下定義和輸入語(yǔ)句 ,若要求 a1,a2,c1,c2 的值分別為 10,20,A 和 B, 當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí), 正確的數(shù)據(jù)輸入方式是( C ),( 注 : _ 表示空格 )int al,a2,char c1,c2;scanf("%d%c%d%c",&

8、amp;a1,&c1,&a2,&c2);A. 10A_20_B B. 10_A_20_B C. 10A20B D. 10A20_B16 .若有說(shuō)明:int a10; 則對(duì)a數(shù)組元素的正確引用是 (C )。A. a10 B. a3.5 C. a5-3 D. a-117 .在C語(yǔ)言中,一維數(shù)組的定義方式為類(lèi)型說(shuō)明符數(shù)組名;(A)A. 整型常量表達(dá)式 B. 表達(dá)式 C. 整型常量 D. 整型表達(dá)式 18. 以下能對(duì)一維數(shù)組 a 進(jìn)行正確初始化的語(yǔ)句是( C )A. in a10=(0,0.0,0,0);B. int a10=; C. int a口=0;D. int a10=1

9、0*1;19. 以下程序段( C ) 。x=-1;dox=x*x;while(! x);A. 是死循環(huán) B. 循環(huán)執(zhí)行二次C. 循環(huán)執(zhí)行一次D. 有語(yǔ)法錯(cuò)誤20. 以下關(guān)于 do-while 循環(huán)的不正確描述是( B ) 。A. do-while 的循環(huán)體至少執(zhí)行一次B. do-while 循環(huán)由 do 開(kāi)始,用 while 結(jié)束,在 while( 表達(dá)式 )后面不能寫(xiě)分號(hào)C. 在 do-while 循環(huán)體中,一定要有能使while 后面表達(dá)式的值變?yōu)榱悖?quot; 假 ") 的操作D. do-while 的循環(huán)體可以是復(fù)合語(yǔ)句二、是非判斷題 ( 每題 1 分,共 15 分 )1.

10、 C 語(yǔ)言規(guī)定,標(biāo)識(shí)符中的字母一般區(qū)分大、小寫(xiě)。 T2. 控制臺(tái)標(biāo)準(zhǔn)輸入設(shè)備一般是指鍵盤(pán)。 T3. 使用 while 和 do-while 循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語(yǔ)句之前處理。4. 循環(huán)體中 continue 語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行。 F5. 關(guān)系表達(dá)式的值是0 或 1 。 T6. 若有說(shuō)明: int a34=0 ,則只有元素a00 可得到初值 0。 T7. 字符串作為一維數(shù)組存放在內(nèi)存中。 T8. 字符數(shù)組中的一個(gè)元素存放一個(gè)字符T。9. 字符數(shù)組中的最后一個(gè)字符必須是'0' 。 F10. 形參為指針變量時(shí),實(shí)參必須是數(shù)組名。 F11. 用數(shù)組名作函數(shù)參

11、數(shù)時(shí)傳遞的是數(shù)組的值。 F12. 全局變量可以被任何一個(gè)函數(shù)中的任何一個(gè)表達(dá)式使用。 T13. 一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,也可以帶回指針型的數(shù)據(jù)。14. 表達(dá)式 i+ 與 +i 在任何場(chǎng)合功能完全相同。15. 在賦值表達(dá)式中,賦值號(hào)左邊的變量和右邊的表達(dá)式之值的數(shù)據(jù)類(lèi)型可以不相同。三、多項(xiàng)選擇題 ( 每題 1 分,共 5 分 )1. 若要求在 if 后一對(duì)圓跨括號(hào)中表示a 不等于 0 的關(guān)系 , 則不能正確表示這一關(guān)系的表達(dá)式為 ( ABC ).A a<>0B !aC a=0D aE a!=02. 選出所有合法的常量(CEGIJ)。A 3e22.5B -e-3C

12、 -.1e-1D 'BASIC'E '045'F 0fdG 0xfdaLH e8I ''J""3. 以下關(guān)于函數(shù)原型說(shuō)法錯(cuò)誤的是: (ADFHI)(1) 對(duì)變量的定義”和“聲明”是一回事,對(duì)函數(shù)的“定義”和“聲明”也是一回事。(2) 在聲明函數(shù)原型時(shí),允許只寫(xiě)出參數(shù)的類(lèi)型,而不必寫(xiě)出參數(shù)的名稱(chēng)。(3) 如果在定義函數(shù)時(shí)不指定函數(shù)類(lèi)型,系統(tǒng)會(huì)隱含指定函數(shù)類(lèi)型為 int 型。(4) 調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名、實(shí)參個(gè)數(shù)、實(shí)參類(lèi)型必須與函數(shù)原型一致。(5) 如果被調(diào)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。(6) 所有的函數(shù)之間可

13、以互相調(diào)用。(7)在C語(yǔ)言中,所有函數(shù)都是平行的,一個(gè)函數(shù)不能從屬于另一個(gè)函數(shù), 即不能嵌套定義的。(8) 如果函數(shù)沒(méi)有返回值,在定義時(shí)可以省略函數(shù)類(lèi)型。(9)在C語(yǔ)言中,任何函數(shù)的定義都不允許為空。(10)C 語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞” 。4. 請(qǐng)從下面關(guān)于指針的敘述中 , 選出 5 個(gè)正確的敘述。 (ABDEH)(1) 指針即地址。(2) 指針須先賦值后使用。(3) 當(dāng)指針 p 指向數(shù)組 a 的首址后, 由于 p 和 a 都能引用數(shù)組元素, 所以這里 p 和 a 是等價(jià)的。(4)int *p 表示定義了一個(gè)指向 int 類(lèi)型數(shù)據(jù)的指針變量p。(5) 數(shù)組的指針是指數(shù)

14、組的起始地址。(6)若有定義int a4,*p=a, 則p+后p指向數(shù)組a所占內(nèi)存的第二個(gè)字節(jié)。(7) 使用指針變量作函數(shù)參數(shù)采取的是" 值傳遞 " 的方式。(8) 相同類(lèi)型的指針可以進(jìn)行減法運(yùn)算。(9) 指針變量和許多變量一樣可以進(jìn)行四則運(yùn)算。(10) 指針 p 指向數(shù)組元素a2 ,若要其指向 a4 ,執(zhí)行 p=p*2 即可。5. 以下關(guān)于數(shù)組的敘述中, 5 個(gè)最確切的說(shuō)法是: (BEGHI )(1) 在聲明一個(gè)數(shù)組變量時(shí)必須指定大小。(2) 必須用常量表達(dá)式來(lái)說(shuō)明一個(gè)數(shù)組變量的大小。(3) 在對(duì)數(shù)組進(jìn)行初始化時(shí)大括號(hào)中的數(shù)據(jù)個(gè)數(shù)必須和數(shù)組的大小相同。(4) 有變量定義i

15、nt a3=0,1,2,b3;, 可以用 b=a, 使數(shù)組 b 的每個(gè)元素和 a 的每個(gè)元素相等。(5)在C語(yǔ)言中,可以將字符串作為字符數(shù)組來(lái)處理。(6) 定義了字符數(shù)組 char c11; 為了給它賦值,可以用 c="china" 。(7) 如果有 char s15="I am a0 student",則 strlen(s) 的值為 6。(8)C 語(yǔ)言中,二維數(shù)組中元素排列的順序是:按行存放。(9)在C語(yǔ)言中,不能對(duì)局部的數(shù)組變量進(jìn)行初始化。(10) 在聲明時(shí)對(duì)數(shù)組進(jìn)行進(jìn)行初始化必須指定數(shù)組大小。四、程序運(yùn)行結(jié)果題 ( 每題 4 分,共 20 分)1.

16、 (4 分)下面程序的運(yùn)行結(jié)果是( ) 。#include<stdio.h>void main(void)int i;char a="Time",b="Tom"for(i=0;a!='0'&&b!='0'i+)if (a=b)if (a>='a' && a<= 'z') printf("%c",a-32);else printf("%c",a+32);else printf("*&quo

17、t;);2. (4 分)下面程序段的運(yùn)行結(jié)果是( ) 。i=1;s=3dos+=i+;if (s%7=0) continue;else +i; whlie(s<15);printf("%d",i);3. (4 分)若運(yùn)行時(shí)輸入 :5999, 則以下程序的運(yùn)行結(jié)果(保留小數(shù)點(diǎn)后一位)是( ) 。void main(void)int x;float y;scanf("%d",&x);if (x>=0 && x<=2999) y=18+0.12 * x;if (x>=3000 && x<=5

18、999) y=36+0.6*x;if (x>=6000 && x<=10000) y=54+0.3*x;printf("%6.1f",y);4. (4 分)以下程序的運(yùn)行結(jié)果是( ) 。void main(void)int a=1,k;for(k=0;k<3;k+) printf("%4d",f1(a)int f1(int x)static int z=3,y=0;y+;z+;return(x+y+z);5. (4 分)以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y) 的值,請(qǐng)選擇

19、填空。#include<stdio,h>#include<math.h>float fun1(float,float);void main(void)float x,y,z,sum;scanf("%f%f%",&x,&y,&z);sum=fun1( )+ fun1 ( );printf("sum=%fn",sum);float fun1(float a,float b)float num;num=a/b;return num;五、程序填空題 ( 每題 2 分,共 20 分 )1.下面程序的功能是用公式:兀X

20、兀/6=1/(1 x1)+1/(2 X2)+1/(3 X3)+求兀的近似值,直到最后一項(xiàng)的值小于 10e-6為止。#include <stdio.h>#include <math.h>void main(void)long i=1; pi=0;while (i*i<=10e+6) pi= ; i+; pi=sqrt(6.0*pi);printf("pi=%10.6fn",pi);2. 下面程序的功能是把以下給定的字符按其矩陣格式讀入數(shù)組 str1 中, 并輸出行列號(hào)之和 是 3 的數(shù)組元素。void main(void)char str143=

21、'A','b','C','d','E','f','G','h','I','j','K','i'int x,y,z;for(x=0;x<4;x+)for(y=0; ;y+)z=x+y;if ( ) printf("%cn",str1xy);3. 以下程序的功能是用遞歸方法計(jì)算學(xué)生的年齡, 已知第一位學(xué)生年齡最小, 為 10 歲, 其 余學(xué)生一個(gè)比一個(gè)大2 歲,求第 5 位學(xué)生的年齡

22、。遞歸公式如下:age(1)=10age(n)=age(n-1)+2 (n>1)#include<stdio.h>int age(int n)int c;if (n=1) c=10;else c= ;return c;4. 以下程序的功能是判斷輸入的年份是否是閏年。void main(void)int year,yes;scanf("%d",&year);if (year%400=0) yes=1;else if ( ) yes=1;else ;if(yes) printf("%d is ",year);else printf(

23、"%d is not ",year);printf("a leap year.n");5. 以下程序?qū)崿F(xiàn): 輸入三個(gè)整數(shù) , 按從大到小的順序進(jìn)行輸出。void main(void)int x,y,z,c;scanf("%d %d %d",&x,&y,&z);if () c=y;y=z;z=c;if () c=x;x=z;z=c;if () c=x;x=y;y=c;printf("%d,%d,%d",x,y,z);六、填空題 ( 每題 1 分,共 20 分 )1. 在 C 語(yǔ)言中, 一個(gè) f

24、loat 型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為 ( ) 個(gè)字節(jié) ; 一個(gè) double 型數(shù) 據(jù)在內(nèi)存中所占的字節(jié)數(shù)為 ( ) 個(gè)字節(jié)。、單項(xiàng)選擇題1 下面正確的字符常量是:A)“ c ”B) C) WD) 2 .下列字符串中不能作為C+而識(shí)符使用的是:A) WHILE B) user C) _1var D) 9stars3 執(zhí)行語(yǔ)句序列的輸出結(jié)果是。int i=0;while(i<25)i+=3;cout<<i;A) 24 B) 25 C) 27 D) 284 .下列符號(hào)中可以用作C+標(biāo)識(shí)符的是。A) radius B) foobar C) else D) 3room5 若 a 是

25、 int 類(lèi)型變量,則表達(dá)式a=25/3%3 的值是:A) 3 B) 2 C) 1 D) 06以下敘述中不正確的是:A) 在不同的函數(shù)中可以使用相同名字的變量B) 函數(shù)中的形參是局部變量C) 在一個(gè)函數(shù)內(nèi)部定義的變量只在本函數(shù)范圍內(nèi)有效D) 在一個(gè)函數(shù)內(nèi)部定義的變量在所有函數(shù)內(nèi)部有效7 變量的引用,其含義是指該變量的:A.值 B .類(lèi)型 C .別名 D .地址8 已知定義: char s10; 則下面不表示s1 的地址的是:A s+1 B *(s+1) C &s0+1 D &s19 通??截悩?gòu)造函數(shù)的參數(shù)是:A.對(duì)象 B .對(duì)象的成員 C .對(duì)象的引用 D .對(duì)象的指針10派生

26、類(lèi)對(duì)象的構(gòu)造順序是先調(diào)用:A.派生類(lèi)的構(gòu)造函數(shù)B .基類(lèi)的構(gòu)造函數(shù)C.內(nèi)嵌對(duì)象的構(gòu)造函數(shù)D.友元類(lèi)的構(gòu)造函數(shù)二、填空題1 動(dòng)態(tài)多態(tài)是指在 _ ( 1) 時(shí)才確定使用哪個(gè)_ ( 2) _ 函數(shù)的方式。2 友員不是類(lèi)的成員,但必須在 _( 3) _予以聲明,它具有存取類(lèi)的_( 4 ) _成員的特權(quán)。3 . C+用class與struct的主要區(qū)別是在缺省訪問(wèn)權(quán)限時(shí),(5) _的成員為私有的,而 _( 6 ) _的成員為公有的。4 若有定義語(yǔ)句: int a=3,b=2; ,則表達(dá)式a<b?a :b 的值是_(7) 。5 表達(dá)式:26%3=_(8) , 32/5=_(9) 。6 類(lèi)的成員包括_

27、(10)_ 和_(11)_ 兩種, 在面向?qū)ο蟮男g(shù)語(yǔ)中, 前者稱(chēng)為屬性、 后者稱(chēng)為方法。其訪問(wèn)權(quán)限有三種,由符號(hào)_(12)_ 、 _(13)_和_(14)_ 指定,其中具有_(15)_權(quán)限的成員只有類(lèi)中的成員函數(shù)才能訪問(wèn)、而具有_(16)_ 權(quán)限的成員在任何函數(shù)中都可訪問(wèn)。7 對(duì)基類(lèi)成員的初始化,必須在派生類(lèi)構(gòu)造函數(shù)的 (17) 中進(jìn)行。8 . C+礴程序文件的擴(kuò)展名是(18),頭文件的擴(kuò)展名是(19)9 若 n 為整型,則表達(dá)式n=(float)2/3 的值是 (20)。三、寫(xiě)出程序的運(yùn)行結(jié)果1 寫(xiě)出程序運(yùn)行結(jié)果include <iostream.h>#include <s

28、tring.h> class CRectprivate:char color10;int left;int top;int length;int width;public:CRect();CRect(char *c, int t, int lef, int len, int wid);void SetColor(char *c);void SetSize(int l=100, int w=100);void Move(int t,int l);void Draw();CRect:CRect()strcpy(color, "Black");top = 0;left =

29、0;length = 0;width = 0;CRect:CRect(char *c, int t, int lef, int len, int wid)strcpy(color, c);top = t;left = lef;length = len;width = wid;void CRect:SetColor(char *c)strcpy(color, c);void CRect:SetSize(int l, int w)length=l;width = w;void CRect:Move(int t,int l)top = t;left = l;void CRect:Draw()cout

30、 << "矩形左上角坐標(biāo)為(" << left << "," << top << ")" << endl;cout << "矩形長(zhǎng)和寬分別為" << length << "," << width << endl;cout << " 矩形的顏色是" << color << endl;void main()CRec

31、t r;r.SetColor("Red");r.Move(10,20);r.SetSize(100,200);r.Draw();r.Move(50,50);r.SetColor("Blue");r.Draw();2 寫(xiě)出程序運(yùn)行結(jié)果#include <iostream.h>class A(intx,y;public:A()(x=0;y=o;A(int a, int b)(x=a;y=b;A()(if(x=y)cout « "x=y" « endl;elsecout « "x!=y&q

32、uot; « endl;void Display()cout << "x=" << x << " ,y=" << y << endl;void main()A a1, a2(2,3);a1.Display();a2.Display();3 寫(xiě)出程序運(yùn)行結(jié)果#include <iostream.h>class Aprivate:int n;public:A(int i)n=i;operator +()n+;operator +(int )n+=2;void Display()

33、cout << "n=" << n << endl;void main()A a(2), b(2);a+;+b;a.Display();b.Display();4 寫(xiě)出程序運(yùn)行結(jié)果#include <iostream.h>int func1(int n);int func2(int n);void main()int sum;sum = func2(5);cout << sum << endl;int func1(int n)if(n=1)return 1;elsereturn n*func1(n-1)

34、;int func2(int n)int s = 0;for(int i=1; i<=n; i+)s += func1(i);return s;四、編程(根據(jù)要求填上程序缺少的部分)1 完成如下的程序,使得輸出為:1234#include <iostream.h>#include <math.h>class Aprivate:(1)protected:(2)public:A(int a, int b, int c)X=a;Y=b;Z=c;int GetX()return X;int GetY()return Y;int GetZ()return Z;class B

35、 (3)private:int K;public:B(int a, int b, int c, int d)(4)K=d;void Show()cout << GetX() << GetY() << Z << K << endl;void main()B b(1,2,3,4);b.Show();2.在主函數(shù)中定義有 30個(gè)元素的數(shù)組s,函數(shù)funci ()的功能是將2、4、6、56、58、 60 分別賦給數(shù)組元素s0、s1、s2、s27 、s28 、s29。函數(shù) func2 ()的功能是按順序?qū)?shù)組的每5個(gè)元素求平均值并存入數(shù)組w中(

36、即將s0、s1、s2 、s3、s4的平均值存入 w0中,s5、s6、s7 、s8、s9的平均值存入 w1中,)。請(qǐng) 填空使程序正確運(yùn)行。#include <iostream.h>#include <math.h>void func1(double s)int i,k;for(k=2,i=0; i< 30; i+)si=k;(5)void func2(double s, double w) double sum;int i,k;for(k=0,i=0,sum=0; i<30; i+)(6)if( (i+1)%5=0)wk = sum/5;(7) k+;void

37、 main()double s30, w6;func1(s);func2(s,w);C+ 程序設(shè)計(jì) 試題及答案(一)答案 一、單項(xiàng)選擇題1. C2. D3. A4. A5. B6. D7. D8. A9. c10. b二、填空題1. 執(zhí)行,成員2. 類(lèi)中,私有3. class , struct4. 25. 2 ,66. 數(shù)據(jù)成員, 函數(shù)成員公共7. public , private , protect , 私有,8. .cpp .h9. 0.5三、寫(xiě)出程序的運(yùn)行結(jié)果1 矩形左上角坐標(biāo)為50,50矩形長(zhǎng)和寬分別為 100,100矩形的顏色是Blue2 x= 0,y=0 x=2,y=3x=yx!=

38、y3, n=3 n=44 , 5四、編程(根據(jù)要求填上程序缺少的部分)1 . int X,Y;2 . int Z;3 public A4 : A(a,b,c)5 k+=2;6 sum += si;7 sum = 0;C+程序設(shè)計(jì)試題及答案(二)一、填空題( 20 分,每空 1 分)1 當(dāng)使用關(guān)鍵字_( 1 ) _ 作為函數(shù)返回類(lèi)型時(shí),該函數(shù)不返回任何值。2 在類(lèi)中必須聲明成員函數(shù)的 _( 2) _,成員函數(shù)的_( 3 ) _部分可以寫(xiě)在類(lèi)外。3 如果需要在被調(diào)函數(shù)運(yùn)行期間, 改變主調(diào)函數(shù)中實(shí)參變量的值, 則函數(shù)的形參應(yīng)該是_( 4)_類(lèi)型或_( 5 ) _類(lèi)型。4 當(dāng)一個(gè)變量被聲明為另一個(gè)變量

39、的引用時(shí),此變量就成為被引用變量的_(6)_ 。此時(shí),對(duì)其中一個(gè)變量值的修改,_(7)_ (會(huì) / 不會(huì))影響到另一個(gè)變量的值。5 友員不是類(lèi)的成員,但必須在_(8)_ 予以聲明,它具有存取類(lèi)的 _(9)_ 成員的特權(quán)。6如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)該是_(10)_ 類(lèi)型或_(11)_ 類(lèi)型。7 友員不是類(lèi)的成員,但必須在_(12)_ 予以聲明,它具有存取類(lèi)的_(13)_ 成員的特權(quán)。8如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)該是_(14)_ 類(lèi)型或_(15)_ 類(lèi)型。9. 下面程序?qū)⒆址麛?shù)組 a 復(fù)制到字符數(shù)組b 中。m

40、ain() char a="I am a boy.",b20;int i;for(i=_(16)_;ai!='0'i+)_(17)_;(18)_;10.下面程序的功能是計(jì)算1-3+5-7+ -99+101的值存在s中,請(qǐng)?zhí)羁铡?include <stdio.h>main()int i,t=1,s=0;for(i=1;i<=101;_(19)_)s=s+i*t;t=_(20)_;二、判斷以下說(shuō)法的正確性,正確的劃,錯(cuò)誤的劃X (10分,每個(gè)題目2分)1 如果派生類(lèi)的成員函數(shù)的原型與基類(lèi)中被定義為虛函數(shù)的成員函數(shù)原型相同, 那么, 這個(gè) 函數(shù)自

41、動(dòng)繼承基類(lèi)中虛函數(shù)的特性。2 .在C+中,關(guān)鍵字class與struct具有完全相同的作用。3 若有定義: double x35 ;則 x 數(shù)組行下標(biāo)的上限是3,下限是1 。4說(shuō)明函數(shù)原型時(shí)不需要指明每個(gè)參數(shù)的類(lèi)型,只需要說(shuō)明每個(gè)參數(shù)的名字就可以了。5如果在一個(gè)程序塊中有兩個(gè)變量具有相同的名字,并且都有效,只是它們的作用域不同,則優(yōu)先訪問(wèn)作用域較大的那個(gè)變量。30 分,每題 2 分)1 程序段int a,b;a=5;b=a+;cout << b;的輸出應(yīng)為:A) 4 B) 5 C) 6 D) 72 程序段int i,a;for(i=0;i<=10;i+)a=i;cout &l

42、t;< i;的輸出應(yīng)為:A) 0 B) 9 C) 10 D) 113 下列有關(guān)函數(shù)重載的敘述中,錯(cuò)誤的是A) 函數(shù)重載就是用相同的函數(shù)名定義多個(gè)函數(shù)B) 重載函數(shù)的參數(shù)列表必須不同C) 重載函數(shù)的返回值類(lèi)型必須不同D) 重載函數(shù)的參數(shù)可以帶有默認(rèn)值4 int *p1,*p2,a10;p1=a;p2=&a5;則 p2-p1 的值為:A) 無(wú)法確定B) 10 C) 5 D) 125變量的指針,其含義是指該變量的:一個(gè)標(biāo)志A) 值 B) 地址 C) 名 D)6. 派生類(lèi)的成員函數(shù)不能訪問(wèn)基類(lèi)的 。A) 公有成員和保護(hù)成員 B) 公有成員C) 私有成員 D)保護(hù)成員7 數(shù)字字符0 的 A

43、SCII 值為48,若有以下程序void main() char a='1', b='2'cout << b+ <<” , ” ;cout << b-a << endl;程序運(yùn)行后的輸出結(jié)果是:A) 3,2 B ) 50,2 C ) 2,2 D ) 2,508 有以下程序void main()int a33,*p,i;p=&a00;for(i=0;i<9;i+)pi=i;for(i=0;i<3;i+)cout << a1i;程序運(yùn)行后的輸出結(jié)果是:A) 012 B ) 123 C )

44、 234 D ) 3459以下敘述中錯(cuò)誤的是:A對(duì)于double類(lèi)型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變C)程序執(zhí)行中,數(shù)組元素的下標(biāo)越界時(shí),系統(tǒng)給出“下標(biāo)越界”的出錯(cuò)信息D)可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)10有以下程序void main()int a=1,2,3,4,5,6,7,8,9,0,*p;for(p=a;p<a+10;p+) cout << *p <<程序運(yùn)行后的輸出結(jié)果是:) 2,3,4,5,6,7,8,9,10,1,A) 1,2,3,4,5,6,7,8,9,0, BC) 0,1

45、,2,3,4,5,6,7,8,9, D) 1,1,1,1,1,1,1,1,1,1,11有以下程序void main()int c=35;int b=c&c;cout << b;程序運(yùn)行后的輸出結(jié)果是:A) 0 B ) 70 C ) 35 D ) 112執(zhí)行下列程序段后,正確的結(jié)果是:int i=0, s=1;while(i<3)s+=i;i+;cout << s;A) 5 B) 6 C) 4 D) 313執(zhí)行下列程序段后,正確的結(jié)果是:char a7=” abcdefchar b4=” ABC”strcpy(a,b);cout << a5;A)

46、 eB) fC) 0D)無(wú)輸出14下列帶缺省值參數(shù)的函數(shù)說(shuō)明中,正確的說(shuō)明是A) int Fun(int x,int y=2,int z=3);B) int Fun(int x=1,int y,int z=3);C) int Fun(int x,int y=2,int z);D) int Fun(int x=1,int y,int z);15拷貝構(gòu)造函數(shù)的作用是:A) 進(jìn)行數(shù)據(jù)類(lèi)型的轉(zhuǎn)換B) 用對(duì)象調(diào)用成員函數(shù)C) 用對(duì)象初始化對(duì)象D) 用一般類(lèi)型的數(shù)據(jù)初始化對(duì)象四、寫(xiě)出程序的運(yùn)行結(jié)果( 20 分,每題 10 分)1 函數(shù) sub 的功能是什么?寫(xiě)出運(yùn)行結(jié)果。2 函數(shù) sub 的功能是什么?寫(xiě)

47、出運(yùn)行結(jié)果。#include <iostream.h> long sub(int num)int i;long subsum=1;for(i=1;i<=num;i+)subsum *= i;return( subsum );void main()int i; long sum=0;for(i=1;i<=5;i+)sum += sub(i);cout << i << "," << sum << endl;3 寫(xiě)出程序運(yùn)行結(jié)果#include <iostream.h>class Basepubl

48、ic:void WhoAmI()cout << "Class Bass" << endl;virtual void Who()cout << "Class Bass" << endl;class Derived:public Basepublic:void WhoAmI()cout << "Class Derived" << endl;void Who()cout << "Class Derived" << endl;v

49、oid main()Base *p;Base b;Derived d;p = &b;p->WhoAmI();p->Who();p = &d;p->WhoAmI();p->Who();五、編程(根據(jù)要求填上程序缺少的部分) ( 20 分,每題 10 分)1 函數(shù) Convert ()將一個(gè)數(shù)字字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),請(qǐng)?zhí)羁?,?shí)現(xiàn)函數(shù)的功能。#include <iostream.h>int Convert(char *str);void main()char s10 = "12345"int n = Convert(s);co

50、ut << n << endl;int Convert(char *str)int num=0,digit;for(int i=0;(1); i+)digit =(2);num = num*10 + digit;return num;2 函數(shù) Convert ()將一個(gè)數(shù)字字符串轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),請(qǐng)?zhí)羁?,?shí)現(xiàn)函數(shù)的功能。#include <iostream.h>int Convert(char *str);void main()char s10 = "12345"int n = Convert(s);cout << n <

51、;< endl;int Convert(char *str) int num=0,digit;for(int i=0;(3); i+)digit =(4);num = num*10 + digit;return num;C+ 程序設(shè)計(jì) 試題及答案(二)一、填空題1 void3. 引用, 指針4. 別名,會(huì)5. 類(lèi)中,私有6. 引用,指針7. 類(lèi)中,私有8. 引用,指針9. ai=biai='0'10. i=i+2二、判斷以下說(shuō)法的正確性1. V2. X3. X4. X5. X三、單項(xiàng)選擇題1. C2. B3. A4. D5. B6. D7. B8. A9. D10. B1

52、1. D12. B13. A14. C15. D四、寫(xiě)出程序的運(yùn)行結(jié)果1 . 從 1 連乘到 num 5,1532 Class BassClass BassClass DerivedClass Derived五、編程(根據(jù)要求填上程序缺少的部分)1 (1) i < strlen(str)(2) stri2 (1) i<10(2) siC+程序設(shè)計(jì) 試題及答案(三)時(shí)間 :2011-07-17 18:54 來(lái)源 : 未知 作者 : admin 點(diǎn)擊 : 2840 次標(biāo)簽 :C+程序設(shè)計(jì)試題及答案(三) 學(xué)號(hào):專(zhuān)業(yè):層次:姓名:題號(hào)一二三四五六七八 九 十 總分 得分 注意: 所有答案

53、都要寫(xiě)在答題卡上一、 單項(xiàng)選擇題 1 設(shè)有數(shù)組定義:char array=China ;則數(shù)組 array 所占的空間為: A) 4 個(gè)字節(jié) B) 5 個(gè)字節(jié) C) 6 個(gè)C+程序設(shè)計(jì) 試題及答案(三)學(xué)號(hào):專(zhuān)業(yè):層次:姓名:題號(hào)四五六七八九十總分得分注意:所有答案都要寫(xiě)在答題卡上、單項(xiàng)選擇題1 設(shè)有數(shù)組定義: char array=” China ” ;則數(shù)組 array 所占的空間為:A) 4 個(gè)字節(jié) B) 5 個(gè)字節(jié) C) 6 個(gè)字節(jié) D) 7 個(gè)字節(jié)2 下列選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性無(wú)關(guān)的是A) 重載函數(shù)B) 虛函數(shù) C) 指針 D) 引用3a 是 int 類(lèi)型變量,則計(jì)算表達(dá)式a=1

54、000999 的值是:A)B) 1C) 2D) 34,卜面程序段中,for 循環(huán)的執(zhí)行次數(shù)是:inti=10;for(i=1;i<10;i+)cout <<“ *”A)9B)10C)8D)75 有以下程序void main() int a33,*p,i;p=&a00;for(i=0;i<9;i+)pi=i;for(i=0;i<3;i+)cout << a1i;程序運(yùn)行后的輸出結(jié)果是:A) 012 B ) 123 C ) 234 D ) 3456以下敘述中錯(cuò)誤的是:A對(duì)于double類(lèi)型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變C)程?蟀蔥兄校??樵?氐南鹵暝澆韁保?低掣??ldquo;下標(biāo)越界”的出錯(cuò)信息D)可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)7 有以下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論