C++語言程序設(shè)計試習(xí)題試題及答案_第1頁
C++語言程序設(shè)計試習(xí)題試題及答案_第2頁
C++語言程序設(shè)計試習(xí)題試題及答案_第3頁
C++語言程序設(shè)計試習(xí)題試題及答案_第4頁
C++語言程序設(shè)計試習(xí)題試題及答案_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C 語言程序設(shè)計試卷 ,C+語言程序設(shè)計試題及答案一、單項(xiàng)選擇題(每題1分,共20分)1. C語言規(guī)定:在一個源程序中,main函數(shù)的位置( C )。A. 必須在最開始B. 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C. 可以任意D. 必須在最后2. 下面四個選項(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 D. 44. 已知:int n,i=1

2、,j=2;執(zhí)行語句n=i<j?i+:j+;則i和j的值是( c ).A. 1,2 B. 1,3 C. 2,2 D. 2,35. 為了判斷兩個字符串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ù)的調(diào)用均可以嵌套。7. 在C語言中,下面對函數(shù)不正確的描述是( D)。A.

3、 當(dāng)用數(shù)組名作形參時,形參數(shù)組值的改變可以使實(shí)參數(shù)組之值相應(yīng)改變。B. 允許函數(shù)遞歸調(diào)用。C. 函數(shù)形參的作用范圍只是局限于所定義的函數(shù)內(nèi)。D. 子函數(shù)必須位于主函數(shù)之前。8. 如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則以下正確的說法是( A)。A. 該變量只在該復(fù)合語句中有效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; return z;C. fun(x,y) int x,y; doubl

4、e 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. 報錯11. 以下程序中編譯和運(yùn)行結(jié)果均正確的一個是( C )。A. A. void main(void)unioni

5、nt n;float x; comm=1;printf("%d",comm.n);B. B. void main(void)unionint n;float x; comm=12.5;printf("%f",comm.x);C. C. void main(void)unionfloat x;int n; comm=12.5printf("%f",comm.x);D. D. void main(void)unionint n;float x; comm=5;printf("%d", comm.n);12. 設(shè)有定義:

6、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ù)值的方法是錯誤的,其錯誤原因是( B )。main()int *p,*q,a,b;p=&a;printf("input a:");scanf("%d",*p);A. *p表示的是指針變量p的地址B. *p表示的是變量a 的值,而不是變量a的地址C. *p表示的是指針變量p的值D. *p只能用來說明p是一個指針變量14

7、. 若num、a、b和c都是int型變量,則執(zhí)行表達(dá)式num=(a=4,b=16,c=32);后num的值為( C )。A. 4 B. 16 C. 32 D. 5215. 已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是( C ),(注: _ 表示空格)int al,a2,char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A. 10A_20_B B. 10_A_20_B C. 10A20B D. 10A20_B16. 若有說

8、明:int a10; 則對a數(shù)組元素的正確引用是(C )。A. a10 B. a3.5 C. a5-3 D. a-117. 在C語言中, 一維數(shù)組的定義方式為類型說明符 數(shù)組名;( A)A. 整型常量表達(dá)式 B. 表達(dá)式C. 整型常量 D. 整型表達(dá)式18. 以下能對一維數(shù)組a進(jìn)行正確初始化的語句是( C )。A. in a10=(0,0.0,0,0);B. int a10=; C. int a0;D. int a10=10*1;19. 以下程序段( C )。x=-1;dox=x*x;while(! x);A. 是死循環(huán) B. 循環(huán)執(zhí)行二次C. 循環(huán)執(zhí)行一次 D. 有語法錯誤20. 以下關(guān)于d

9、o-while循環(huán)的不正確描述是( B )。A. do-while的循環(huán)體至少執(zhí)行一次B. do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號C. 在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?"假")的操作D. do-while的循環(huán)體可以是復(fù)合語句二、是非判斷題(每題1分,共15分)1. C語言規(guī)定,標(biāo)識符中的字母一般區(qū)分大、小寫。T2. 控制臺標(biāo)準(zhǔn)輸入設(shè)備一般是指鍵盤。T3. 使用while和do-while循環(huán)時,循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前處理。T4. 循環(huán)體中continue語句的作用是結(jié)束整

