【福師網考】福師大網考《C++語言程序設計》2023年復習題_第1頁
【福師網考】福師大網考《C++語言程序設計》2023年復習題_第2頁
已閱讀5頁,還剩11頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

隨著組態軟件的使用,樓宇監控的手段更為先進、直觀。

14.在建筑中,照明系統屬于弱電系統。

15.電氣原理圖可以表明電氣設備和器件的實際安裝位置和具體接線。

16.通常市電電源進線電壓為3.8kV。

17.目前最常見的主結線方案就是雙電源帶自備發電機方案。

18.同時供電主結線方式設有聯絡開關。

18.同時供電主結線方式設有聯絡開關。19.中線和地線合在一起叫隨著組態軟件的使用,樓宇監控的手段更為先進、直觀。

14.在建筑中,照明系統屬于弱電系統。

15.電氣原理圖可以表明電氣設備和器件的實際安裝位置和具體接線。

16.通常市電電源進線電壓為3.8kV。

17.目前最常見的主結線方案就是雙電源帶自備發電機方案。

18.同時供電主結線方式設有聯絡開關。

18.同時供電主結線方式設有聯絡開關。19.中線和地線合在一起叫《C++程序設計》考試大綱單項選擇題1、下面的哪個保留字不能作為函數的返回類型()。A.voidB.intC.newD.long答案:::C2.決定C++語言中函數的返回值類型的是()。A.return語句中的表達式類型B.調用該函數時系統隨機產生的類型C.調用該函數時的主調用函數類型D.在定義該函數時所指定的數據類型答案:::D3.一個函數功能不太復雜,但被頻繁調用,則應把它定義為()。A.內聯函數B.重載函數C.遞歸函數D.嵌套函數答案:::A4.所謂數據封裝就是將一組數據和與這組數據有關操作組裝在一起,形成一個整體,這整體就是()。A.結構體B.對象C.函數體D.數據塊答案:::B5.下列不能作為類的成員的是()。A.自身類對象B.自身類對象的指針C.自身類對象的引用D.另一個類的對象答案:::A6、假定AB為一個類,則執行“ABa(4),b[3],*p[2]”語句時,自動調用該類構造函數的次數為()。A.3B.4C.6D.9答案:::B7.假定一個類的構造函數為A(intaa,intbb){a=aa--;b=a*bb;},則執行Ax(4,5);語句后,x.a和x.b的值分別為()。A.4和15B.4和5C.4和20D.3和20答案:::C8.在類中說明成員可以使用的關鍵字是()。A.registerB.externC.cpuD.public答案:::D9.假定AA為一個類,a()為該類公有的函數成員,x為該類的一個對象,則訪問x對象中函數成員a()的格式為()。A.x.aB.x.a()C.x->aD.(*x).a()答案:::B10.下列程序的輸出結果是()。#include<iostream>usingnamespacestd;intmain(){inta[][3]={10,20,30,40,50,60};int(*p)[3];p=a;

cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;}A.10,20,30B.10,30,50C.20,40,60D.10,30,60答案:::A11.要禁止修改指針p本身,又要禁止修改p所指向的數據,這樣的指針應定義為()。A.constchar*p=“ABCD”;B.char*constp=“ABCD”;C.charconst*p=“ABCD”;D.constchar*constp=“ABCD”;答案:::D12.在創建類的(),類的構造函數被自動調用執行。A.成員函數時B.數據成員時C.對象時D.友元函數時答案:::C13.已知A是類B的友元類,B是類C的友元類,則()。A.類A一定是類C的友元B.類C一定是類A的友元答案:::CC.類B的成員函數可以訪問類C的對象的任何成員D.類A的成員函數可以訪問類C的對象的任何成員14.假定一個類的構造函數為“A(inti=4,intj=0){a=i;b=j;}”,則執行“Ax(1);”語句后,x.a和x.b的值分別為()。A.1和0B.1和4C.4和0D.4和1答案:::A15.關于this指針使用說法正確的是()。A.保證友元函數可以訪問對象的私有數據。B.保證常成員函數可以被調用。C.保證靜態數據成員可以被訪問。D.保證每個對象擁有自己的數據成員,但共享處理這些數據的代碼答案:::D16.友元關系()。A.能提高程序的效率B.是類與類的雙向關系C.具有交換性D.是具有傳遞性的關系答案:::A17.構造函數不具備的特征是()。A.構造函數的函數名與類名相同B.構造函數可以重載C.構造函數可以設置默認參數D.構造函數必須指定類型答案:::D18.C++語言中所有在函數中定義的變量,連同形式參數,都屬于()。A.全局變量B.局部變量C.靜態變量D.函數答案:::B19.對于int*pa[5];的描述,正確的是()。A.pa是一個指向數組的指針,所指向的數組是5個int型元素B.pa是一個指向某個數組中第5個元素的指針,該元素是int型變量C.pa是一個具有5個元素的指針數組,每個元素是一個int型指針D.pa[5]表示某個數組的第5個元素的值答案:::C20.可以重載的運算符是()。A.成員指針運算符“.*”B.取模運算符“%”C.作用域運算符“::”D.sizeof運算符答案:::B21.靜態成員函數沒有()。A.返回值B.this指針C.指針參數D.返回類型答案:::B22.假定AB為一個類,則執行“ABa(2),b[3],*p[4];”語句時,調用該類構造函數的次數為()。A.3B.4C.5D.9答案:::B23.假定類A的構造函數為“A(inti=4,intj=0){a=i;b=j;}”,則執行“Ax(1);”語句后,x.a和x.b的值分別為()。A.1和0B.1和4C.4和0D.4和1答案:::A24.類MyA的拷貝構造函數是()。A.MyA()B.MyA(MyA*)C.MyA(MyA&)D.MyA(MyA)答案:::C25.以下錯誤闡述友元關系的是()。A.提高程序的運行效率B.是類與類的關系C.是一個類的成員函數與另一個類的關系D.可以傳遞答案:::D26.下列不是類成員函數的是()。A.友元函數B.析構函數C.構造函數D.拷貝構造函數答案:::A27.下面有關類說法不正確的是()。A.一個類可以有多個構造函數B.一個類只有一個析構函數C.析構函數需要指定參數D.類中可以沒有類型轉換成員函數答案:::C28.下列有關重載函數的說法中正確的是()。A.重載函數必須有不同的形參列表B.重載函數參數個數必須相同C.重載函數必須具有不同的返回值類型D.重載函數名可以不同答案:::A29.this指針存在的目的是()。A.保證靜態數據成員可以被訪問B.保證常成員函數可以被調用C.保證每個對象擁有自己的數據成員,但共享處理這些數據成員的代碼D.保證友元函數可以訪問對象的私有數據答案:::C30.關于new運算符的下列描述中,錯誤的是()。A.它可以用來動態創建對象和對象數組B.使用它創建的對象或對象數組可以使用運算符delete刪除C.使用它創建對象時要調用構造函數D.使用它創建對象數組時必須指定初始值答案:::D二、填空題1.在C++面向對象的程序設計中,將一組對象的共同特性抽象出來形成①。答案:::①類2.表達式cout<<endl;

