2023年專升本C++考試A卷_第1頁(yè)
2023年專升本C++考試A卷_第2頁(yè)
2023年專升本C++考試A卷_第3頁(yè)
2023年專升本C++考試A卷_第4頁(yè)
2023年專升本C++考試A卷_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

上海電機(jī)學(xué)院2023年專升本《C++程序設(shè)計(jì)》考試試卷A卷一、選擇題(每題1分,共25分)1.編寫C++程序一般需通過(guò)的幾個(gè)環(huán)節(jié)依次是()。A.編譯、編輯、連接、調(diào)試B.編輯、編譯、連接、調(diào)試C.編譯、調(diào)試、編輯、連接D.編輯、調(diào)試、編輯、連接2.可用作C++語(yǔ)言用戶標(biāo)記符的一組標(biāo)記符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2adosizeof3.設(shè)”inta=12;”,則執(zhí)行完語(yǔ)句”a+=a*a;”后,a的值是()。A.12B.144C.156D.2884.x>0||y==5的相反表達(dá)式為()。A.x<=0&&y?。剑礏.x<=0||y!=5C.x>0||y!=5D.x>0&&y==55.在下面循環(huán)語(yǔ)句中循環(huán)體執(zhí)行的次數(shù)為()。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-16.switch語(yǔ)句可以改寫為()語(yǔ)句。A.forB.ifC.doD.while7.假定一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。A.0B.4C.8D.68.函數(shù)重載是指()。A.兩個(gè)或兩個(gè)以上的函數(shù)取相同的函數(shù)名,但形參的個(gè)數(shù)或類型不同B.兩個(gè)以上的函數(shù)取相同的名字和具有相同的參數(shù)個(gè)數(shù),但形參的類型可以不同C.兩個(gè)以上的函數(shù)名字不同,但形參的個(gè)數(shù)或類型相同D.兩個(gè)以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同9.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是()。A.數(shù)組的首地址B.?dāng)?shù)組中第一個(gè)元素的值C.數(shù)組所有元素的值D.數(shù)組元素的個(gè)數(shù)10.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcap()C.strcat()D.strcmp()11.C++語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的解決是()。A.在程序運(yùn)營(yíng)時(shí)進(jìn)行B.在程序連接時(shí)進(jìn)行C.和C++程序的其它語(yǔ)句同時(shí)進(jìn)行編譯D.在對(duì)源程序中其它成分正式編譯之前進(jìn)行12.在下面存儲(chǔ)類中,()的對(duì)象不是局部變量。A.函數(shù)形參B.自動(dòng)類C.外部靜態(tài)類D.寄存器類13.定義p并使p指向動(dòng)態(tài)空間中的包含30個(gè)整數(shù)的數(shù)組所使用的定義語(yǔ)句為()。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];14.關(guān)于封裝,下列說(shuō)法中不對(duì)的的是()。A.通過(guò)封裝,對(duì)象的所有屬性和操作結(jié)合在一起,形成一個(gè)整體B.通過(guò)封裝,一個(gè)對(duì)象的實(shí)現(xiàn)細(xì)節(jié)被盡也許地隱藏起來(lái)(不可見)C.通過(guò)封裝,每個(gè)對(duì)象都成為相對(duì)獨(dú)立的實(shí)體D.通過(guò)封裝,對(duì)象的屬性都是不可見的15.假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員,x為該類的一個(gè)對(duì)象,則訪問(wèn)x對(duì)象中數(shù)據(jù)成員a的格式為()。A.x(a)B.x[a]C.x->aD.x.a16.假定AA是一個(gè)類,abc是該類的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)為()。A.abcB.*thisC.thisD.this&17.結(jié)構(gòu)中定義的成員默認(rèn)為()訪問(wèn)屬性。A.publicB.privateC.protectedD.friend18.假定AB為一個(gè)類,則執(zhí)行“ABr1=r2;”語(yǔ)句時(shí)將自動(dòng)調(diào)用該類的()。A.無(wú)參構(gòu)造函數(shù)B.帶參構(gòu)造函數(shù)C.賦值重載函數(shù)D.復(fù)制構(gòu)造函數(shù)19.一個(gè)類的靜態(tài)數(shù)據(jù)成員所表達(dá)屬性()。A.是類的或?qū)ο蟮膶傩裕拢皇菍?duì)象的屬性C.只是類的屬性D.類和友元的屬性20.當(dāng)將一個(gè)類A或函數(shù)f()說(shuō)明為另一個(gè)類B的友元后,類A或函數(shù)f()可以直接訪問(wèn)類B的()。A.只能是公有成員B.只能是保護(hù)成員C.只能是除私有成員之外的任何成員D.具有任何權(quán)限的成員21.假如表達(dá)式a+b中的“+”是作為成員函數(shù)重載的運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式,則可表達(dá)為()。A.a.operator+(b)B.b.operator+(a)C.operator+(a,b)D.operator(a+b)22.從一個(gè)基類派生出的各個(gè)類的對(duì)象之間()。A.共享所有數(shù)據(jù)成員,每個(gè)對(duì)象還包含基類的所有屬性B.共享部分?jǐn)?shù)據(jù)成員,每個(gè)對(duì)象還包含基類的所有屬性C.不共享任何數(shù)據(jù)成員,但每個(gè)對(duì)象還包含基類的所有屬性D.共享部分?jǐn)?shù)據(jù)成員和函數(shù)成員23.對(duì)于公有繼承,基類的公有和保護(hù)成員在派生類中將()成員。A.所有變成公有B.所有變成保護(hù)C.所有變成私有D.仍然相應(yīng)保持為公有和保護(hù)24.C++中的虛基類機(jī)制可以保證:()。A.限定基類只通過(guò)一條途徑派生出派生類B.當(dāng)一個(gè)類多次間接從基類派生以后,其基類只被一次繼承C.當(dāng)一個(gè)類多次間接從基類派生以后,派生類對(duì)象能保存多份間接基類的成員D.允許基類通過(guò)多條途徑派生出派生類,派生類也就能多次繼承該基類25.派生類的對(duì)象對(duì)其基類中()可直接訪問(wèn)。A.公有繼承的私有成員B.公有繼承的公有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員二、填空題(25%)1.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對(duì)象是__(dá)___(dá)___。2.程序文獻(xiàn)的編譯錯(cuò)誤分為____(dá)___(dá)_和________(dá)兩類。3.十進(jìn)制常數(shù)245相應(yīng)的八進(jìn)制的C++表達(dá)為_0____(dá)__(dá)___。4.字符串”This\’sabook.\n”的長(zhǎng)度為_____(dá)_____。5.數(shù)學(xué)算式的C++表達(dá)式為____(dá)_____(dá)____(dá)__(dá)_。6.若while循環(huán)的“頭”為“while(i++<=10)”,并且i的初值為0,同時(shí)在循環(huán)體中不會(huì)修改i的值,則循環(huán)體將被反復(fù)執(zhí)行__(dá)__(dá)__次后正常結(jié)束。7.strlen(”apple”)的值為__(dá)_____,strcmp(”a”,”A”)的值為________。8.在C++語(yǔ)言中,一個(gè)函數(shù)由函數(shù)頭和____(dá)_____(dá)_組成。9.全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在內(nèi)存的____________區(qū)中。10.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則*p++的值為________。11.執(zhí)行int*p=newint操作得到的一個(gè)動(dòng)態(tài)分派的整型對(duì)象為__(dá)*p__(dá)____。12.以面向?qū)ο蠓椒?gòu)造的系統(tǒng),其基本單位是______(dá)__(dá)__。13.C++支持兩種多態(tài)性:___(dá)____(dá)__時(shí)的多態(tài)性和____(dá)______(dá)時(shí)的多態(tài)性。14.為了使類中的成員不能被類外的函數(shù)通過(guò)成員操作符訪問(wèn),則應(yīng)把該成員的訪問(wèn)權(quán)限定義為_____(dá)___。15.若采用x.abc(y)表達(dá)式調(diào)用一個(gè)成員函數(shù),在成員函數(shù)中使用的__(dá)*this______就代表了類外的x對(duì)象。16.假定AB為一個(gè)類,則類定義體中的“AB(AB&x);”語(yǔ)句為該類_______(dá)__(dá)_____(dá)的原型語(yǔ)句。17.在重載一個(gè)單目運(yùn)算符時(shí),參數(shù)表中沒(méi)有參數(shù),說(shuō)明該運(yùn)算符函數(shù)只能是類的___(dá)____(dá)______。18.派生類的成員函數(shù)可以直接訪問(wèn)基類的成員,不能直接訪問(wèn)基類的__(dá)____成員。19.引進(jìn)虛基類的主線目的是為了消除__(dá)__(dá)_______(dá)_。20.設(shè)有如下定義:#include<iostream.h>classA1{inta1;protected:intb1;public:voidshow1(){cout<<”classA1”<<endl;}};classA2:publicA1{inta2;protected:intb2;public:voidshow2(){cout<<”classA2”<<endl;}};voidmain(){A1obj1;A2obj2;…}派生類A2的成員函數(shù)show2()中可以訪問(wèn)的成員涉及a1、b2、、。1.閱讀下面的程序,寫出輸出結(jié)果#include<iostream.h>inta[8]={6,11,13,4,12,7,16,15};voidmain(){ints0,s1,s2; s0=s1=s2=0; for(inti=0;i<8;i++){ switch(a[i]%3){ ?case0:s0+=a[i];break;??case1:s1+=a[i];break; ?case2:s2+=a[i];break; } }?cout<<s0<<'\t'<<s1<<'\t'<<s2<<endl;}2.閱讀下面的程序,寫出輸出結(jié)果#include<iomanip.h>voidfun(int*&a,int&m){a=newint[m];?int*p=a;for(inti=0;i<m;i++)*p++=i*i+1;}voidmain(){int*b,n=5;fun(b,n);for(inti=0;i<n;i++) cout<<b[i]<<’‘;cout<<endl;delete[]b;}3.閱讀下面的程序,寫出輸出結(jié)果#include<iostream.h>intfun(intn){inta=1;stat(yī)icintb=1;a=a+1;b=b*n;returna*b;}voidmain(){inti;for(i=1;i<5;i++) cout<<fun(i)<<endl;}4.閱讀下面的程序,寫出輸出結(jié)果#include<iostream.h>classAA{intn;?????? ?public:AA(inti){n=i;cout<<"調(diào)用類AA構(gòu)造函數(shù)n:"<<n<<endl;}~AA(){cout<<"刪除類AA"<<endl;}};classBB ? ? {intn;public:BB(intj){n=j;cout<<"調(diào)用類BB構(gòu)造函數(shù)n:"<<j<<endl;}~BB(){cout<<"刪除類BB"<<endl;}};classCC:publicBB,publicAA {public:?CC(inta,intb,intc):AA(a),BB(b),n(c){cout<<"調(diào)用類CC構(gòu)造函數(shù)n:"<<n<<endl;}~CC(){cout<<"刪除類CC"<<endl;}private://派生類的私有對(duì)象成員intn;};voidmain(){CCobj(10,20,30);}四.改正錯(cuò)誤(每題有幾處錯(cuò)誤,在錯(cuò)誤處畫線,并寫出對(duì)的語(yǔ)句。)(每題3分,共9分)1.下列程序是輸出設(shè)1-100之間素?cái)?shù),并且每行只輸出5個(gè)數(shù)。#include<iostream.h>#include<math.h>voidmain(){inti,j,t,k=0;inta[101];for(i=1;i<=100;i++)a[i]=1;a[1]=0;i=2;while(i<=100){for(j=i*i;j<=100;j=j+i)a[j]=0;i++;}cout<<"\n";for(i=2;i<=100;i++)?if(a[i]==1) {cout<<i<<'\t'; k++;?if(k%5==0)cout<<endl;?}cout<<endl;}2.定義計(jì)數(shù)器類Counter。規(guī)定具有以下成員:計(jì)數(shù)器值;可進(jìn)行增值和減值記數(shù);可提供記數(shù)值。#include<iostream.h>classCounter{intn;public: Counter(inti=0){n=i;}voidinit_Counter(intm){n=m;}voidin_Counter(){n++;} voidde_Counter(){n--;} intget_Counter(){returnn;}?friendvoidshow(Countert){cout<<t.n<<endl;}};voidmain(){Countera(0);a.in_Counter();a.init_Counter(10);a.show();//show(a)a.de_Counter();cout<<a.get_Counter()<<endl;}3.用函數(shù)重載運(yùn)算符,使對(duì)整形的運(yùn)算符+、-合用于整數(shù)運(yùn)算。#include<iostream.h>classFranction{intnume;//定義分子intdeno;//定義分母public:Franction(inta=1,intb=1)?{nume=a;deno=b;} friendFranctionoperator+(constFranction&x1,constFranction&x2)?{intc,d;?c=x1.nume*x2.deno+x2.nume*x1.deno;?d=x1.deno*x2.deno; returnFranction(c,d); }?friendFranctionoperator-(constFranction&x1,constFranction&x2)?{intc,d; c=x1.nume*x2.deno-x2.nume*x1.deno; d=x1.deno*x2.deno; returnFranction(c,d); } voidFranOutput() {cout<<nume<<'/'<<deno<<endl;}};voidmain(){Franctionc1(1,3),c2(1,4),c3,c4;cout<<"c1=";c1.FranOutput();cout<<"c2=";c2.FranOutput();?c3=c1+c2;?cout<<"c1+c2=";c3.FranOutput(); c4=c1-c2;?cout<<"c1-c2=";c4.FranOutput();}五.程序填空(每空1.5分,共12分)1.求組合數(shù)值,如。n!/(n-m)!*m!#include<iostream.h>intfun(intn);voidmain(){intc,n,m;cin>>n>>m;if(m>n)cout<<"輸入數(shù)據(jù)錯(cuò)誤。\n";else{c=fun(n)/(fun(n-m)*fun(m));cout<<"c("<<m<<","<<n<<")="<<c<<endl;}}intfun(intn){intp=1;inti;for(i=2;i<=n;i++)?p*=i;returnp;}2.從建立的數(shù)據(jù)文獻(xiàn)f1.dat中讀入10個(gè)整數(shù)放在數(shù)組中,找出并輸出10個(gè)數(shù)中的最大者和它在數(shù)組中的序號(hào)。#include<fstream>#include<iostream>usingnamespacestd;intmain(){inta[10

溫馨提示

  • 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)論