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

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)試卷,C++語(yǔ)言程序設(shè)計(jì)試題及答案一、單項(xiàng)選擇題(每題1分,共20分)1.C語(yǔ)言規(guī)定:在一個(gè)源程序中,main函數(shù)的地點(diǎn)(C)。一定在最開始一定在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后邊能夠隨意一定在最后下邊四個(gè)選項(xiàng)中,均是合法浮點(diǎn)數(shù)的選項(xiàng)是(B)。+1e+103e212e-4-8e5123e+2e-1-e3.8e-43.若a=-14,b=3,則條件表達(dá)式a<b?a:b+1的值為(A)。4.已知:intn,i=1,j=2;履行語(yǔ)句n=i<j?i++:j++;則i和j的值是(c).1,2B.1,3C.2,2D.2,3為了判斷兩個(gè)字符串s1和s2能否相等,應(yīng)當(dāng)使用(D)if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)以下正確的描繪是(B)。函數(shù)的定義能夠嵌套,但函數(shù)的調(diào)用不可以夠嵌套。函數(shù)的定義不可以夠嵌套,但函數(shù)的調(diào)用能夠嵌套。函數(shù)的定義和函數(shù)的調(diào)用均不可以夠嵌套。函數(shù)的定義和函數(shù)的調(diào)用均能夠嵌套。7.在C語(yǔ)言中,下邊對(duì)函數(shù)不正確的描繪是(D)。當(dāng)用數(shù)組名作形參時(shí),形參數(shù)組值的改變能夠使實(shí)參數(shù)組之值相應(yīng)改變。同意函數(shù)遞歸調(diào)用。函數(shù)形參的作用范圍不過限制于所定義的函數(shù)內(nèi)。子函數(shù)一定位于主函數(shù)以前。8.假如在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,則以下正確的說法是(A)。該變量只在該復(fù)合語(yǔ)句中有效該變量在該函數(shù)中有效該變量在本程序范圍內(nèi)均有效該變量為非法變量以下正確的函數(shù)形式是(D)。doublefun(intx,inty){z=x+y;returnz;}fun(intx,y){intz;returnz;}fun(x,y){intx,y;doublez;z=x+y;returnz;}doublefun(intx,inty){doublez;z=x+y;returnz;}以下程序的輸出結(jié)果是(B)。#include<>#defineF(y)#definePRINT(a)printf("%d",(int)(a))voidmain(void){intx=2;PRINT(x*F(3));}A.10B.13C.11D.報(bào)錯(cuò)以下程序中編譯和運(yùn)轉(zhuǎn)結(jié)果均正確的一個(gè)是(C)。A.voidmain(void){union{intn;floatx;}comm={1};printf("%d",;}B.voidmain(void){union{intn;floatx;}comm={};printf("%f",;}C.voidmain(void){union{floatx;intn;}comm={}printf("%f",;}D.voidmain(void){union{intn;floatx;}comm=5;printf("%d",;}12.設(shè)有定義:inta=1,*p=&a;floatb=;charc='A';以下不合法的運(yùn)算是(A)。p++;B.a--;C.b++;D.c--;13.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原由是main( ){

(B)

。int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}A.*p表示的是指針變量p的地點(diǎn)*p表示的是變量a的值,而不是變量a的地點(diǎn)*p只好用來說明p是一個(gè)指針變量14.若num、a、b和c都是int型變量,則履行表達(dá)式num=(a=4,b=16,c=32);后num的值為(C)。A.15.已有以下定義和輸入語(yǔ)句,若要求a1,a2,c1,c2始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是(C),(注:_intal,a2,charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

的值分別為表示空格)

10,20,A

和B,當(dāng)從第一列開16.如有說明:inta[10];則對(duì)a數(shù)組元素的正確引用是(C)。a[10]B.a[]C.a[5-3]D.a[-1]17.在C語(yǔ)言中,一維數(shù)組的定義方式為種類說明符數(shù)組名;(A)A.[整型常量表達(dá)式]B.[表達(dá)式]C.[整型常量]D.[整型表達(dá)式]以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是(C)。ina[10]=(0,,0,0);B.inta[10]={};C.inta[]={0};D.inta[10]={10*1};以下程序段(C)。x=-1;do{x=x*x;}while(!x);是死循環(huán)B.循環(huán)履行二次C.循環(huán)履行一次D.有語(yǔ)法錯(cuò)誤以下對(duì)于do-while循環(huán)的不正確描繪是(B)。do-while的循環(huán)體最少履行一次B.do-while循環(huán)由do開始,用whileC.在do-while循環(huán)體中,必定要有能使

