版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
..C語言程序設(shè)計(jì)試卷,C++語言程序設(shè)計(jì)試題及答案一、單項(xiàng)選擇題<每題1分,共20分>C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置<C>。必須在最開始必須在系統(tǒng)調(diào)用的庫函數(shù)的后面可以任意必須在最后2.下面四個(gè)選項(xiàng)中,均是合法浮點(diǎn)數(shù)的選項(xiàng)是<B>。+1e+15e-9.403e2-.6012e-4-8e5123e1.2e-.4+2e-1-e3.8e-45.e-03.若a=-14,b=3,則條件表達(dá)式a<b?a:b+1的值為<A>。-14B.-13C.3D.44.已知:intn,i=1,j=2;執(zhí)行語句n=i<j?i++:j++;則i和j的值是<c>.1,2B.1,3C.2,2D.2,35.為了判斷兩個(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>6.以下正確的描述是<B>。函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套。函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套。函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套。7.在C語言中,下面對函數(shù)不正確的描述是<D>。當(dāng)用數(shù)組名作形參時(shí),形參數(shù)組值的改變可以使實(shí)參數(shù)組之值相應(yīng)改變。允許函數(shù)遞歸調(diào)用。函數(shù)形參的作用范圍只是局限于所定義的函數(shù)內(nèi)。子函數(shù)必須位于主函數(shù)之前。8.如果在一個(gè)函數(shù)中的復(fù)合語句中定義了一個(gè)變量,則以下正確的說法是<A>。該變量只在該復(fù)合語句中有效該變量在該函數(shù)中有效該變量在本程序范圍內(nèi)均有效該變量為非法變量9.以下正確的函數(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;}10.以下程序的輸出結(jié)果是<B>。#include<stdio.h>#defineF<y>8.19-y#definePRINT<a>printf<"%d",<int><a>>voidmain<void>{intx=2;PRINT<x*F<3>>;}10B.13C.11D.報(bào)錯(cuò)11.以下程序中編譯和運(yùn)行結(jié)果均正確的一個(gè)是<C>。A.voidmain<void>{union{intn;floatx;}comm={1};printf<"%d",comm.n>;}B.voidmain<void>{union{intn;floatx;}comm={12.5};printf<"%f",comm.x>;}C.voidmain<void>{union{floatx;intn;}comm={12.5}printf<"%f",comm.x>;}D.voidmain<void>{union{intn;floatx;}comm=5;printf<"%d",comm.n>;}12.設(shè)有定義:inta=1,*p=&a;floatb=2.0;charc='A';以下不合法的運(yùn)算是<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<"inputa:">;scanf<"%d",*p>;…}*p表示的是指針變量p的地址*p表示的是變量a的值,而不是變量a的地址*p表示的是指針變量p的值*p只能用來說明p是一個(gè)指針變量14.若num、a、b和c都是int型變量,則執(zhí)行表達(dá)式num=<a=4,b=16,c=32>;后num的值為<C>。4B.16C.32D.5215.已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是<C>,<注:_表示空格>intal,a2,charc1,c2;scanf<"%d%c%d%c",&a1,&c1,&a2,&c2>;10A_20_BB.10_A_20_BC.10A20BD.10A20_B16.若有說明:inta[10];則對a數(shù)組元素的正確引用是<C>。a[10]B.a[3.5]C.a[5-3]D.a[-1]17.在C語言中,一維數(shù)組的定義方式為類型說明符數(shù)組名;<A>[整型常量表達(dá)式]B.[表達(dá)式]C.[整型常量]D.[整型表達(dá)式]18.以下能對一維數(shù)組a進(jìn)行正確初始化的語句是<C>。ina[10]=<0,0.0,0,0>;inta[10]={};C.inta[]={0};D.inta[10]={10*1};19.以下程序段<C>。x=-1;do{x=x*x;}while<!x>;是死循環(huán)B.循環(huán)執(zhí)行二次C.循環(huán)執(zhí)行一次D.有語法錯(cuò)誤20.以下關(guān)于do-while循環(huán)的不正確描述是<B>。do-while的循環(huán)體至少執(zhí)行一次do-while循環(huán)由do開始,用while結(jié)束,在while<表達(dá)式>后面不能寫分號(hào)在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?lt;"假">的操作do-while的循環(huán)體可以是復(fù)合語句二、是非判斷題<每題1分,共15分>C語言規(guī)定,標(biāo)識(shí)符中的字母一般區(qū)分大、小寫。T控制臺(tái)標(biāo)準(zhǔn)輸入設(shè)備一般是指鍵盤。T使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語句之前處理。T循環(huán)體中continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行。F關(guān)系表達(dá)式的值是0或1。T若有說明:inta[3][4]={0},則只有元素a[0][0]可得到初值0。T字符串作為一維數(shù)組存放在內(nèi)存中。T字符數(shù)組中的一個(gè)元素存放一個(gè)字符T。字符數(shù)組中的最后一個(gè)字符必須是'\0'。F形參為指針變量時(shí),實(shí)參必須是數(shù)組名。F用數(shù)組名作函數(shù)參數(shù)時(shí)傳遞的是數(shù)組的值。F全局變量可以被任何一個(gè)函數(shù)中的任何一個(gè)表達(dá)式使用。T一個(gè)函數(shù)可以帶回一個(gè)整型值、字符值、實(shí)型值等,也可以帶回指針型的數(shù)據(jù)。表達(dá)式i++與++i在任何場合功能完全相同。在賦值表達(dá)式中,賦值號(hào)左邊的變量和右邊的表達(dá)式之值的數(shù)據(jù)類型可以不相同。三、多項(xiàng)選擇題<每題1分,共5分>若要求在if后一對圓跨括號(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.3e22.5B.-e-3C.-.1e-1D.'BASIC'E.'\045'F.0fdG.0xfdaLH.e8I.'\\'J."\""以下關(guān)于函數(shù)原型說法錯(cuò)誤的是:<ADFHI><1>對變量的定義"和"聲明"是一回事,對函數(shù)的"定義"和"聲明"也是一回事。<2>在聲明函數(shù)原型時(shí),允許只寫出參數(shù)的類型,而不必寫出參數(shù)的名稱。<3>如果在定義函數(shù)時(shí)不指定函數(shù)類型,系統(tǒng)會(huì)隱含指定函數(shù)類型為int型。<4>調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名、實(shí)參個(gè)數(shù)、實(shí)參類型必須與函數(shù)原型一致。<5>如果被調(diào)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。<6>所有的函數(shù)之間可以互相調(diào)用。<7>在C語言中,所有函數(shù)都是平行的,一個(gè)函數(shù)不能從屬于另一個(gè)函數(shù),即不能嵌套定義的。<8>如果函數(shù)沒有返回值,在定義時(shí)可以省略函數(shù)類型。<9>在C語言中,任何函數(shù)的定義都不允許為空。<10>C語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是"值傳遞"。請從下面關(guān)于指針的敘述中,選出5個(gè)正確的敘述。<ABDEH><1>指針即地址。<2>指針須先賦值后使用。<3>當(dāng)指針p指向數(shù)組a的首址后,由于p和a都能引用數(shù)組元素,所以這里p和a是等價(jià)的。<4>int*p表示定義了一個(gè)指向int類型數(shù)據(jù)的指針變量p。<5>數(shù)組的指針是指數(shù)組的起始地址。<6>若有定義inta[4],*p=a,則p++后p指向數(shù)組a所占內(nèi)存的第二個(gè)字節(jié)。<7>使用指針變量作函數(shù)參數(shù)采取的是"值傳遞"的方式。<8>相同類型的指針可以進(jìn)行減法運(yùn)算。<9>指針變量和許多變量一樣可以進(jìn)行四則運(yùn)算。<10>指針p指向數(shù)組元素a[2],若要其指向a[4],執(zhí)行p=p*2即可。以下關(guān)于數(shù)組的敘述中,5個(gè)最確切的說法是:<BEGHI><1>在聲明一個(gè)數(shù)組變量時(shí)必須指定大小。<2>必須用常量表達(dá)式來說明一個(gè)數(shù)組變量的大小。<3>在對數(shù)組進(jìn)行初始化時(shí)大括號(hào)中的數(shù)據(jù)個(gè)數(shù)必須和數(shù)組的大小相同。<4>有變量定義inta[3]={0,1,2},b[3];,可以用b=a,使數(shù)組b的每個(gè)元素和a的每個(gè)元素相等。<5>在C語言中,可以將字符串作為字符數(shù)組來處理。<6>定義了字符數(shù)組charc[11];為了給它賦值,可以用c="china";。<7>如果有chars[15]={"Iama\0student"};,則strlen<s>的值為6。<8>C語言中,二維數(shù)組中元素排列的順序是:按行存放。<9>在C語言中,不能對局部的數(shù)組變量進(jìn)行初始化。<10>在聲明時(shí)對數(shù)組進(jìn)行進(jìn)行初始化必須指定數(shù)組大小。四、程序運(yùn)行結(jié)果題<每題4分,共20分><4分>下面程序的運(yùn)行結(jié)果是<①>。#include<stdio.h>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)行結(jié)果是<①>。i=1;s=3do{s+=i++;if<s%7==0>continue;else++i;}whlie<s<15>;printf<"%d",i>;<4分>若運(yùn)行時(shí)輸入:5999,則以下程序的運(yùn)行結(jié)果<保留小數(shù)點(diǎn)后一位>是<①>。voidmain<void>{intx;floaty;scanf<"%d",&x>;if<x>=0&&x<=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分>以下程序的運(yù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>的值,請選擇填空。#include<stdio,h>#include<math.h>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分>下面程序的功能是用公式:π×π/6=1/<1×1>+1/<2×2>+1/<3×3>+......求π的近似值,直到最后一項(xiàng)的值小于10e-6為止。#include<stdio.h>#include<math.h>voidmain<void>{longi=1;①pi=0;while<i*i<=10e+6>{pi=②;i++;}pi=sqrt<6.0*pi>;printf<"pi=%10.6f\n",pi>;}下面程序的功能是把以下給定的字符按其矩陣格式讀入數(shù)組str1中,并輸出行列號(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]>;}}以下程序的功能是用遞歸方法計(jì)算學(xué)生的年齡,已知第一位學(xué)生年齡最小,為10歲,其余學(xué)生一個(gè)比一個(gè)大2歲,求第5位學(xué)生的年齡。遞歸公式如下:age<1>=10age<n>=age<n-1>+2<n>1>#include<stdio.h>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分>在C語言中,一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為<①>個(gè)字節(jié);一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為<②>個(gè)字節(jié)。一、單項(xiàng)選擇題1.下面正確的字符常量是:"c"B>‘\\’’C>‘W’D>‘’2.下列字符串中不能作為C++標(biāo)識(shí)符使用的是:WHILEB>userC>_1varD>9stars3.執(zhí)行語句序列的輸出結(jié)果是______。inti=0;while<i<25>i+=3;cout<<i;24B>25C>27D>284.下列符號(hào)中可以用作C++標(biāo)識(shí)符的是______。radiusB>foo~barC>elseD>3room5.若a是int類型變量,則表達(dá)式a=25/3%3的值是:3B>2C>1D>06.以下敘述中不正確的是:在不同的函數(shù)中可以使用相同名字的變量函數(shù)中的形參是局部變量在一個(gè)函數(shù)內(nèi)部定義的變量只在本函數(shù)范圍內(nèi)有效在一個(gè)函數(shù)內(nèi)部定義的變量在所有函數(shù)內(nèi)部有效7.變量的引用,其含義是指該變量的:A.值B.類型C.別名D.地址8.已知定義:chars[10];則下面不表示s[1]的地址的是:A.s+1B.*<s+1>C.&s[0]+1D.&s[1]9.通常拷貝構(gòu)造函數(shù)的參數(shù)是:A.對象B.對象的成員C.對象的引用D.對象的指針10.派生類對象的構(gòu)造順序是先調(diào)用:A.派生類的構(gòu)造函數(shù)B.基類的構(gòu)造函數(shù)C.內(nèi)嵌對象的構(gòu)造函數(shù)D.友元類的構(gòu)造函數(shù)二、填空題1.動(dòng)態(tài)多態(tài)是指在___〔1____時(shí)才確定使用哪個(gè)___〔2___函數(shù)的方式。2.友員不是類的成員,但必須在___〔3__予以聲明,它具有存取類的__〔4__成員的特權(quán)。3.C++中class與struct的主要區(qū)別是在缺省訪問權(quán)限時(shí),__〔5_的成員為私有的,而__〔6_的成員為公有的。4.若有定義語句:inta=3,b=2;,則表達(dá)式a<b?a:b的值是___<7>____。5.表達(dá)式:26%3=___<8>____,32/5=___<9>____。6.類的成員包括__<10>__和___<11>___兩種,在面向?qū)ο蟮男g(shù)語中,前者稱為屬性、后者稱為方法。其訪問權(quán)限有三種,由符號(hào)__<12>___、__<13>__和_<14>_指定,其中具有__<15>_權(quán)限的成員只有類中的成員函數(shù)才能訪問、而具有__<16>__權(quán)限的成員在任何函數(shù)中都可訪問。7.對基類成員的初始化,必須在派生類構(gòu)造函數(shù)的<17>中進(jìn)行。8.C++源程序文件的擴(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>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<<"矩形長和寬分別為"<<length<<","<<width<<endl;cout<<"矩形的顏色是"<<color<<endl;}voidmain<>{CRectr;r.SetColor<"Red">;r.Move<10,20>;r.SetSize<100,200>;r.Draw<>;r.Move<50,50>;r.SetColor<"Blue">;r.Draw<>;}2.寫出程序運(yùn)行結(jié)果#include<iostream.h>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>;a1.Display<>;a2.Display<>;}3.寫出程序運(yùn)行結(jié)果#include<iostream.h>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)行結(jié)果#include<iostream.h>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.完成如下的程序,使得輸出為:1234#include<iostream.h>#include<math.h>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>;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〔的功能是按順序?qū)?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]中,…。請?zhí)羁帐钩绦蛘_運(yùn)行。#include<iostream.h>#include<math.h>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.C2.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矩形的顏色是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)使用關(guān)鍵字__〔1_作為函數(shù)返回類型時(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)一個(gè)變量被聲明為另一個(gè)變量的引用時(shí),此變量就成為被引用變量的__<6>__。此時(shí),對其中一個(gè)變量值的修改,__<7>_〔會(huì)/不會(huì)影響到另一個(gè)變量的值。5.友員不是類的成員,但必須在___<8>__予以聲明,它具有存取類的_<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<>{chara[]="Iamaboy.",b[20];inti;for<i=__<16>_;a[i]!='\0';i++>{___<17>___;}____<18>___;}10.下面程序的功能是計(jì)算1-3+5-7+…-99+101的值存在s中,請?zhí)羁铡?include<stdio.h>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++中,關(guā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)為:4B>5C>6D>72.程序段inti,a;for<i=0;i<=10;i++>a=i;cout<<i;的輸出應(yīng)為:0B>9C>10D>113.下列有關(guān)函數(shù)重載的敘述中,錯(cuò)誤的是______。函數(shù)重載就是用相同的函數(shù)名定義多個(gè)函數(shù)重載函數(shù)的參數(shù)列表必須不同重載函數(shù)的返回值類型必須不同重載函數(shù)的參數(shù)可以帶有默認(rèn)值4.int*p1,*p2,a[10];p1=a;p2=&a[5];則p2-p1的值為:無法確定B>10C>5D>125.變量的指針,其含義是指該變量的:值B>地址C>名D>一個(gè)標(biāo)志6.派生類的成員函數(shù)不能訪問基類的______。公有成員和保護(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)行后的輸出結(jié)果是:A3,2B50,2C2,2D2,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)行后的輸出結(jié)果是:A012B123C234D3459.以下敘述中錯(cuò)誤的是:A對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變C程序執(zhí)行中,數(shù)組元素的下標(biāo)越界時(shí),系統(tǒng)給出"下標(biāo)越界"的出錯(cuò)信息D可以通過賦初值的方式確定數(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)行后的輸出結(jié)果是:A1,2,3,4,5,6,7,8,9,0,B2,3,4,5,6,7,8,9,10,1,C0,1,2,3,4,5,6,7,8,9,D1,1,1,1,1,1,1,1,1,1,11.有以下程序voidmain<>{intc=35;intb=c&c;cout<<b;}程序運(yùn)行后的輸出結(jié)果是:A0B70C35D112.執(zhí)行下列程序段后,正確的結(jié)果是:inti=0,s=1;while<i<3>{s+=i;i++;}cout<<s;5B>6C>4D>313.執(zhí)行下列程序段后,正確的結(jié)果是:chara[7]="abcdef";charb[4]="ABC";strcpy<a,b>;cout<<a[5];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.拷貝構(gòu)造函數(shù)的作用是:進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換用對象調(diào)用成員函數(shù)用對象初始化對象用一般類型的數(shù)據(jù)初始化對象四、寫出程序的運(yùn)行結(jié)果〔20分,每題10分1.函數(shù)sub的功能是什么?寫出運(yùn)行結(jié)果。1.函數(shù)sub的功能是什么?寫出運(yùn)行結(jié)果。#include<iostream.h>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)行結(jié)果#include<iostream.h>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ù)字字符串轉(zhuǎn)換為對應(yīng)的整數(shù),請?zhí)羁?實(shí)現(xiàn)函數(shù)的功能。#include<iostream.h>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ù)字字符串轉(zhuǎn)換為對應(yīng)的整數(shù),請?zhí)羁?實(shí)現(xiàn)函數(shù)的功能。#include<iostream.h>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.引用,指針9.a[i]=b[i]a[i]='\0'10.i=i+2二、判斷以下說法的正確性1.√2.×3.×4.×5.×三、單項(xiàng)選擇題1.C2.B3.A4.D5.B6.D7.B8.A9.D10.B11.D12.B13.A14.C15.D四、寫出程序的運(yùn)行結(jié)果從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:54admin2840次標(biāo)簽:C++程序設(shè)計(jì)試題及答案〔三__專業(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ì)試題及答案〔三__專業(yè):層次:__題號(hào)一二三四五六七八九十總分得分注意:所有答案都要寫在答題卡上一、單項(xiàng)選擇題1.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為: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)性無關(guān)的是______。重載函數(shù)B>虛函數(shù)C>指針D>引用3.若a是int類型變量,則計(jì)算表達(dá)式a=1000%999的值是:0B>1C>2D>34.下面程序段中,for循環(huán)的執(zhí)行次數(shù)是:inti=10;for<i=1;i<10;i++>cout<<"*";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)行后的輸出結(jié)果是:A012B123C234D3456.以下敘述中錯(cuò)誤的是:A對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變C程?蛑蔥兄校??樵?氐南鹵暝澆縭保?低掣??ldquo;下標(biāo)越界"的出錯(cuò)信息D可以通過賦初值的方式確定數(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)行后的輸出結(jié)果是:A1,2,3,4,5,6,7,8,9,0,B2,3,4,5,6,7,8,9,10,1,C0,1,2,3,4,5,6,7,8,9,D1,1,1,1,1,1,1,1,1,1,8.有如下函數(shù)模板定義:template<classT>Tfunc<Tx,Ty>{returnx*x+y*y;}在下列對func〔的調(diào)用中,錯(cuò)誤的是func<3,5>;B>func<3.0,5.5>C>func<3,5.5>D>func<<double>3,5.5>9.有如下類聲明:classA{intx;public:A<intn>{x=n;}};classB:publicA{inty;public:B<inta,intb>;};下列函數(shù)中哪一個(gè)是正確的構(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>{}D>B::B<inta,intb>:A<a>,B<b>{}10.類的析構(gòu)函數(shù)的作用是對象的初始化B>刪除對象時(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)多態(tài)性,前者由_〔2_機(jī)制支持,而后者則由__〔3___機(jī)制支持。3.引入虛基類的目的是為了解決多重繼承中的____〔4___和___〔5___問題。4、有一種只在循環(huán)語句或switch語句中使用的流程控制語句,表示該語句的關(guān)鍵字是___<6>_。5.下面程序的功能是計(jì)算1-3+5-7+…-99+101的值存在s中,請?zhí)羁铡?include<stdio.h>main<>{inti,t=1,s=0;for<i=1;i<=101;__<7>__>{s=s+i*t;t=_<8>__;}}6.在C++語言中,邏輯假用___〔9___表示。7.類的成員包括__〔10___和__〔11___兩種,在面向?qū)ο蟮男g(shù)語中,前者稱為屬性、后者稱為方法。其訪問權(quán)限有三種,由符號(hào)__〔12___、__〔13__和__〔14__指定,其中具有__〔15__權(quán)限的成員只有類中的成員函數(shù)才能訪問、而具有__〔16__權(quán)限的成員在任何函數(shù)中都可訪問。8.構(gòu)造函數(shù)是一個(gè)特殊的成員函數(shù),其特殊性表現(xiàn)在創(chuàng)建對象時(shí)會(huì)___〔17___。構(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ù)重載可以實(shí)現(xiàn)動(dòng)態(tài)多態(tài),虛函數(shù)可以實(shí)現(xiàn)靜態(tài)多態(tài)。3.若有定義:doublex[3][5];則x數(shù)組列下標(biāo)的上限是5,下限是1。4.不能在類的構(gòu)造函數(shù)中對其靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。5.在C++中,可以使用關(guān)鍵字struct定義類。6.用class定義的類中,默認(rèn)的訪問權(quán)限是私有的。7.一個(gè)類中必須要有公有成員和私有成員。8.如果在一個(gè)程序塊中有兩個(gè)變量具有相同的名字,并且都有效,只是它們的作用域不同,則優(yōu)先訪問作用域較小的那個(gè)變量。9.如果一個(gè)成員函數(shù)只訪問一個(gè)類的靜態(tài)數(shù)據(jù)成員,則可將該成員函數(shù)說明為靜態(tài)成員函數(shù)。10.構(gòu)造函數(shù)不能重載。四、寫出程序的運(yùn)行結(jié)果1.寫出程序運(yùn)行結(jié)果#include<iostream.h>classPerson{public:Person<>{cout<<"ConstructPerson"<<endl;}~Person<>{cout<<"DestructPerson"<<endl;}};classStudent:publicPerson{public:Student<>{cout<<"ConstructStudent"<<endl;}~Student<>{cout<<"DestructStudent"<<endl;}};classTeacher:publicPerson{public:Teacher<>{cout<
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院業(yè)務(wù)副院長職責(zé)(五篇)
- 網(wǎng)絡(luò)課程設(shè)計(jì)的分類
- 網(wǎng)頁課程設(shè)計(jì)摘要模板
- 網(wǎng)上書店c 課程設(shè)計(jì)
- 微機(jī)原理通訊錄課程設(shè)計(jì)
- 聯(lián)想記憶課程設(shè)計(jì)
- 電話禮儀課程設(shè)計(jì)
- 職工系統(tǒng)Delphi課程設(shè)計(jì)
- 家政保潔公司營業(yè)員服務(wù)總結(jié)
- 美的物流課程設(shè)計(jì)
- 智慧大棚方案
- (完整版)鋼筋加工棚驗(yàn)算
- 安徽省合肥市廬陽區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 概念方案模板
- 西南交大畢業(yè)設(shè)計(jì)-地鐵車站主體結(jié)構(gòu)設(shè)計(jì)
- 紀(jì)委案件工作總結(jié)
- 江蘇省南通市崇川區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期期末語文試卷
- 醫(yī)療研究小組成員及其角色劃分
- 陰道助產(chǎn)完整課件
- 宜家品牌分析報(bào)告
- 新媒體個(gè)人賬號(hào)分析報(bào)告
評(píng)論
0/150
提交評(píng)論