10、個循環(huán)的執(zhí)行。F5. 關(guān)系表達(dá)式的值是0或1。T6. 若有說明:int a34=0,則只有元素a00可得到初值0。 T7. 字符串作為一維數(shù)組存放在內(nèi)存中。T8. 字符數(shù)組中的一個元素存放一個字符T。9. 字符數(shù)組中的最后一個字符必須是'0'。F10. 形參為指針變量時,實(shí)參必須是數(shù)組名。 F11. 用數(shù)組名作函數(shù)參數(shù)時傳遞的是數(shù)組的值。 F12. 全局變量可以被任何一個函數(shù)中的任何一個表達(dá)式使用。T13. 一個函數(shù)可以帶回一個整型值、字符值、實(shí)型值等,也可以帶回指針型的數(shù)據(jù)。14. 表達(dá)式i+與+i在任何場合功能完全相同。15. 在賦值表達(dá)式中,賦值號左邊的變量和右邊的表達(dá)式

11、之值的數(shù)據(jù)類型可以不相同。三、多項(xiàng)選擇題(每題1分,共5分)1. 若要求在if 后一對圓跨括號中表示a不等于0的關(guān)系,則不能正確表示這一關(guān)系的表達(dá)式為( ABC ).Aa<>0B!aCa=0DaEa!=02. 選出所有合法的常量( CEGIJ )。A3e22.5B-e-3C-.1e-1D'BASIC'E'045'F0fdG0xfdaLHe8I''J"""3. 以下關(guān)于函數(shù)原型說法錯誤的是: (ADFHI)(1)對變量的定義”和“聲明”是一回事,對函數(shù)的“定義”和“聲明”也是一回事。(2)在聲明函數(shù)原型時,

12、允許只寫出參數(shù)的類型,而不必寫出參數(shù)的名稱。(3)如果在定義函數(shù)時不指定函數(shù)類型,系統(tǒng)會隱含指定函數(shù)類型為int型。(4)調(diào)用一個函數(shù)時,函數(shù)名、實(shí)參個數(shù)、實(shí)參類型必須與函數(shù)原型一致。(5)如果被調(diào)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。(6)所有的函數(shù)之間可以互相調(diào)用。(7)在C語言中,所有函數(shù)都是平行的,一個函數(shù)不能從屬于另一個函數(shù),即不能嵌套定義的。(8)如果函數(shù)沒有返回值,在定義時可以省略函數(shù)類型。(9)在C語言中,任何函數(shù)的定義都不允許為空。(10)C語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”。4. 請從下面關(guān)于指針的敘述中, 選出5個正確的敘述。(ABDEH)(1)

13、指針即地址。(2)指針須先賦值后使用。(3)當(dāng)指針p指向數(shù)組a的首址后,由于p和a都能引用數(shù)組元素,所以這里p和a是等價的。(4)int *p表示定義了一個指向int類型數(shù)據(jù)的指針變量p。(5)數(shù)組的指針是指數(shù)組的起始地址。(6)若有定義int a4,*p=a,則p+后p指向數(shù)組a所占內(nèi)存的第二個字節(jié)。(7)使用指針變量作函數(shù)參數(shù)采取的是"值傳遞"的方式。(8)相同類型的指針可以進(jìn)行減法運(yùn)算。(9)指針變量和許多變量一樣可以進(jìn)行四則運(yùn)算。(10)指針p指向數(shù)組元素a2,若要其指向a4,執(zhí)行p=p*2即可。5. 以下關(guān)于數(shù)組的敘述中,5個最確切的說法是: (BEGHI )(1

14、)在聲明一個數(shù)組變量時必須指定大小。(2)必須用常量表達(dá)式來說明一個數(shù)組變量的大小。(3)在對數(shù)組進(jìn)行初始化時大括號中的數(shù)據(jù)個數(shù)必須和數(shù)組的大小相同。(4)有變量定義int a3=0,1,2,b3;,可以用b=a,使數(shù)組b的每個元素和a的每個元素相等。(5)在C語言中,可以將字符串作為字符數(shù)組來處理。(6)定義了字符數(shù)組char c11;為了給它賦值,可以用c="china"。(7)如果有char s15="I am a0 student",則strlen(s)的值為6。(8)C語言中,二維數(shù)組中元素排列的順序是:按行存放。(9)在C語言中,不能對局部的

15、數(shù)組變量進(jìn)行初始化。(10)在聲明時對數(shù)組進(jìn)行進(jìn)行初始化必須指定數(shù)組大小。四、程序運(yùn)行結(jié)果題(每題4分,共20分)1. (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

16、);else printf("%c",a+32);else printf("*");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)行時輸入:5999,則以下程序的運(yùn)行結(jié)果(保留小數(shù)點(diǎn)后一位)是( )。void main(void)int x;float y;scanf("%d",&x);if (x>=0 && x<=

17、2999) y=18+0.12 * x;if (x>=3000 && x<=5999) 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分)以

18、下程序的功能是計算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請選擇填空。#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;ret

19、urn num;五、程序填空題(每題2分,共20分)1. 下面程序的功能是用公式:×/6=1/(1×1)+1/(2×2)+1/(3×3)+.求的近似值, 直到最后一項(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. 下面程序的功能是把以下給定的字符按其矩陣格式讀

20、入數(shù)組str1中,并輸出行列號之和是3的數(shù)組元素。void main(void)char str143='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. 以下程序的功能是用遞歸方法計算學(xué)生

21、的年齡,已知第一位學(xué)生年齡最小,為10歲,其余學(xué)生一個比一個大2歲,求第5位學(xué)生的年齡。遞歸公式如下: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) p

22、rintf("%d is ",year);else printf("%d is not ",year);printf("a leap year.n");5. 以下程序?qū)崿F(xiàn): 輸入三個整數(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,

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

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

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

26、訪問權(quán)限有三種,由符號_(12)_、_(13)_和_(14)_指定,其中具有_(15)_權(quán)限的成員只有類中的成員函數(shù)才能訪問、而具有_(16)_權(quán)限的成員在任何函數(shù)中都可訪問。7對基類成員的初始化,必須在派生類構(gòu)造函數(shù)的 (17) 中進(jìn)行。8C+源程序文件的擴(kuò)展名是 (18) ,頭文件的擴(kuò)展名是 (19) 。9若n為整型,則表達(dá)式n=(float)2/3的值是 (20) 。三、寫出程序的運(yùn)行結(jié)果1寫出程序運(yùn)行結(jié)果include <iostream.h>#include <string.h>class CRectprivate:char color10;int left;

27、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 = 0;length = 0;width = 0;CRect:CRect(char *c, int t, in

28、t 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 << "矩形左上角坐標(biāo)為(" << left <<

29、; "," << top << ")" << endl;cout << "矩形長和寬分別為" << length << "," << width << endl;cout << "矩形的顏色是" << color << endl;void main()CRect r;r.SetColor("Red");r.Move(10,20);r.SetSiz

30、e(100,200);r.Draw();r.Move(50,50);r.SetColor("Blue");r.Draw();2寫出程序運(yùn)行結(jié)果#include <iostream.h>class Aint x,y;public:A()x=0;y=0;A(int a, int b)x=a;y=b;A()if(x=y)cout << "x=y" << endl;elsecout << "x!=y" << endl;void Display()cout << "

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

32、dl;void main()A a(2), b(2);a+;+b;a. Display();b. Display();4寫出程序運(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);int func2(int n)int s = 0;for(int i=1; i<=n; i

33、+)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 _(3)_private:int K;public:B(int a, int b, int

34、c, int d)_(4)_K=d;void Show()cout << GetX() << GetY() << Z << K << endl;void main()B b(1,2,3,4);c. Show();2在主函數(shù)中定義有30個元素的數(shù)組s,函數(shù)func1()的功能是將2、4、6、56、58、60分別賦給數(shù)組元素s0、s1、s2、s27 、s28 、s29。函數(shù)func2()的功能是按順序?qū)?shù)組的每5個元素求平均值并存入數(shù)組w中(即將s0、s1、s2 、s3、s4的平均值存入w0中,s5、s6、s7 、s8、s9的平均值存入w

35、1中,)。請?zhí)羁帐钩绦蛘_運(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 main()double s30, w6;func1(s);func2(s,w);C+程序設(shè)計

36、 試題及答案(一)答案一、單項(xiàng)選擇題1C2. D3. A4. A5. B6. D7. D8.A9. c10. b二、填空題1 執(zhí)行, 成員2. 類中, 私有3. class, struct4. 25. 2, 66. 數(shù)據(jù)成員, 函數(shù)成員7. public, private, protect, 私有, 公共8. .cpp .h9. 0.5三、寫出程序的運(yùn)行結(jié)果1矩形左上角坐標(biāo)為50,50矩形長和寬分別為100,100矩形的顏色是Blue2x= 0,y=0x=2,y=3x=yx!=y3,n=3n=44, 5四、編程(根據(jù)要求填上程序缺少的部分)1. int X,Y;2. int Z;3public

37、 A4: A(a,b,c)5k+=2;6sum += si;7sum = 0;C+程序設(shè)計 試題及答案(二)一、填空題(20分,每空1分)1當(dāng)使用關(guān)鍵字_(1)_ 作為函數(shù)返回類型時,該函數(shù)不返回任何值。2在類中必須聲明成員函數(shù)的_(2)_,成員函數(shù)的_(3)_部分可以寫在類外。3如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)該是_(4)_類型或_(5)_類型。4當(dāng)一個變量被聲明為另一個變量的引用時,此變量就成為被引用變量的_(6)_。此時,對其中一個變量值的修改,_(7)_(會/不會)影響到另一個變量的值。5友員不是類的成員,但必須在_(8)_予以聲明,它具有存取類的

38、_(9)_成員的特權(quán)。6如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)該是_(10)_類型或_(11)_類型。7友員不是類的成員,但必須在_(12)_予以聲明,它具有存取類的_(13)_成員的特權(quán)。8如果需要在被調(diào)函數(shù)運(yùn)行期間,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)該是_(14)_類型或_(15)_類型。9.下面程序?qū)⒆址麛?shù)組a復(fù)制到字符數(shù)組b中。main()char a="I am a boy.",b20;int i;for(i=_(16)_;ai!='0'i+)_(17)_;_(18)_;10下面程序的功能是計算1-3+5-7

39、+-99+101的值存在s中,請?zhí)羁铡?include <stdio.h>main()int i,t=1,s=0;for(i=1;i<=101;_(19)_)s=s+i*t;t=_(20)_;二、判斷以下說法的正確性,正確的劃,錯誤的劃×(10分,每個題目2分)1如果派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個函數(shù)自動繼承基類中虛函數(shù)的特性。2在C+中,關(guān)鍵字class與struct具有完全相同的作用。3若有定義:double x35;則x數(shù)組行下標(biāo)的上限是3,下限是 1。4說明函數(shù)原型時不需要指明每個參數(shù)的類型,只需要說明每個參數(shù)的名

40、字就可以了。5如果在一個程序塊中有兩個變量具有相同的名字,并且都有效,只是它們的作用域不同,則優(yōu)先訪問作用域較大的那個變量。三、單項(xiàng)選擇題(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 << i;的輸出應(yīng)為:A) 0 B) 9 C) 10 D) 113下列有關(guān)函數(shù)重載的敘述中,錯誤的是_。A) 函數(shù)重載就是用相同的函數(shù)名定義多個函數(shù)B) 重載函數(shù)的參數(shù)列表必須不同C) 重載函數(shù)的返回值類型必須不同D) 重載

41、函數(shù)的參數(shù)可以帶有默認(rèn)值4 int *p1,*p2,a10;p1=a;p2=&a5;則p2-p1的值為:A) 無法確定 B) 10 C) 5 D) 125變量的指針,其含義是指該變量的:A) 值 B) 地址 C) 名 D) 一個標(biāo)志6. 派生類的成員函數(shù)不能訪問基類的_。A) 公有成員和保護(hù)成員 B) 公有成員C) 私有成員 D) 保護(hù)成員7數(shù)字字符0的ASCII值為48,若有以下程序void main()char a='1', b='2'cout << b+ << ”,”;cout << b-a << e

42、ndl;程序運(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)234 D)3459以下敘述中錯誤的是:A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變C)程序執(zhí)行中,數(shù)組元素的下標(biāo)越界時,系統(tǒng)給出“下標(biāo)越界”的出錯信息D)可以通過賦初值的方式確定數(shù)

43、組元素的個數(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é)果是:A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,C)0,1,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í)行下列程

44、序段后,正確的結(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=”abcdef”;char b4=”ABC”;strcpy(a,b);cout << a5;A) e B) f C) 0 D) 無輸出14下列帶缺省值參數(shù)的函數(shù)說明中,正確的說明是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

45、);D) int Fun(int x=1,int y,int z);15拷貝構(gòu)造函數(shù)的作用是:A) 進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換B) 用對象調(diào)用成員函數(shù)C) 用對象初始化對象D) 用一般類型的數(shù)據(jù)初始化對象四、寫出程序的運(yùn)行結(jié)果(20分,每題10分)1函數(shù)sub的功能是什么寫出運(yùn)行結(jié)果。1函數(shù)sub的功能是什么寫出運(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

46、;for(i=1;i<=5;i+)sum += sub(i);cout << i << "," << sum << endl;2寫出程序運(yùn)行結(jié)果#include <iostream.h>class Basepublic:void WhoAmI()cout << "Class Bass" << endl;virtual void Who()cout << "Class Bass" << endl;class Derived:

47、public Basepublic:void WhoAmI()cout << "Class Derived" << endl;void Who()cout << "Class Derived" << endl;void 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()將一個數(shù)字字符串轉(zhuǎn)換為對應(yīng)的整數(shù),請?zhí)羁?,?shí)現(xiàn)函數(shù)的功能。#include <iostream.h>int Convert(char *str);void main()char s10 = "12345"int n = Co

溫馨提示

  • 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

提交評論