結(jié)束,在while

while(表達(dá)式)后邊不可以寫分號(hào)后邊表達(dá)式的值變成零("假")的操作do-while的循環(huán)體能夠是復(fù)合語(yǔ)句二、是非判斷題(每題1分,共15分)1.C語(yǔ)言規(guī)定,表記符中的字母一般劃分大、小寫。T2.控制臺(tái)標(biāo)準(zhǔn)輸入設(shè)施一般是指鍵盤。T3.使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語(yǔ)句以前辦理。T循環(huán)體中continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的履行。F關(guān)系表達(dá)式的值是0或1。T6.如有說明:inta[3][4]={0},則只有元素a[0][0]可獲得初值0。T7.字符串作為一維數(shù)組寄存在內(nèi)存中。T8.字符數(shù)組中的一個(gè)元素寄存一個(gè)字符T。字符數(shù)組中的最后一個(gè)字符一定是'\0'。F形參為指針變量時(shí),實(shí)參一定是數(shù)組名。F用數(shù)組名作函數(shù)參數(shù)時(shí)傳達(dá)的是數(shù)組的值。F全局變量能夠被任何一個(gè)函數(shù)中的任何一個(gè)表達(dá)式使用。T一個(gè)函數(shù)能夠帶回一個(gè)整型值、字符值、實(shí)型值等,也能夠帶回指針型的數(shù)據(jù)。表達(dá)式i++與++i在任何場(chǎng)合功能完整相同。在賦值表達(dá)式中,賦值號(hào)左側(cè)的變量和右側(cè)的表達(dá)式之值的數(shù)據(jù)種類能夠不相同。三、多項(xiàng)選擇題(每題1分,共5分)1.若要求在if后一對(duì)圓跨括號(hào)中表示a不等于0的關(guān)系,則不可以正確表示這一關(guān)系的表達(dá)式為(ABC).A.a(chǎn)<>0B.!aC.a(chǎn)=0D.a(chǎn)E.a(chǎn)!=0選出全部合法的常量(CEGIJ)。A.B.-e-3C.D.'BASIC'E.'\045'F.0fdG.0xfdaLH.e8I.'\\'J."\""3.以下對(duì)于函數(shù)原型說法錯(cuò)誤的選項(xiàng)是:(ADFHI)對(duì)變量的定義”和“申明”是一回事,對(duì)函數(shù)的“定義”和“申明”也是一回事。在申明函數(shù)原型時(shí),同意只寫出參數(shù)的種類,而不用寫出參數(shù)的名稱。(3)假如在定義函數(shù)時(shí)不指定函數(shù)種類,系統(tǒng)會(huì)隱含指定函數(shù)種類為int型。調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名、實(shí)參個(gè)數(shù)、實(shí)參種類一定與函數(shù)原型一致。假如被調(diào)函數(shù)的定義出此刻主調(diào)函數(shù)以前,能夠不用加以申明。全部的函數(shù)之間能夠相互調(diào)用。在C語(yǔ)言中,全部函數(shù)都是平行的,一個(gè)函數(shù)不可以隸屬于另一個(gè)函數(shù),即不可以嵌套定義的。假如函數(shù)沒有返回值,在定義時(shí)能夠省略函數(shù)種類。在C語(yǔ)言中,任何函數(shù)的定義都不一樣意為空。(10)C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳達(dá)是“值傳達(dá)”。請(qǐng)從下邊對(duì)于指針的表達(dá)中,選出5個(gè)正確的表達(dá)。(ABDEH)指針即地點(diǎn)。(2)指針須先賦值后使用。(3)當(dāng)指針p指向數(shù)組a的首址后,因?yàn)?/p>

p和

a都能引用數(shù)組元素,因此這里

p和

a是等價(jià)的。(4)int*p

表示定義了一個(gè)指向

int

種類數(shù)據(jù)的指針變量

