2022年大學(xué)必備計算機(jī)程序設(shè)計語言(VC++)復(fù)習(xí)題_第1頁
2022年大學(xué)必備計算機(jī)程序設(shè)計語言(VC++)復(fù)習(xí)題_第2頁
2022年大學(xué)必備計算機(jī)程序設(shè)計語言(VC++)復(fù)習(xí)題_第3頁
2022年大學(xué)必備計算機(jī)程序設(shè)計語言(VC++)復(fù)習(xí)題_第4頁
2022年大學(xué)必備計算機(jī)程序設(shè)計語言(VC++)復(fù)習(xí)題_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《計算機(jī)程序設(shè)計語言(VC++)》復(fù)習(xí)題一、選擇題(考試時為單項選擇,10題,20分)1、關(guān)于C++程序設(shè)計語言,下列敘述中不正確的是()。一個完整的C++源程序必須有且只能有一個主函數(shù)C++源程序的注釋只能界于“/*”和“*/”之間C++函數(shù)的函數(shù)體必須界于“{"和之間C++程序的基本語句必須以分號“;”結(jié)束C++是面向過程的設(shè)計語言C++程序設(shè)計語言每條語句必須寫在一行C++程序設(shè)計語言每行只能寫一條語句C++程序設(shè)計語言的語句必須遵循縮進(jìn)規(guī)則2、C++源程序文件的擴(kuò)展名是()?A..txt B..cppC.objD.?exe3、下列選項中,能作為C++自定義標(biāo)識符的是()oA.Double B.sizeofC.ab#D.5xyE._5 F.xy-G.-x4、下列的常量表示中不正確的是()。A.0x3F B.<ab,CD.“a”我③⑦①②③④⑤⑥⑦⑧修cQ////////我③⑦①②③④⑤⑥⑦⑧修cQ////////旺////////沒④⑧),D.H.charc(65);floaty=x;int&rl;int&r2=c;int*pl=x;float*p2=*y;double*p3=&y;則在注釋部分標(biāo)注編號的語句中,A.① B.②E.⑤ F.@6,設(shè)有變量定義和初始化語句如下:doublex=5;inty(10);則以下選項中,符合C++語法規(guī)則的表達(dá)式是()oA.x%yB.x+y=15C.x*二yD.xy/(x+y)E?x,y,x+yF.x>y?x:yG.xWyH.!(x*y)7、下列關(guān)于流程控制語句的敘述中正確的是()?A.開關(guān)語句中必須有default分支B.開關(guān)語句的分支中必須有break語句break語句可以用來終止條件語句的執(zhí)行for語句頭部的第二個表達(dá)式省略時,其缺省值為1

E.所有循環(huán)語句的循環(huán)體都有可能一次都不執(zhí)行F.所有循環(huán)語句的循環(huán)條件表達(dá)式都不可以空缺G.所有循環(huán)語句都不允許從循環(huán)體外跳轉(zhuǎn)到循環(huán)體內(nèi)H.可以用continue語句終止循環(huán)語句的執(zhí)行8、下列程序段的輸出結(jié)果是(inta=l,b=0;if(a!=l)cout<<l<<endl;elseif(b=l)cout<<2?endl;elseif(b=0)cout?0?endl;elsecout?3<<endl;A.0 B.1C.2 I).39、下列程序段的輸出結(jié)果是(intn=3;switch(n)(case1:cout<<l;case3:cout<<3;case5:cout<<5;break;default:cout?7;)A.3 B.5C.35 D.710、設(shè)有函數(shù)說明如下:int*f(int*p,intn);則該函數(shù)函數(shù)體中的返回語句應(yīng)是()。A.return*p; B,return&p;C.returnp; D.return;11、設(shè)有函數(shù)聲明和變量定義如下:voidf(int*x,int&y);intm=5,n=10;則下列函數(shù)調(diào)用表達(dá)式正確的是()oA.f(&m,n) B.f(&m,&n)C.f(*m,&n) D,f(*m,n)12、設(shè)有宏定義如下:defineA6+3defineB2+4則表達(dá)式“A/B”的值是()oA.1.5 B.1C.11 D.11.513、設(shè)有宏定義如下:#definef(x,y)(-(x)*y)則表達(dá)式“f(1+2,3+4)”的值是()oA.-21 B.-5C.13 I),914、下列數(shù)組聲明和初始化中正確的是()。A.intn=10;inta[n];B.constfloatn=10;floatb[n];C.charc[127/2];D.intd[][3]-{l,2,3,4,5,6,7,8,9}E.inte[][3]:{{1,2},{3,4},{5,6}};F.intf[3][>{{1,2},{3,4},{5,6}}G.charg⑶={'a*,98,99);H.charh[3]={"C++”};

15、下列關(guān)于數(shù)組和指針的操作中正確的是()。floatb[5],*pb=&b[l];chard[3][5],(*pd)[3]=d;intf[3][5],*pf[5]=f;TOC\o"1-5"\h\zfloatb[5],*pb=&b[l];chard[3][5],(*pd)[3]=d;intf[3][5],*pf[5]=f;C. doublec[3][5],*pc=c; D.int*e[5],*pe=e; F.16、設(shè)有字符數(shù)組聲明和初始化語句如下:charstr□={“123456789"},*sl=str,*s2=sl++;則下列說法中正確的是()。str[0]與sl[0]的值都是字符Tsi⑴與s2[l]的值都是字符'2'C.語句wcout?sl;w將輸出字符串“123456789”D.語句“cout〈〈*sl;''將輸出字符串TE.語句“cout?*s2;”將輸出字符'1'F.語句acout?s2;n將輸出字符串“123456789”17、設(shè)有函數(shù)和數(shù)組的聲明語句如下:voidfl(charp[]);voidf2(int*p);chars[10]:inta[20];則下列函數(shù)調(diào)用語句中正確的是()?D.fl(*s);H.f2(&a[0]);A.fl(s[]); B.fl(s[10]);D.fl(*s);H.f2(&a[0]);E.fl(a); F.f2(*a); G.f2(&a);18、下列程序段的輸出結(jié)果是()?voidf(intp[]){cout?*a*;)voidf(int(*p)[5]){cout?'b';)intmain()inta[10],b[3][5];f(a); f(b);f(b[0]); f(*b);)A.abaaB.abbbC.ababD.babaE.baaaF.babbG.函數(shù)定義錯誤H.函數(shù)調(diào)用錯誤19、關(guān)于類和對象,下列說法錯誤的是()oA.類中不能對任何數(shù)據(jù)成員初始化B.類中不能指定數(shù)據(jù)成員的任何存儲類型C.類中不能以該類的對象作為數(shù)據(jù)成員D.類中不能以該類的對象引用或指針作為數(shù)據(jù)成員E.類外必須通過類的公有成員函數(shù)訪問類的非公有成員F.必須通過類的公有成員函數(shù)訪問該類對象的非公有成員20、下列關(guān)于派生類的敘述中正確的是()。A.派生成員(派生類中從基類繼承來的成員)僅包括基類的非私有成員B.派生成員的訪問權(quán)限僅與派生方式有關(guān)C.派生類中新增成員的訪問權(quán)限與派生方式無關(guān)D.派生類中訪問派生成員時,不能直接訪問基類中的非公有成員E.派生類中訪問派生成員時,訪問方式與派生方式有關(guān)F.通過派生類的對象訪問派生成員時,只能直接訪問公有派生的公有成員21、設(shè)Myclass為已定義的類,有聲明語句如下:Myclassal;Myclassa2();Myclassa3[10];Myclass*a4;Myclass*a5[20];Myclassa6=al;Myclassa7(al);Myclass&a8=al;則執(zhí)行上述語句序列時,類Myclass的構(gòu)造函數(shù)的調(diào)用次數(shù)共是().A. 3次 B. 4次 C.5次 D.8次E. 13次 F. 14次 G.34次 H.36次22、設(shè)有類和對象的聲明如下:classB{public:Bf(Bt);};intmain(void)(Bal,a2,a3;a3=al.f(a2); 〃A行return0;}則執(zhí)行注釋部分標(biāo)有A行的語句時,this指針指向的時象是()。A.al B.a2 C.a3 D.t23、關(guān)于類的靜態(tài)成員,下列敘述錯誤的是()oA.靜態(tài)數(shù)據(jù)成員必須在類體外初始化B.不能在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員賦值C.可以通過類名和作用域運用符引用靜態(tài)成員D.可以通過對象名和成員運用符引用靜態(tài)成員E.類的靜態(tài)成員函數(shù)不能直接引用類的靜態(tài)成員F.在聲明對象前系統(tǒng)不為類的任何數(shù)據(jù)成員分配存儲空間24、關(guān)于派生沖突及解決方法,下列說法錯誤的是()。A.來自不同類的同名成員,可用類名和作用域運算符進(jìn)行區(qū)分B.解決派生類中出現(xiàn)基類成員多個拷貝的方法是把基類聲明為虛基類C.用關(guān)鍵字virtual聲明的虛函數(shù)不會出現(xiàn)成員同名沖突D.派生成員和新增成員同名時,通過派生類對象默認(rèn)引用的是新增成員E.派生成員和新增成員同名時,通過基類指針默認(rèn)引用的是新增成員F.抽象類中不會出現(xiàn)成員的同名沖突

25、下列關(guān)于基類和派生類的敘述中不正確的是()?A.公有派生時,基類指針可以指向派生類的對象B.可以用公有派生類的對象初始化基類對象的引用C.可以將派生類的對象賦值給基類的對象D.基類指針指向派生類對象時,可以訪問派生類對象的所有成員E.基類指針指向派生類對象時,不能訪問派生類中的新增成員F.基類指針指向派生類對象時,不能訪問派生類中新增的數(shù)據(jù)成員26、下列關(guān)于友元函數(shù)的描述錯誤的是()。A.友元函數(shù)具有類作用域,在類中隨處可見B.友元函數(shù)是類的外部函數(shù),但能訪問類的私有成員C.在類體中說明友元函數(shù)時,不受訪問權(quán)限的限制D.在類體外定義友元函數(shù)時,不能通過作用域運算符指明其所屬的類27、設(shè)有程序段如下:classCLASS{doublex;friendvoidf(){cout?x?endl; //①)public:CLASS(doublen):x(n){} //②};intmain()(CLASSt(6.8),*p=&t;TOC\o"1-5"\h\zt.fO; 〃③p->f0; 〃④return0;}則在注釋部分標(biāo)注編號的行中,編譯時沒有語法錯誤的是()oA.① B.② C.③ D.④28、下列能用友元函數(shù)重載的C++運算符是()?A.=B.[]C.*D.:: E.?: F..G.sizeof29、下列關(guān)于C++運算符重載的描述錯誤的是()。A.用成員函數(shù)重載運算符時,運算符重載函數(shù)必定有對象參數(shù)B.用友元函數(shù)重載運算符時,運算符重載函數(shù)必定有對象參數(shù)C,用成員函數(shù)重載單目運算符時,運算符重載函數(shù)不可能有參數(shù)D.用友元函數(shù)重載單目運算符時,運算符重載函數(shù)最多有一個參數(shù)E.用成員函數(shù)重載雙目運算符時,運算符重載函數(shù)有一個參數(shù)F.用友元函數(shù)重載雙目運算符時,運算符重載函數(shù)有兩個參數(shù)30、若類中用成員函數(shù)重載運算符“/",用友元函數(shù)重載運算符“+”,且x、y和z為該類的對象,則表達(dá)式“x+y/z”等同于(A.operator+(x,y.operator/(z))C.x.operator+(operator/(y,z))E.operator+(x,operator/(y,z))B.的對象,則表達(dá)式“x+y/z”等同于(A.operator+(x,y.operator/(z))C.x.operator+(operator/(y,z))E.operator+(x,operator/(y,z))B.operator/(x,y.operator+(z))D.x.operator/(operator+(y,z))F.x.operator+(y.operator/(z))二、填空題(一)基本概念(考試時,3題6空,12分)1、C++的源程序文件擴(kuò)展名(文件后輟)是,編譯后產(chǎn)生的目標(biāo)文件擴(kuò)展名是連接產(chǎn)生的可執(zhí)行文件擴(kuò)展名是o(.cpp;.obj;.exe)2、若函數(shù)不返回任何值,則該函數(shù)類型應(yīng)為(關(guān)鍵字);若定義函數(shù)時沒有明確給出函數(shù)類型,則該函數(shù)的類型應(yīng)為(關(guān)鍵字)。(void;int)3,函數(shù)原型說明時,形參列表中的參數(shù)不能省略參數(shù)的,可以省略參數(shù)的。(類型:名稱)4、C++的多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性,其中編譯時的多態(tài)性又稱多態(tài)性,運行時的多態(tài)性又稱多態(tài)性。(靜態(tài);動態(tài))5,C++中,通??赏ㄟ^ 函數(shù)或 函數(shù)重載運算符。(成員;友元)6、設(shè)有程序段如下:inta=3,b=l,c=5,x,y,z;x=a/2;y二b一;z=++b||(c%=3);a=x<y<z;則執(zhí)行上述程序段后,變量x的值為一,變量y的值為一,變量z的值為一,變量a的值為,變量b的值為,變量c的值為.(1;1;1;1;1;5)7,設(shè)有程序段如下:inta=2,b=4,c=6,x,y,z;x=a>b?a:b;a*=b+=2;y=a+3,b+3,c+3;z=(a+3,b+3,c+3);則執(zhí)行上述程序段后,變量x的值為一,變量y的值為一,變量z的值為,變量a的值為,變量b的值為,變量c的值為o(4;15;9:12;6;6)8、設(shè)有聲明語句如下:doublea[10]={l,2,3,4,5,6,7,8},*p=&a[2];doubleb[][4]={9,10,11,12,13,14,15,16,17,18);則a[0]的值為—,a[8]的值為—,p[0]的值為—,p[2]的值為—,*(p+4)的值為—,的值為—,b[2][2]的值為—o(1;0;3;5:7;14;0)9、設(shè)有程序段如下:charsi[100]=,,studenf,,s2[100]="teacherv,s3[100]=,,student\0teacherM;strcpy(si,s2);strcat(s2,s3);則執(zhí)行上述程序段后,si中的字符串為,s2中的字符串為o(teacher;teacherstudent)(二)閱讀程序(考試時,6題18空,36分)1、運行下列程序,第1行輸出是,第2行輸出是,第3行輸出是 o(D;e;f)#include<iostream>usingnamespacestd;voidf(charx,char&y,char*z){x+=32;y+=32;*z+=32;)intmain()(chara='D',b='E',c='F';f(a,b,&c);cout<<a<〈'\n' \n'<<c<<endl;return0;}2、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—,第4行輸出是 o(50;32:11;1)#include<iostream>usingnamespacestd;inta,b(l);voidfun(intn){staticinta=5;intb=5;a+=n;b+=n;cout?a+b?endl;)intmain()(inta=10;(inta=20;fun(a);fun(b);)cout<<a+b?endl;cout?::a+b<<endl;return0;)3、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—o(2;8;1024)#include<iostream>usingnamespacestd;intf(intx,intn)(if(n==0)return1;elseif(n==l)returnx;elsereturnf(x,n/2)*f(x,n-n/2);intmain(void)cout?f(2,1)<<endl;cout<<f(2,3)<<endl;cout?f(2,10)?endl;return0;}4、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—o(1111011;173;7B)#include<iostream>usingnamespacestd;voidfun(intn,intb)(intt=n%b;if(n>=b)fun(n/b,b);if(t<10)cout?char(t+,0*);elsecout?char(*A*+t-10);}intmain(void)(fun(123,2);cout<<endl;fun(123,8);cout?endl;fun(123,16);cout<<endl;return0;)5、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—o(0;1;11)#include<iostream>usingnamespacestd;classA{inta;public:A(){a=0;cout?a?endl;}A(intt){a=t;cout?a?endl;}A(A&t){a=t.a+10;cout?a?endl;}};intmain(void){Aal,a2=l,a3=a2;return0;}6、運行下列程序,第1行輸出是,第2行輸出是,第3行輸出是o(0;52;10102)#include<iostream>usingnamespacestd;classA{intm;staticintn;public:A(intt){m=t;n++;}voidset(intt){m+=t;n+=t;}staticintget(){returnn;}voidprint(){cout?m?,\t*?n<<endl;});intA::n;intmain()(cout<<A::get()?endl;Aal(5),a2(10);al.print();al.set(100);a2.print();return0;)7、運行下列程序,第1行輸出是 ,第2行輸出是—o(1;12)#include<iostream>usingnamespacestd;classA{protected:intn;public:A(intt){n=t;}voidprint(){cout?n?,Xn,;});classB:publicA{intn;public:B(intx,inty):A(x)(n=y;}voidprint(){cout?A::n?f\tJ?n?,\r\;});intmain(void)(Bbl(1,2);bl.A::print();bl.print();return0;}8、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—,第4行輸出是 ?(classA;classC;classB;classD)若去掉注釋部分標(biāo)有“A行”和“B行”的語句行中的關(guān)鍵字virtual,第1行輸出是—,第2行輸出是—,第3行輸出是,第4行輸出是,第5行輸出是 o(classA;classC;classA;classB;classD)#include<iostream>usingnamespacestd;classA{public:A(){cout<<*classA,z?endl;}};classB:publicvirtualA{ //A行public:B() {cout<<*classB*?endl;}};classC:virtualprivateA{ //B行public:C(){cout?*classC*?endl;});classD:protectedC,B{public:D() {cout?*classD*<<endl;});intmain(void)(Dt;return0;}9、運行下列程序,第1行輸出是—,第2行輸出是—,第3行輸出是—o(0 a=0;0a=0,b=l;0a=0,b=l)#include<iostream>usingnamespacestd;classBase{protected:inta;public:Base(intx=0){a=x;}voidshow(){cout?a<<,\n;}virtualvoidprint(){cout<<*a=*?a<<,\n;}};classDerived:publicBase{intb;public:Derived(intx){b=x;}voidshow(){cout<<a?'\t'<<b?'\n';}voidprint(){cout<<,za=,,?a?/z,b=*?b?,\n;}};voidfl(Baset){t.show();t.print();}voidf2(Base&t){t.show();t.print();}voidf3(Base*t){t->show();t->print();}intmain(void)(Derivedb(l);fl(b);f2(b);f3(&b);return0;}(三)完善程序(考試時,2題6空,12分)1、下列程序的功能是取出整型一維數(shù)組中的奇數(shù)元素,并存入另一個數(shù)組。請完善程序。#include<iostream>usingnamespacestd;intfun(int*pl,intn,int*p2) //取出數(shù)組pl中的奇數(shù)存入數(shù)組p2(intk=0;for(inti=0;i<n;i++)if(pl[i]%2)p2[]=pl[i]; //k++returnk;)voidshow(int*p,intn)//輸出一維數(shù)組(for(inti=0;i<n;i++)cout??'\t'; //p[i]cout?endl;)intmain(){inta[8]={l,2,3,4,6,7,9,10},b[8],n;n=fun(); //a,8,bshow(a,8);show(b,n);return0;}2、下列程序的功能是取出鍵盤輸入的字符串中的數(shù)字字符并組成一個整數(shù),如字符串walb23cd4ef6789gh"中數(shù)字字符組成的整數(shù)是123456789。請完善程序。#include<iostream>usingnamespacestd;intnumber(charc)//若c是數(shù)字字符,返回對應(yīng)的數(shù)值;否則返回整數(shù)0(if(c>=,0*&&c<=,9,)return;//O'elsereturn0;)intfun()//按題意要求得到并返回取出的整數(shù)charts(intn=0,t;while(*s){t=number(*s);if(t)n=+t; //n*10s++;}returnn;)intmain()chart[100];cin.getline(t,100);cout?fun(t)<<endl;return0;)3、下列程序求一維數(shù)組中負(fù)數(shù)元素和非負(fù)數(shù)元素之和。請完善程序,使之運行時輸出如下:一維數(shù)組為:1 2 -3-45 -6 -7 8負(fù)數(shù)元素和為:-20非負(fù)數(shù)元素和

溫馨提示

  • 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

提交評論