山東大學《C語言程序設計》2021-2022學年期末試卷_第1頁
山東大學《C語言程序設計》2021-2022學年期末試卷_第2頁
山東大學《C語言程序設計》2021-2022學年期末試卷_第3頁
山東大學《C語言程序設計》2021-2022學年期末試卷_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

----------------------------------密--------------------------封----------------------------------線-----------------山東大學課程期末測試2021-2022學年第一學期《C語言程序設計》一、單項選擇題(本大題共20小題,每小題1分,共20分)1.C+源程序文件擴展名為()A..cppB..hC..1ibD..obj2.在C+中使用流進行輸入輸出,其中專用于從鍵盤進行輸入的流是()A.cerrB.cinC.coutD.cfile3.包含自定義頭文件file.h的預處理指令是()A.#define<file.h>B.#includefile.hC.#definefile.hD.#include"file.h"4.用于標識十六進制前綴或后綴是()A.元B.后綴L或eC.前綴零D.前綴0x5.設存在整型變量intx,則下列句與其它三項含義不同的是()A.int*p=&x;B.int&p=x;C.int&p=x;D.int&p=x;6.在定義類成員時,為產(chǎn)生封裝性,則需使用哪個關鍵字()A.publicB.publishC.protectedD.private7.設函數(shù)voidswap(int&,int&)將交換兩形參的值,如兩整型變量inta=10;intb=15;則執(zhí)行swap(a,b)后,a、b值分別為()A.10,10B.10,15C.15,10D.15,158.函數(shù)默認參數(shù)在函數(shù)原型中說明,默認參數(shù)必須放在參數(shù)序列的()A.前部B.中部C.后部D.兩端9.設存在函數(shù)intmin(int,int)返回兩參數(shù)中較小值,若求15,26,47三者中最小值,下列表達式中錯誤的是A.intm=min(min(15,26),min(15,47));B.intm=min(15,26,47);C.intm=min(15,min(47,26));D.intm=min(min(47,26),16);10.下列函數(shù)不能和函數(shù)voidprint(char)構成重載的是()A.intprint(int);B.voidprint(char,char);C.intprint(char);D.voidprint(int,int);11.在下列成對的表達式中,運算結果類型相同的一對是()A.7/2和7.0/2.0B.7/2.0和7/2C.7.0/2和7/2D.7.0/2.0和7.0/2l2.內(nèi)聯(lián)函數(shù)的特點是()A.減少代碼量,加快訪問速度B.減少代碼量,減緩訪問速度C.增加代碼量,減緩訪問速度D.增加代碼量,加快訪問速度13.類的私有成員可在何處被訪問()A.本類的成員函數(shù)中B.本類及子類的成員函數(shù)中C.通過對象名在任何位置D.不可訪問14.類的構造函數(shù)在以下什么情況下會被自動調(diào)用()A.定義成員函數(shù)時B.定義對象時C.定義數(shù)據(jù)成員時D.定義友元函數(shù)時15.下列關于析構函數(shù)描述正確的是()A.可以重載B.函數(shù)體中必須有delete語句C.返回類型必須是void類型D.不能指定返回類型16.設有函數(shù)TSum(Tx,Ty){returnx+y;},其中T為模板類型,則下列語句中對該函數(shù)錯誤的使用是()A.Sum(1,2);B.Sum(3.0,2.2);C.Sum(‘A’,‘C’);D.Sum("A","C");17.下列哪個編譯指令屬于條件編譯指令()A.#includeB.#defineC.#elseD.#pragma18.關于類的靜態(tài)成員函數(shù)描述錯誤的是()A.在創(chuàng)建對象前不存在B.不能說明為虛函數(shù)C.不能直接訪問非靜態(tài)函數(shù)D.不是對象的成員l9.如果類A被聲明成類B的友元,則()A.類A的成員即類B的成員B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D.類B不一定是類A的友元20.派生類的對象可以訪問以下那種情況繼承的基類成員()A.私有繼承的私有成員B.公有繼承的私有成員C.私有繼承的保護成員D.公有繼承的公有成員二、填空題(本大題共20小題,每小題1分,共20分)21.若使用標準輸出流把整型變量a的值輸出到屏幕上,實現(xiàn)此操作的C+語句是。22.C+將數(shù)據(jù)從一個對象流向另一個對象的流動抽象為“流”,從流中獲取數(shù)據(jù)的操作稱為。23.執(zhí)行下列代碼intb=100;cout<<"Hex:"<<hex<<b;程序的輸出結果是。24.靜態(tài)聯(lián)編所支持的多態(tài)性稱為的多態(tài)性。25.C+程序必須有且只有一個主函數(shù),其函數(shù)名為。26.寫出聲明一個復數(shù)對象的語句,并使該對象被初始化為2.2+1.3i,此聲明語句是。27.若有函數(shù)定義為:intadd(intml=0,intm2=2,intm3=4){returnml+m2+m3;}在主函數(shù)中有ints=add(1)+add(0,1)+add(0,1,2);則執(zhí)行此語句后s的值為。28.C+中使用關鍵字說明函數(shù)為內(nèi)聯(lián)函數(shù)。29.在源程序中有宏定義:#definePI3.14,則若不想使該宏定義影響到程序的其它地方,可以使用刪除該宏定義。30.類和其它數(shù)據(jù)類型不同的是,組成這種類型的不僅可以有數(shù)據(jù),還可以有對數(shù)據(jù)進行操作的。31.有下列代碼inta=0;doubleb=0;cin>>a>>b;當用鍵盤輸入1.25時,b=。32.對于類Point而言,其析構函數(shù)的定義原型為。33.對象成員構造函數(shù)的調(diào)用順序取決于這些對象在類中說明的順序,與它們在成員初始化列表中給出的順序。34.類的簡單成員函數(shù)是指聲明中不含、volatile、static關鍵字的函數(shù)。35.與操作對象的數(shù)據(jù)類型相互獨立的算法稱為。36.從一個或多個以前定義的類產(chǎn)生新類的過程稱為。37.在vector類中向向量尾部插入一個對象的方法是。38.C+中用于動態(tài)創(chuàng)建對象,并返回該對象的指針的關鍵字是。39.C+的流類庫預定義的與標準輸出設備相聯(lián)接的流是。40.執(zhí)行下列代碼cout<<noshowpoint<<123.0;程序輸出結果是。三、改錯題(本大題共5小題,每小題2分,共10分)41.#include<iostream.h>classf{private:floatx,y;public:f(floata,floatb){x=a;y=b;}floatmax(){return(x<y)?x:y;}求最大值main(){fa(1.5,3.8);cout<<a.max()<<endl;}42.#include<iostream.h>classtest{private:intx;public:test(inta){x=a;}voidset(inta){x=a;}voidget(){cout<<x<<endl;}}main(){consttesta(3);a.set(5);a.get();}43.#include<iostream.h>classpoint{private:floatx,y;public:f1(floata,floatb){x=a;y=b;}point(){x=0;y=0;}voidgetx(){cout<<x<<endl;}voidgety(){cout<<y<<endl;}voidprint(pointa){cout<<a.x<<endl;}main(){pointa;a.f1(3.0,5.0);print(a);}44.#include<iostream.h>classf{private:intx,y;public:fl(inta,intb){x=a;y=b;}voidprint(){cout<<x<<y<<endl;}main(){fa;a.f1(1.5,1.8);a.print();}45.#include<iostream.h>main(){intx=6;constint*p=x;cout<<*p<<endl;}四、完成程序題(本大題共5小題,每小題4分,共20分)46.完成下面程序,使其輸出l0,并在退出運行時正確釋放分配給指針的存儲空間。#include<iostream>usingnamespacestd;voidmain(){a=newint(10);p=;cout<<*p<<endl;}47.#include<iostream>usingnamespacestd;classbase{private:intx;public:base(inta){x=a;}intget(){returnx;}voidshowbase(){cout<<"x="<<x<<endl;}classDerived:publicbase{private:inty;public:Derived(inta,intb):base(a){y=b;}voidshowderived(){cout<<"x="<<get()<<",y="<<y<<endl;}voidmain(){baseb(3);Derivedd(6,7);b.showbase();d.showderived();;________b.showbase();;________b1.showbase();base*pb=&bl;pb—>showbase();d.showderived();b.showbase();}輸出結果如下:x=3x=6,y=7x=6x=6x=6x=6,y=7x=648.下面程序的運行結果如下:B::display()C::display()在下劃線處填上缺少的部分。源程序如下:#include<iostream>usingnamespacestd;classB{public: display(){cout<<"B::display()"<<endl;}classC:publicB{public: display(){cout<<"C::display()"<<endl;}voidfun(B*p){p—>display();}voidmain(){Bb,*pb;pb=&b;fun(pb);pb=&c;fun(pb);}49.下面程序的運行結果如下:Thisisline1Thisisline2Thisisline3在下劃線處填上缺少的部分。源程序如下:#include<iostream>#includeusingnamespacestd;voidmain(){fstreamfin,fout;fout.open("my.txt",ios::out);if(!fout.is_open())return;for(inti=0;i<3;i=i+1)fout<<"Thisisline"<<i+1<<endl;fout.close();fin.open("my.txt",ios::in);if(!fin.is_open())return;charstr[100];while(){fin.getline(str,100);cout<<str<<endl;}fin.close();}50.在下劃線處填上缺少的部分。源程序如下:#include<iostream>usingnamespacestd;Tfun(Tx){ y;y=x*x-T(5);returny;}voidmain(){floata=2;cout<<fun(a);}五、程序分析題(本大題共4小題,每小題5分,共20分)51.請寫出myTextl.txt文本文件中的內(nèi)容#include<iostream>#include<string>usingnamespacestd;#include<fstream>voidmain(){ofstreammyFile1;myFilel.open("myTextl.txt");cout<<"EnterthedatainChineseformat(e.g.,2008,May25):"<<endl;stringDate("2008,January1");stringYear=Date.substr(0,4);intk=Date.find(",");inti=Date.find("");stringMonth=Date.substr(k+l,i-k-1);stringDay=Date.substr(i+1,2);stringNewDate=Day+""+Month+""+Year;myFilel<<"originaldate:"<<Date<<endl;myFile1<<"Converteddate:"<<NewDate<<endl;myFilel.close();}52.給出下面程序的輸出結果#include<iostream>usingnamespacestd;classSimple{public:Simple(){x=y=0;}Simple(inti,intj){x=i;y=j;}voidcopy(Simple&s);voidsetxy(inti,intj){x=i;y=j;}voidprint(){cout<<"x="<<x<<",y="<<y<<endl;}voidSimple::copy(Simple&s){x=s.x;y=s.y;}voidfunc(Simple

溫馨提示

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

評論

0/150

提交評論