p。數(shù)組的指針是指數(shù)組的初步地點(diǎn)。如有定義inta[4],*p=a,則p++后p指向數(shù)組a所占內(nèi)存的第二個(gè)字節(jié)。使用指針變量作函數(shù)參數(shù)采納的是"值傳達(dá)"的方式。相同種類的指針能夠進(jìn)行減法運(yùn)算。指針變量和很多變量相同能夠進(jìn)行四則運(yùn)算。(10)指針p指向數(shù)組元素a[2],若要其指向a[4],履行p=p*2即可。以下對(duì)于數(shù)組的表達(dá)中,5個(gè)最的確的說法是:(BEGHI)在申明一個(gè)數(shù)組變量時(shí)一定指定大小。一定用常量表達(dá)式來說明一個(gè)數(shù)組變量的大小。在對(duì)數(shù)組進(jìn)行初始化時(shí)大括號(hào)中的數(shù)據(jù)個(gè)數(shù)一定和數(shù)組的大小相同。有變量定義inta[3]={0,1,2},b[3];,能夠用b=a,使數(shù)組b的每個(gè)元素和a的每個(gè)元素相等。在C語(yǔ)言中,能夠?qū)⒆址鳛樽址麛?shù)組來辦理。(6)定義了字符數(shù)組charc[11];為了給它賦值,能夠用c="china";。(7)假如有chars[15]={"Iama\0student"};,則strlen(s)的值為6。(8)C語(yǔ)言中,二維數(shù)組中元素?cái)[列的次序是:按行寄存。在C語(yǔ)言中,不可以對(duì)局部的數(shù)組變量進(jìn)行初始化。在申明時(shí)對(duì)數(shù)組進(jìn)行進(jìn)行初始化一定指定數(shù)組大小。四、程序運(yùn)轉(zhuǎn)結(jié)果題(每題4分,共20分)(4分)下邊程序的運(yùn)轉(zhuǎn)結(jié)果是(①)。#include<>voidmain(void){inti;chara[]="Time",b[]="Tom";for(i=0;a!='\0'&&b!='\0';i++)if(a==b)if(a>='a'&&a<='z')printf("%c",a-32);elseprintf("%c",a+32);elseprintf("*");}(4分)下邊程序段的運(yùn)轉(zhuǎn)結(jié)果是(①)。i=1;s=3do{s+=i++;if(s%7==0)continue;else++i;}whlie(s<15);printf("%d",i);(4分)若運(yùn)轉(zhuǎn)時(shí)輸入:5999,則以下程序的運(yùn)轉(zhuǎn)結(jié)果(保存小數(shù)點(diǎn)后一位)是(①)。voidmain(void){intx;floaty;scanf("%d",&x);if(x>=0&&x<=2999)y=18+*x;if(x>=3000&&x<=5999)y=36+*x;if(x>=6000&&x<=10000)y=54+*x;printf("%",y);}(4分)以下程序的運(yùn)轉(zhuǎn)結(jié)果是(①)。voidmain(void){inta=1,k;for(k=0;k<3;k++)printf("%4d",f1(a))}intf1(intx){staticintz=3,y=0;y++;z++;return(x+y+z);}(4分)以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,請(qǐng)選擇填空。#include<stdio,h>#include<>floatfun1(float,float);voidmain(void){floatx,y,z,sum;scanf("%f%f%",&x,&y,&z);sum=fun1(①)+fun1(②);printf("sum=%f\n",sum);}floatfun1(floata,floatb){floatnum;num=a/b;returnnum;}五、程序填空題(每題2分,共20分)1.下邊程序的功能是用公式:π×π/6=1/(1×1)+1/(2×2)+1/(3×3)+......求π的近似值,直到最后一項(xiàng)的值小于10e-6為止。#include<>#include<>voidmain(void){longi=1;①pi=0;while(i*i<=10e+6){pi=

;i++;}pi=sqrt*pi);printf("pi=%\n",pi);}2.下邊程序的功能是把以下給定的字符按其矩陣格式讀入數(shù)組str1中,并輸出隊(duì)列號(hào)之和是3的數(shù)組元素。voidmain(void){charstr1[4][3]={'A','b','C','d','E','f','G','h','I','j','K','i'};intx,y,z;for(x=0;x<4;x++)for(y=0;①;y++){z=x+y;if(②)printf("%c\n",str1[x][y]);}}3.以下程序的功能是用遞歸方法計(jì)算學(xué)生的年紀(jì),已知第一位學(xué)生年紀(jì)最小,為10歲,其他學(xué)生一個(gè)比一個(gè)大2歲,求第5位學(xué)生的年紀(jì)。遞歸公式以下:age(1)=10age(n)=age(n-1)+2(n>1)#include<>intage(intn){intc;if(n==1)c=10;elsec=①;returnc;}以下程序的功能是判斷輸入的年份是不是閏年。voidmain(void){intyear,yes;scanf("%d",&year);if(year%400==0)yes=1;elseif(①)yes=1;else②;if(yes)printf("%dis",year);elseprintf("%disnot",year);printf("aleapyear.\n");}以下程序?qū)崿F(xiàn):輸入三個(gè)整數(shù),按從大到小的次序進(jìn)行輸出。voidmain(void){intx,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è)float型數(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)‘W’D)‘’2.以下字符串中不可以作為C++表記符使用的是:A)WHILEB)userC)_1varD)9stars3.履行語(yǔ)句序列的輸出結(jié)果是______。inti=0;while(i<25)i+=3;cout<<i;A)24B)25C)27D)284.以下符號(hào)中能夠用作C++表記符的是______。A)radiusB)foo~barC)elseD)3room5.若a是int種類變量,則表達(dá)式a=25/3%3的值是:A)3B)2C)1D)06.以下表達(dá)中不正確的選項(xiàng)是:在不一樣的函數(shù)中能夠使用相同名字的變量函數(shù)中的形參是局部變量在一個(gè)函數(shù)內(nèi)部定義的變量只在本函數(shù)范圍內(nèi)有效在一個(gè)函數(shù)內(nèi)部定義的變量在全部函數(shù)內(nèi)部有效7.變量的引用,其含義是指該變量的:A.值B.種類C.別名D.地點(diǎn)8.已知定義:chars[10];則下邊不表示s[1]的地點(diǎn)的是:A.s+1B.*(s+1)C.&s[0]+1D.&s[1]9.平常拷貝結(jié)構(gòu)函數(shù)的參數(shù)是:A.對(duì)象B.對(duì)象的成員C.對(duì)象的引用D.對(duì)象的指針10.派生類對(duì)象的結(jié)構(gòu)次序是先調(diào)用:A.派生類的結(jié)構(gòu)函數(shù)B.基類的結(jié)構(gòu)函數(shù)C.內(nèi)嵌對(duì)象的結(jié)構(gòu)函數(shù)D.友元類的結(jié)構(gòu)函數(shù)二、填空題1.動(dòng)向多態(tài)是指在___(1)____時(shí)才確立使用哪個(gè)___(2)___函數(shù)的方式。2.友員不是類的成員,但一定在___(3)__予以申明,它擁有存取類的__(4)__成員的特權(quán)。3.C++中class與struct(6)_的成員為公有的。