中的endl也可表示為②。答案:::②‘\n’3.如下while循環執行次數是③。intn=0;while(n=1)n++;答案:::③無限次4.每個對象都是所屬類的一個④。答案:::④實例5.用new來動態分配有10個元素的整型數組單元,并用指針ip指向該單元,應使用語句⑤。答案:::⑤int*ip=newint[10];6.函數模板中,template<>尖括號內用于表示“類型名”參數的保留字是⑥。答案:::⑥class7.假如一個類的名稱為MyClass,使用這個類的一個對象初始化該類的一個新對象時,會調用⑦構造函數來完成此功能。答案:::⑦拷貝構造函數8.對賦值運算符進行重載時,應聲明為⑧函數。答案:::⑧類成員9.如果要把A類成員函數fun()且返回類型為void聲明為類B的友元函數,則應在類B的定義中加入的語句⑨。答案:::⑨friendvoidA::fun();10.定義類的動態對象數組時,系統只能自動調用該類的⑩構造函數對其進行初始化。答案:::⑩無參11.類A的靜態整形數據x在類外初始化為0的語句①。答案:::①intA::x=0;12.運算符重載不能改變運算符的優先級、結合性和②。答案:::②操作數的個數13.面向對象的4個特征是:③繼承和封裝。答案:::③抽象、多態、14.友元關系的3個注意點是:(1)友元關系不能被繼承。(2)友元關系是單向的,不具有交換性。(3)④。答案:::④友元關系不具有傳遞性15.設類A有成員函數voidfun(void);若要定義一個指向該成員函數的指針變量pf并指向fun(),該指針變量的定義語句是:⑤。答案:::⑤void(A::*pf)(void)=&A::fun;(或void(A::*pf)(void);和pf=&A::fun;)16.下列程序段的輸出結果是⑥。for(i=0,j=10,k=0;i<=j;i++,j-=3,k=i+j)cout<<k<<",";答案:::⑥0,8,6,17.以下while循環執行次數是⑦。intn=0;while(n=1)n++;答案:::⑦無限次18.C++語言中如果調用函數時,需要改變實參或者返回多個值,形參應該采?、喾绞?。答案:::⑧傳地址或引用19.若函數的定義位于調用它的函數之后,則在程序調用函數之前必須有該函數的⑨語句。答案:::⑨聲明20.函數的形參是對象的引用,實參應是⑩。答案:::⑩對象名21.C++對C語言做了改進與擴展,從面向過程變成為面向對象的主要原因是引進了①的概念。答案:::①類和對象22.類的靜態成員函數在類外定義時,不能使用②。答案:::②static作為前綴23.動態分配5個整型元素數組內存的語句是③,而刪除該數組的語句是④。答案:::③int*ip=newint[5]; ④delete[]ip;24.在A類中聲明常成員函數intfn(char,int)的正確語句是⑤。答案:::⑤intfn(char,int)const;25.this指針始終指向調用成員函數的⑥。答案:::⑥對象26.在#include命令中用<>所包含的頭文件,一般是⑦。答案:::⑦系統定義的頭文件27.如果要把類B的成員函數voidfun()說明為類A的友元函數,則應在類A中加入語句⑧;。答案:::⑧friendvoidB::fun();28.類的靜態成員屬于⑨而不屬于⑩,它是該類的所有對象共享的成員。答案:::⑨類 ⑩某個對象三、程序填空題1.在下面程序橫線處填上適當字句,使該程序執行結果為反向輸出數組的元素:50,40,30,20,100,7.5,8.4,9.3,10.2,11.1#include<iostream>usingnamespacestd;template<classT>voidfun(①){②;for(inti=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}intmain(){inti,a[5]={10,20,30,40,50};doubled[6]={11.1,10.2,9.3,8.4,7.5};fun(a,5);fun(d,6);for(i=0;i<5;i++)cout<<a[i]<<",";cout<<endl;for(i=0;i<6;i++)cout<<d[i]<<",";cout<<endl;}答案:::Ta[],intnTt=0;2.在下面程序的底畫線處填上適當的字句,使該程序執行結果為37。#include<iostream>usingnamespacestd;classTest{public:Test(inti=10){x=i+x;}staticintGetnum(){returnTest::x;}private:③;};④;intmain(){Testtest1,test2(7);cout<<Test::Getnum()<<endl;}答案:::staticintx;intTest::x=20;3.產生10個[1-100]之間的隨機數并輸出顯示,數間用空格分隔。#include<iostream>#include<time.h>usingnamespacestd;intmain(){inti,a[11];srand(time(NULL));for(i=1;i<=10;i++) ⑤for(i=1;i<=10;i++)⑥cout<<endl;return0;}答案:::a[i]=1+rand()%100;cout<<a[i]<<"";4.程序實現大寫字母轉換成小寫字母。#include<iostream>usingnamespacestd;intmain(){chara;cin>>a;if(①)②;cout<<a<<endl;}答案:::a>=‘A’&&a<=‘Z’;a=a+32;(或a=a|32)5.在下面程序橫線處填上適當字句,完成類的定義。classline;classbox{public:③voidset_color(intc){color=c;}voiddefine_box(intx1,inty1,intx2,inty2){ux=x1;uy=y1;bx=x2;by=y2;}private:intcolor;intux,uy;intbx,by;};classline{public:friendintsame_color(linea,boxb);voidset_color(intc){color=c;}voiddefine_line(④){startx=x1;starty=y1;endx=x2;endy=y2;}private:intcolor;intstartx,starty;intendx,endy;};intsame_color(linea,boxb){if(a.color==b.color)return1;return0;}答案:::friendintsame_color(linea,boxb);intx1,inty1,intx2,inty26.在下列程序的空格處填上適當的字句。#include<iostream>#include<cmath>usingnamespacestd;classMagic{public:Magic(doubled=0.00){x=fabs(d);}Magicoperator+(⑤){Magicsum;sum.x=sqrt(x*x+c.x*c.x);returnsum;}⑥operator<<(ostream&output,Magic&c);private:doublex;};ostream&operator<<(ostream&output,Magic&c){output<<c.x;returnoutput;}答案:::Magic&c,friendostream&7.以下程序是打印10到99之間能被3整除且至少有一位是5的數。#include<iostream>usingnamespacestd;voidsub(①){inta1,a2;a1=m/10;a2=m%10;if(m%3==0&&(②))cout<<m<<endl;}intmain(){intk;for(k=10;k<=99;k++)sub(k);return0;}答案:::intma1==5||a2==58.類Test如下所示,num初始化值為5,程序運行后輸出的值是:③。#include<iostream>usingnamespacestd;classTest{private:staticintnum;public:Test(int);voidshow();};④Test::Test(intn){num+=n;}voidTest::show(){cout<<num<<endl;}intmain(){Testt1(10),t2(17);t1.show();return0;}答案:::32,intTest::num=5;9.下面程序用來求數組元素值的和。請在程序的橫線處填上適當內容,使程序完整。#include<iostream>usingnamespacestd;classArr{public:Arr(){a=0;n=0;}Arr(intaa[],intnn){n=nn;a=newint[n];for(inti=0;i<nn;i++)a[i]=aa[i];}~Arr(){delete[]a;}intGetValue(inti){returna[i];}intGetn(){returnn;}private:int*a,n;};intmain(){intb[5]={10,20,30,40,50};Arra1(b,5);inti,k,s=0;k=a1.Getn();⑤s+=⑥;cout<<"s="<<s<<endl;return0;}答案:::for(i=0;i<k;i++)a1.GetValue(i)四、程序分析題