的主要差別是在缺省接見權(quán)限時(shí),

__(5)_的成員為私有的,而

__4.如有定義語(yǔ)句:

inta=3,b=2;

,則表達(dá)式

a<b?a:b

的值是___(7)____

。5.表達(dá)式:

26%3=___(8)____,32/5=___(9)____

。6.類的成員包含__(10)__和___(11)___兩種,在面向?qū)ο蟮男g(shù)語(yǔ)中,前者稱為屬性、后者稱為方法。其接見權(quán)限有三種,由符號(hào)__(12)___、__(13)__和_(14)_指定,此中擁有__(15)_限的成員只有類中的成員函數(shù)才能接見、而擁有__(16)__權(quán)限的成員在任何函數(shù)中都可接見。

權(quán)7.對(duì)基類成員的初始化,一定在派生類結(jié)構(gòu)函數(shù)的(17)中進(jìn)行。8.C++源程序言件的擴(kuò)展名是

(18)

,頭文件的擴(kuò)展名是

(19)

。9.若

n為整型,則表達(dá)式

n=(float)2/3

的值是

(20)

。三、寫出程序的運(yùn)轉(zhuǎn)結(jié)果1.寫出程序運(yùn)轉(zhuǎn)結(jié)果include<>#include<>classCRect{private:charcolor[10];intleft;inttop;intlength;intwidth;public:CRect( );CRect(char*c,intt,intlef,intlen,intwid);voidSetColor(char*c);voidSetSize(intl=100,intw=100);voidMove(intt,intl);voidDraw( );};CRect::CRect( ){strcpy(color,"Black");top=0;left=0;length=0;width=0;}CRect::CRect(char*c,intt,intlef,intlen,intwid){strcpy(color,c);top=t;left=lef;length=len;width=wid;}voidCRect::SetColor(char*c){strcpy(color,c);}voidCRect::SetSize(intl,intw){length=l;width=w;}voidCRect::Move(intt,intl){top=t;left=l;}voidCRect::Draw( ){cout<<"矩形左上角坐標(biāo)為("<<left<<","<<top<<")"<<endl;cout<<"矩形長(zhǎng)和寬分別為"<<length<<","<<width<<endl;cout<<"矩形的顏色是"<<color<<endl;}voidmain( ){CRectr;("Red");(10,20);(100,200);( );(50,50);("Blue");( );}2.寫出程序運(yùn)轉(zhuǎn)結(jié)果#include<>classA{intx,y;public:A( ){x=0;y=0;}A(inta,intb){x=a;y=b;}~A( ){if(x==y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;}voidDisplay( ){cout<<"x="<<x<<",y="<<y<<endl;}};voidmain( ){Aa1,a2(2,3);( );( );}3.寫出程序運(yùn)轉(zhuǎn)結(jié)果#include<>classA{private:intn;public:A(inti){n=i;}operator++( ){n++;}operator++(int){n+=2;}voidDisplay( ){cout<<"n="<<n<<endl;}};voidmain( ){Aa(2),b(2);a++;++b;Display( );Display( );}4.寫出程序運(yùn)轉(zhuǎn)結(jié)果#include<>intfunc1(intn);intfunc2(intn);voidmain( ){intsum;sum=func2(5);cout<<sum<<endl;}intfunc1(intn){if(n==1)return1;elsereturnn*func1(n-1);}intfunc2(intn){ints=0;for(inti=1;i<=n;i++)s+=func1(i);returns;}四、編程(依據(jù)要求填上程序缺乏的部分)1.達(dá)成以下的程序,使得輸出為:1234#include<>#include<>classA{private:________(1)___________protected:________(2)__________public:A(inta,intb,intc){X=a;Y=b;Z=c;}intGetX( ){returnX;}intGetY( ){returnY;}intGetZ( ){returnZ;}};classB_____(3)_______{private:intK;public:B(inta,intb,intc,intd)_______(4)_________{K=d;}voidShow( ){cout<<GetX( )<<GetY( )<<Z<<K<<endl;}};voidmain( ){Bb(1,2,3,4);c.Show( );}2.在主函數(shù)中定義有30個(gè)元素的數(shù)組s,函數(shù)func1()的功能是將2、4、6、、56、58、60分別賦給數(shù)組元素s[0]、s[1]、s[2]、、s[27]、s[28]、s[29]。函數(shù)func2()的功能是按次次將數(shù)組的每5個(gè)元素求均勻值并存入數(shù)組w中(馬上s[0]、s[1]、s[2]、s[3]、s[4]的均勻值存入w[0]中,s[5]、s[6]、s[7]、s[8]、s[9]的均勻值存入w[1]中,)。請(qǐng)?zhí)羁帐钩绦蛘_運(yùn)轉(zhuǎn)。#include<>#include<>voidfunc1(doubles[]){inti,k;for(k=2,i=0;i<30;i++){s[i]=k;______(5)_________}}voidfunc2(doubles[],doublew[]){doublesum;inti,k;for(k=0,i=0,sum=0;i<30;i++){_________(6)___________if((i+1)%5==0){w[k]=sum/5;_________(7)__________k++;}}}voidmain( ){doubles[30],w[6];func1(s);func2(s,w);}C++程序設(shè)計(jì)試題及答案(一)答案一、單項(xiàng)選擇題1.CDAABDDcb二、填空題1.履行,成員2.類中,私有3.class,struct4.25.2,66.數(shù)據(jù)成員,函數(shù)成員7.public,private,protect,私有,公共8..cpp.h9.三、寫出程序的運(yùn)轉(zhuǎn)結(jié)果1.矩形左上角坐標(biāo)為50,50矩形長(zhǎng)和寬分別為100,100矩形的顏色是Blue2.x=0,y=0x=2,y=3x=yx!=y3,n=3n=44,5四、編程(依據(jù)要求填上程序缺乏的部分)intX,Y;intZ;3.publicA4.:A(a,b,c)5.k+=2;6.sum+=s[i];7.sum=0;C++程序設(shè)計(jì)試題及答案(二)一、填空題(20分,每空1分)1.當(dāng)使用要點(diǎn)字__(1)_作為函數(shù)返回種類時(shí),該函數(shù)不返回任何值。2.在類中一定申明成員函數(shù)的__(2)__,成員函數(shù)的_(3)_部分能夠?qū)懺陬愅狻?.假如需要在被調(diào)函數(shù)運(yùn)轉(zhuǎn)時(shí)期,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)當(dāng)是4___5__

_4.當(dāng)一個(gè)變量被申明為另一個(gè)變量的引用時(shí),此變量就成為被引用變量的此中一個(gè)變量值的改正,__(7)_(會(huì)/不會(huì))影響到另一個(gè)變量的值。

__(6)__

。此時(shí),對(duì)5.友員不是類的成員,但一定在___(8)__予以申明,它擁有存取類的_(9)__成員的特權(quán)。6.假如需要在被調(diào)函數(shù)運(yùn)轉(zhuǎn)時(shí)期,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)當(dāng)是__(10)__種類或___(11)_種類。7.友員不是類的成員,但一定在___(12)__予以申明,它擁有存取類的_(13)__成員的特權(quán)。8.假如需要在被調(diào)函數(shù)運(yùn)轉(zhuǎn)時(shí)期,改變主調(diào)函數(shù)中實(shí)參變量的值,則函數(shù)的形參應(yīng)當(dāng)是__(14)__種類或___(15)_種類。下邊程序?qū)⒆址麛?shù)組a復(fù)制到字符數(shù)組b中。main( ){chara[]="Iamaboy.",b[20];inti;for(i=__(16)_;a[i]!='\0';i++){___(17)___;}____(18)___;}10.下邊程序的功能是計(jì)算1-3+5-7+-99+101的值存在s中,請(qǐng)?zhí)羁铡?include<>main( ){inti,t=1,s=0;for(i=1;i<=101;__(19)__){s=s+i*t;t=_(20)__;}}二、判斷以下說法的正確性,正確的劃√,錯(cuò)誤的劃×(10分,每個(gè)題目2分)1.假如派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個(gè)函數(shù)自動(dòng)繼承基類中虛函數(shù)的特征。2.在C++中,要點(diǎn)字class與struct擁有完整相同的作用。3.如有定義:doublex[3][5];則x數(shù)組行下標(biāo)的上限是3,下限是1。4.說明函數(shù)原型時(shí)不需要指明每個(gè)參數(shù)的種類,只要要說明每個(gè)參數(shù)的名字就能夠了。5.假如在一個(gè)程序塊中有兩個(gè)變量擁有相同的名字,而且都有效,不過它們的作用域不一樣,則優(yōu)先接見作用域較大的那個(gè)變量。三、單項(xiàng)選擇題(30分,每題2分)1.程序段inta,b;a=5;b=a++;cout<<b;的輸出應(yīng)為:A)4B)5C)6D)72.程序段inti,a;for(i=0;i<=10;i++)a=i;cout<<i;的輸出應(yīng)為:A)0B)9C)10D)113.以下相關(guān)函數(shù)重載的表達(dá)中,錯(cuò)誤的選項(xiàng)是______。函數(shù)重載就是用相同的函數(shù)名定義多個(gè)函數(shù)重載函數(shù)的參數(shù)列表一定不一樣重載函數(shù)的返回值種類一定不一樣重載函數(shù)的參數(shù)能夠帶有默認(rèn)值4.int*p1,*p2,a[10];p1=a;p2=&a[5];則p2-p1的值為:A)沒法確立B)10C)5D)125.變量的指針,其含義是指該變量的:A)值B)地點(diǎn)C)名D)一個(gè)標(biāo)記派生類的成員函數(shù)不可以接見基類的______。A)公有成員和保護(hù)成員B)公有成員C)私有成員D)保護(hù)成員7.?dāng)?shù)字字符0的ASCII值為48,如有以下程序voidmain( ){chara='1',b='2';cout<<b++<<”,”;cout<<b-a<<endl;}程序運(yùn)轉(zhuǎn)后的輸出結(jié)果是:A)3,2B)50,2C)2,2D)2,508.有以下程序voidmain( ){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout<<a[1][i];}程序運(yùn)轉(zhuǎn)后的輸出結(jié)果是:A)012B)123C)234D)3459.以下表達(dá)中錯(cuò)誤的選項(xiàng)是:A)對(duì)于double種類數(shù)組,不可以夠直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占儲(chǔ)存區(qū)的首地點(diǎn),其值不行改變C)程序履行中,數(shù)組元素的下標(biāo)越界時(shí),系統(tǒng)給出“下標(biāo)越界”的犯錯(cuò)信息D)能夠經(jīng)過賦初值的方式確立數(shù)組元素的個(gè)數(shù)10.有以下程序voidmain( ){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)cout<<*p<<“,”;}程序運(yùn)轉(zhuǎ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.有以下程序voidmain( ){intc=35;intb=c&c;cout<<b;}程序運(yùn)轉(zhuǎn)后的輸出結(jié)果是:A)0B)70C)35D)112.履行以下程序段后,正確的結(jié)果是:inti=0,s=1;while(i<3){s+=i;i++;}cout<<s;A)5B)6C)4D)313.履行以下程序段后,正確的結(jié)果是:chara[7]=”abcdef”;charb[4]=”ABC”;strcpy(a,b);cout<<a[5];A)eB)fC)0D)無輸出14.以下帶缺省值參數(shù)的函數(shù)說明中,正確的說明是intFun(intx,inty=2,intz=3);intFun(intx=1,inty,intz=3);intFun(intx,inty=2,intz);intFun(intx=1,inty,intz);15.拷貝結(jié)構(gòu)函數(shù)的作用是:進(jìn)行數(shù)據(jù)種類的變換用對(duì)象調(diào)用成員函數(shù)用對(duì)象初始化對(duì)象用一般種類的數(shù)據(jù)初始化對(duì)象四、寫出程序的運(yùn)轉(zhuǎn)結(jié)果(20分,每題10分)1.函數(shù)sub的功能是什么?寫出運(yùn)轉(zhuǎn)結(jié)果。1.函數(shù)sub的功能是什么?寫出運(yùn)轉(zhuǎn)結(jié)果。#include<>longsub(intnum){inti;longsubsum=1;for(i=1;i<=num;i++)subsum*=i;return(subsum);}voidmain( ){inti;longsum=0;for(i=1;i<=5;i++){sum+=sub(i);cout<<i<<","<<sum<<endl;}}2.寫出程序運(yùn)轉(zhuǎn)結(jié)果#include<>classBase{public:voidWhoAmI( ){cout<<"ClassBass"<<endl;}virtualvoidWho( ){cout<<"ClassBass"<<endl;}};classDerived:publicBase{public:voidWhoAmI( ){cout<<"ClassDerived"<<endl;}voidWho( ){cout<<"ClassDerived"<<endl;}};voidmain( ){Base*p;Baseb;Derivedd;p=&b;p->WhoAmI( );p->Who( );p=&d;p->WhoAmI( );p->Who( );}五、編程(依據(jù)要求填上程序缺乏的部分)(20分,每題10分)1.函數(shù)Convert()將一個(gè)數(shù)字字符串變換為對(duì)應(yīng)的整數(shù),請(qǐng)?zhí)羁?,?shí)現(xiàn)函數(shù)的功能。#include<>intConvert(char*str);voidmain( ){chars[10]="12345";intn=Convert(s);cout<<n<<endl;}intConvert(char*str){intnum=0,digit;for(inti=0;(1);i++){digit=(2);num=num*10+digit;}returnnum;}2.函數(shù)Convert()將一個(gè)數(shù)字字符串變換為對(duì)應(yīng)的整數(shù),請(qǐng)?zhí)羁眨瑢?shí)現(xiàn)函數(shù)的功能。#include<>intConvert(char*str);voidmain( ){chars[10]="12345";intn=Convert(s);cout<<n<<endl;}intConvert(char*str){intnum=0,digit;for(inti=0;(3);i++){digit=(4);num=num*10+digit;}returnnum;}C++程序設(shè)計(jì)試題及答案(二)一、填空題1.void2.函數(shù)頭,函數(shù)體3.引用,指針4.別名,會(huì)5.類中,私有6.引用,指針7.類中,私有8.引用,指針a[i]=b[i]a[i]='\0'i=i+2二、判斷以下說法的正確性1.√××××三、單項(xiàng)選擇題1.C2.B3.A4.D5.BDBADBDBAC四、寫出程序的運(yùn)轉(zhuǎn)結(jié)果1.從1連乘到num5,1532.ClassBassClassBassClassDerivedClassDerived五、編程(依據(jù)要求填上程序缺乏的部分)1.(1)i<strlen(str)(2)str[i]2.(1)i<10(2)s[i]C++程序設(shè)計(jì)試題及答案(三)時(shí)間:2011-07-1718:54根源:未知作者:admin點(diǎn)擊:2840次標(biāo)簽:C++程序設(shè)計(jì)試題及答案(三)學(xué)號(hào):專業(yè):層次:姓名:題號(hào)一二三四五六七八九十總分得分注意:全部答案都要寫在答題卡上一、單項(xiàng)選擇題1.設(shè)有數(shù)組定義:chararray[]=China;則數(shù)組array所占的空間為:A)4個(gè)字節(jié)B)5個(gè)字節(jié)C)6個(gè)C++程序設(shè)計(jì)試題及答案(三)學(xué)號(hào):專業(yè):層次:姓名:題號(hào)一二三四五六七八九十總分得分注意:全部答案都要寫在答題卡上一、單項(xiàng)選擇題1.設(shè)有數(shù)組定義:chararray[]=”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)轉(zhuǎn)時(shí)多態(tài)性沒關(guān)的是______。A)重載函數(shù)B)虛函數(shù)C)指針D)引用3.若a是int種類變量,則計(jì)算表達(dá)式a=1000%999的值是:A)0B)1C)2D)34.下邊程序段中,for循環(huán)的履行次數(shù)是:inti=10;for(i=1;i<10;i++)cout<<“*”;A)9B)10C)8D)75.有以下程序voidmain( ){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)cout<<a[1][i];}程序運(yùn)轉(zhuǎn)后的輸出結(jié)果是:A)012B)123C)234D)3456.以下表達(dá)中錯(cuò)誤的選項(xiàng)是:A)對(duì)于double種類數(shù)組,不可以夠直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占儲(chǔ)存區(qū)的首地點(diǎn),其值不行改變C)程?蛑蔥兄校??樵?氐南鹵暝澆縭保?低掣??ldquo;下標(biāo)越界”的犯錯(cuò)信息D)能夠經(jīng)過賦初值的方式確立數(shù)組元素的個(gè)數(shù)7.有以下程序voidmain( ){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)cout<<*p<<“,”;}程序運(yùn)轉(zhuǎ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,8.有以下函數(shù)模板定義:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在以下對(duì)func()的調(diào)用中,錯(cuò)誤的選項(xiàng)是A)func(3,5);