1.程序的功能是?其中if塊起什么作用?#include<iostream>usingnamespacestd;intmain(){intx;cout<<"enterchoice(1-4):";cin>>x;while(x<1||x>4){cout<<"Invalidchoice,tryagain:";cin>>x;if(cin.fail()){cin.clear();cin.sync();cin>>x;}}cout<<"Hadchoice:"<<x<<endl;return0;}答:從鍵盤輸入1-4之間的一位數。if的作用是保護cin對象的輸入。2.給出下面程序輸出結果。#include<iostream>usingnamespacestd;classTest{public:Test(inti,intj=0){x=i;y=j;}intget(inti,intj){returni+j+x+y;}private:intx,y;};intmain(){Testt1(2),t2(4,6);int(Test::*p)(int,int);p=&Test::get;cout<<(t1.*p)(5,10)<<endl;cout<<(t2.*p)(7,20)<<endl;return0;}答案:::17373、程序運行后的輸出結果是?#include<iostream>usingnamespacestd;voidSB(charch){switch(ch){case'A':case'a':cout<<"well!";break;case'B':case'b':cout<<"good!";break;case'C':case'c':cout<<"pass!";break;default:cout<<"bad!";break;}}intmain(){chara1='b',a2='C',a3='f';SB(a1);SB(a2);SB(a3);SB('A');cout<<endl;return0;}答案:::good!pass!bad!well!4.程序運行時輸入字符“ABCDEFG123456”回車后的輸出結果是?#include<iostream>usingnamespacestd;intmain(){charch;inti=0;while((ch=getchar())!=’\n’){cout<<ch<<”,”;i++;if(i%5==0)cout<<endl;}return0;}答案:::A,B,C,D,E,F,G,1,2,3,4,5,6,給出下面程序輸出結果。#include<iostream>usingnamespacestd;intmain(){intb=20,*p1=&b;int**p2=&p1;cout<<(*p1)++<<”,”<<**p2<<endl;return0;}答案:::20,21給出下面程序輸出結果。#include<iostream>usi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論