B)func,C)func(3,

D)func((double)3,9.有以下類申明:classA{intx;public:A(intn){x=n;}};classB:publicA{inty;public:B(inta,intb);};以下函數(shù)中哪一個(gè)是正確的結(jié)構(gòu)函數(shù)B::B(inta,intb):x(a),y(b){}B::B(inta,intb):A(a),y(b){}B::B(inta,intb):x(a),B(b){}B::B(inta,intb):A(a),B(b){}10.類的析構(gòu)函數(shù)的作用是A)對(duì)象的初始化B)刪除對(duì)象時(shí)的清理任務(wù)C)與一般成員函數(shù)相同D)類的初始化二、填空題1.若要接見指針變量p所指向的數(shù)據(jù),應(yīng)使用表達(dá)式__(1)__。2.面向?qū)ο蟪绦蛟O(shè)計(jì)中的多態(tài)性包含靜態(tài)多態(tài)性和動(dòng)向多態(tài)性,前者由_(2)_系統(tǒng)支持,而后者則由__(3)___系統(tǒng)支持。3.引入虛基類的目的是為認(rèn)識(shí)決多重繼承中的____(4)___和___(5)___問題。4、有一種只在循環(huán)語(yǔ)句或switch語(yǔ)句中使用的流程控制語(yǔ)句,表示該語(yǔ)句的要點(diǎn)字是___(6)_。5.下邊程序的功能是計(jì)算1-3+5-7+-99+101的值存在s中,請(qǐng)?zhí)羁铡?include<>main( ){inti,t=1,s=0;for(i=1;i<=101;__(7)__){s=s+i*t;t=_(8)__;}}6.在C++語(yǔ)言中,邏輯假用___(9)___表示。7.類的成員包含__(10)___和__(11)___兩種,在面向?qū)ο蟮男g(shù)語(yǔ)中,前者稱為屬性、后者稱為方法。其接見權(quán)限有三種,由符號(hào)__(12)___、__(13)__和__(14)__指定,此中擁有__(15)__權(quán)限的成員只有類中的成員函數(shù)才能接見、而擁有__(16)__權(quán)限的成員在任何函數(shù)中都可接見。8.結(jié)構(gòu)函數(shù)是一個(gè)特別的成員函數(shù),其特別性表此刻創(chuàng)立對(duì)象時(shí)會(huì)___(17)___。結(jié)構(gòu)函數(shù)名一定與__(18)__相同。9.函數(shù)重載是指一組函數(shù)擁有相同的__(19)___,在函數(shù)調(diào)用時(shí),編譯程序依據(jù)__(20)__個(gè)數(shù)和種類確立使用那一個(gè)版本。三、判斷以下說法的正確性,正確的劃√,錯(cuò)誤的劃×1.析構(gòu)函數(shù)是一個(gè)函數(shù)體為空的成員函數(shù)。2.函數(shù)重載能夠?qū)崿F(xiàn)動(dòng)向多態(tài),虛函數(shù)能夠?qū)崿F(xiàn)靜態(tài)多態(tài)。3.如有定義:doublex[3][5];則x數(shù)組列下標(biāo)的上限是5,下限是1。4.不可以在類的結(jié)構(gòu)函數(shù)中對(duì)其靜態(tài)數(shù)據(jù)成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論