2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案_第1頁
2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案_第2頁
2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案_第3頁
2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案_第4頁
2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2024年大學試題(計算機科學)-C++語言程序設計歷年考試高頻考點試題附帶答案(圖片大小可自由調整)第1卷一.參考題庫(共25題)1.使用如setw()的格式操縱符時需要包含頭文件()A、iostream.hB、fstream.hC、iomanip.hD、stdlib.h2.按如下要求編程驗證子對象的有關操作。 (1)定義兩個類A和類B。 (2)在類B中有兩個類A的對象one,two。 驗證如下事實: (1)在類B的構造函數(shù)中應該包含對兩個類A的子對象的初始化項,被放在成員初始化列表中。 (2)在類B的默認構造函數(shù)中隱含著子對象的初始化項。 (3)在類B的析構函數(shù)中也隱含著子對象的析構函數(shù)。 (4)調用子對象構造函數(shù)的順序。3.求100!4.什么叫做作用域?5.簡述隊列和棧的異同6.用函數(shù)實現(xiàn)將一個以字符串形式表示的十六進制數(shù)轉換為一個十進制整數(shù)。例如,輸入”A2”轉換為162。7.編寫一個函數(shù)void-changeString(char-str[]);功能是把其中的大寫字母變成小寫字母,小寫字母變成大寫字母,非字母的字符不作變換。變換結果依舊保存在str數(shù)組內。大寫字母的ASCII碼值比對應的小寫字母的ASCII碼值小32,如’A’的ASCII碼值比’a’的ASCII碼值小32。 注意:僅在標有"Program"和"End"的注釋行之間補充填寫代碼。請勿改動主函數(shù)main和其它任何已有內容。 8.假定一個類AB只含有一個整型數(shù)據(jù)成員a,當用戶不定義任何構造函數(shù)時,系統(tǒng)為該類定義的無參構造函數(shù)為()A、?AB()?{a=0;}B、?AB(int?aa=0):a(aa)?{}C、?AB(int?aa):a(aa)?{}D、?AB()?{}9.請輸出個、十、百位數(shù)字各不相同的所有三位數(shù),結果寫入f2.txt中,一個數(shù)一行。 要求:輸出時按從小到大的順序輸出。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在注釋形式標識Program和End之間填入所編寫的若干語句。 10.常對象需要引用常成員函數(shù),而不能引用非常成員函數(shù)。11.使用class定義的表中,成員的默認訪問權限是()的;由struct定義的類中,成員的默認的訪問權限是()的。12.在下述哪種情況下適宜采用inline定義內聯(lián)函數(shù)。()A、函數(shù)體含有循環(huán)語句B、函數(shù)體含有遞歸語句C、函數(shù)代碼少、頻繁調用D、函數(shù)體含有switch語句13.對象指針與對象引用作函數(shù)參數(shù)時具有相同的特點,為什么人們更喜歡使用對象引用作函數(shù)參數(shù)呢?14.編寫一個以任意兩點之間距離作為返回值的函數(shù)double-distance(Point-point1,Point-point2)。計算距離會使用求平方根,它的函數(shù)原型是double-sqrt(double-v)。 注意:僅在標有"Program"和"End"的注釋行之間補充填寫代碼。請勿改動主函數(shù)main和其它任何已有內容。15.在一個類中定義了多個子對象,其構造函數(shù)調用子對象的構造函數(shù)的順序取決于什么?16.編寫一個函數(shù),統(tǒng)計出一維數(shù)組中大于等于所有元素平均值的元素個數(shù)并返回它。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在函數(shù)的花括號中填入所編寫的若干語句。 17.使用內聯(lián)函數(shù)是以增大空間開銷為代價的。18.cout屬于標準輸出流,而cerr和clog則不屬于標準輸出流。19.關于類和對象不正確的說法是()A、類是一種類型,它封裝了數(shù)據(jù)和操作B、對象是類的實例C、一個類的對象只有一個D、一個對象必屬于某個類20.移位運符在移位操作中,無論左移還是右移,所移出的空位一律補O。21.編程序,輸入若干個數(shù),設輸入的第一個數(shù)為后面要輸入的數(shù)的個數(shù),求平均值及最大值。22.每個對象都維護了一個指向自身的指針,這個指針稱為()指針。23.將運行結果(100以內素數(shù))存入文件。 注意:僅在標有"Program"和"End"的注釋行之間補充填寫代碼。請勿改動主函數(shù)main和其它任何已有內容。 24.實現(xiàn)一個名為SimpleCircle的簡單圓類,其數(shù)據(jù)成員int*itsRadius為一個指向其半徑值的指針,設計對數(shù)據(jù)成員的各種操作,給出這個類的完整實現(xiàn)并測試這個類。25.以下選項中屬于C++語言基本數(shù)據(jù)類型的是()。A、結構B、指針C、雙精度型D、自定義第2卷一.參考題庫(共25題)1.定義類A的含有5個元素的一維對象數(shù)組a,應該是()2.指向對象的常指針的地址值是可以改變的。3.用Vi編譯器底行命令模式實現(xiàn)字符串替換,把當前文件中的“xiaodai”全部替換成“banzhang”。4.寫一個函數(shù)char-myfun(int?score),實現(xiàn)百分制成績與等級之間的轉換關系:90分以上為"A",80-89為"B",70-79為"C",60-69為"D",60分以下為"E",并將等級返回。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在注釋形式標識Program和End之間填入所編寫的若干語句。 5.在C++程序中,可以使用命名空間,也可不使用命名空間。6.單參數(shù)的構造函數(shù)具有類型轉換的作用。7.設有char*s="ABCDE";cout<<strlen(s)<<endl;輸出結果是()A、6B、5C、4D、18.設置標志使得十六進制數(shù)中字母按大寫格式輸出。9.假定AB為一個類,則執(zhí)行?“AB?*s=new?AB(a,5);”語句時得到的一個動態(tài)對象為()A、?sB、?s->aC、?s.aD、?*s10.實現(xiàn)函數(shù)調用需要()進行信息管理。A、隊列B、堆棧C、數(shù)組D、參數(shù)11.設x和y均為bool量,則x&&y為真的條件是其中一個為真。12.假定AA為一個類,int?a()為該類的一個成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為()A、?int?AA::a()B、?int?AA:a()C、?AA::a()D、?AA::int?a()13.所有的運算符都可以重載。14.在C++中,用于實現(xiàn)動態(tài)多態(tài)性的是()。A、內聯(lián)函數(shù)B、重載函數(shù)C、模板函數(shù)D、虛函數(shù)15.寫一個判斷素數(shù)的函數(shù)prime,在主函數(shù)中輸入10個整數(shù),調用prime,輸出這10個整數(shù)中的素數(shù)的累加和。16.當一個派生類保護繼承一個基類時,基類中的所有公有成員和保護成員成為派生類的()A、public成員B、private成員C、protected成員D、友員17.假定AA是一個類,abc是該類的一個成員函數(shù),則參數(shù)表中隱含的第一個參數(shù)為()A、?abcB、?*thisC、?thisD、?this&18.下列對繼承關系的描述中,()是對的。A、在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的B、在公有繼承中,基類中只有公有成員對派生類的對象是可見的C、在私有繼承中,基類中只有公有成員對派生類是可見的D、在私有繼承中,基類中的保護成員對派生類的對象是可見的19.轉義序列表示法只能表示字符不能表示數(shù)字。20.以app方式打開文件時,當前的讀指針和寫指針都定位于文件尾。21.有函數(shù)原型voidfun7(int*);在下列選項中,正確的調用是()A、doublex=2.17;fun7(&x);B、inta=15;fun7(a*3.14?);C、intb=100;fun7(&b);D、fun7(256);22.對象指針數(shù)組可以使用不同類的對象的地址值進行初始化。23.某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。寫一個函數(shù)實現(xiàn)這個算法,函數(shù)原型是int-changeinfo(int-info)。 注意:部分源程序給出如下。僅在函數(shù)的花括號中填入所編寫的若干語句。 24.已知intx=5;執(zhí)行語句x+=x-=x?x;,x的值為()A、25B、40C、?40D、2025.請用c++語句聲明一個常量PI,值為3.1416;再聲明一個浮點型變量a,把PI的值賦給a。第3卷一.參考題庫(共25題)1.class類類型中,構造函數(shù)應具有哪些特征?2.靜態(tài)生存期的標識符的壽命是短的,而動態(tài)生存期標識符的壽命是長的。3.編程產生出1到10以內的所有數(shù)對并輸出,其中i>j。4.執(zhí)行下列說明語句,其調用構造函數(shù)的次數(shù)為()。 Aa[5],*p[2];其中,A是一個類名A、5B、6C、7D、105.請完成函數(shù)bool-valid(int-n),該函數(shù)判斷整數(shù)n的各位數(shù)字中是否包含數(shù)字3或4,是則返回true,否則返回false。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在函數(shù)的花括號中填入所編寫的若干語句。 6.以下不能對二維數(shù)組a進行正確初始化的語句是()A、inta[2][3]={0};B、inta[][3]={{0,1},{0}};C、inta[2][3]={{0,1},{2,3},{4,5}};D、inta[][3]={0,1,2,3,4,5};7.鍵盤輸入兩個整型變量A、B的值,利用中間變量C交換A、B的值并輸出。8.對C++語言和C語言的兼容性,描述正確的是()。A、C++兼容C語言B、C++部分兼容C語言C、C++不兼容C語言D、C語言兼容C++9.如果表達式++j*k中的“++”和“*”都是重載的友元運算符,則采用運算符函數(shù)調用格式,該表達式還可以表示為()A、operator*(j.operator++(),k)B、operator*(operator++(j),k)C、operator++(j).operator*(k)D、operator*(operator++(j),)10.在main()函數(shù)中定義變量XYZ,則變量XYZ的作用域是()。A、整個程序B、main()函數(shù)C、所在文件D、main()函數(shù)及被調函數(shù)11.在命名標識符中,大小寫字母是不加區(qū)分的。12.編寫一個函數(shù),確定一個整數(shù)是否為完全數(shù)(一個數(shù),等于他的因子之和)。用這個函數(shù)確定和打印1到1000之間的所有完全數(shù)。13.class類類型中,析構函數(shù)具有什么特征?14.函數(shù)aver計算數(shù)組a中所有正數(shù)的平均值并返回。參數(shù)len是數(shù)組a中元素個數(shù)。完成該函數(shù)的編寫。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在函數(shù)的花括號中填入所編寫的若干語句。 15.定義一個復數(shù)類Complex,重載運算符“+”,使之能用于復數(shù)的加法運算。參加運算的兩個運算量可以都是類對象,也可以其中有一個是整數(shù),順序任意。例如:c1+c2,i+c1,c1+i均合法(設i為整數(shù),c1,c2為復數(shù))。編程序,分別求兩個復數(shù)之和、整數(shù)和復數(shù)之和。初值自擬。16.運算符重載是通過對已有的運算符重新定義操作功能來實現(xiàn)的,它是C++語言多態(tài)性的一種表現(xiàn)。17.定義一個基類Student(學生),在定義Student類的公用派生類Graduate(研究生),用指向基類對象的指針輸出數(shù)據(jù)。為減少程序長度,在每個類中只設很少成員。學生類只設num(學號),name(姓名)和score(分數(shù))3個數(shù)據(jù)成員,Gradute類只增加一個數(shù)據(jù)成員pay(工資)。具體初始化數(shù)據(jù)自己設定。18.階乘尾數(shù)零的個數(shù)100的尾數(shù)有多少個零。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內容,僅在函數(shù)的花括號中填入所編寫的若干語句。 19.使用打開文件函數(shù)open()之前,需要定義一個流類對象,使用open()函數(shù)來操作該對象。20.有兩個矩陣a和b,均為2行3列。求兩個矩陣之和。重載運算符“+”,使之能用于矩陣相加。如c=a+b。初值自擬。21.說明或定義對象時,類名前面不需要加class關鍵字。22.什么叫多級指針變量?23.在面向對象程序設計中,具有相同屬性和服務的一組對象的集合稱為()。24.使用MFC編程時,OnDraw函數(shù)是CView類的成員函數(shù)。25.若在I/O流的輸出中使用控制符setfill()設置填充字符,應包括的頭文件是()。A、stdlib.hB、iostream.hC、fstream.hD、iomanip.h第1卷參考答案一.參考題庫1.參考答案:C2.參考答案: 3.參考答案: 4.參考答案:作用域是一個標識符在程序正文中有效的區(qū)域。5.參考答案:隊列和棧都是線性存儲結構,但是兩者的插入和刪除數(shù)據(jù)的操作不同,隊列是“先進先出”,棧是“后進先出”。注意:區(qū)別棧區(qū)和堆區(qū)。堆區(qū)的存取是“順序隨意”,而棧區(qū)是“后進先出”。棧由編譯器自動分配釋放,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結構中的棧。堆一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收。分配方式類似于鏈表。它與本題中的堆和棧是兩回事。堆棧只是一種數(shù)據(jù)結構,而堆區(qū)和棧區(qū)是程序的不同內存存儲區(qū)域。6.參考答案: 7.參考答案:8.參考答案:D9.參考答案:10.參考答案:正確11.參考答案:私有;公有12.參考答案:C13.參考答案:因為使用對象引用比使用對象指針更簡單。14.參考答案:15.參考答案:構造函數(shù)調用子對象的順序取決于定義子對象的順序,而與構造函數(shù)的成員初始化列表中給出的子對象速設無關。16.參考答案:17.參考答案:正確18.參考答案:錯誤19.參考答案:C20.參考答案:錯誤21.參考答案:22.參考答案:this23.參考答案:24.參考答案:25.參考答案:C第2卷參考答案一.參考題庫1.參考答案:Aa[5]2.參考答案:錯誤3.參考答案::%s/xiaodai/banzhang/g4.參考答案:5.參考答案:正確6.參考答案:正確7.參考答案:B8.參考答案: C.out.setf(ios::hex,ios::basefield); C.out.setf(ios::uppercase);9.參考答案:D10.參考答案:B11.參考答案:錯誤12.參考答案:A13.參考答案:正確14.參考答案:D15.參考答案:16.參考答案:C17.參考答案:C18.參考答案:D19.參考答案:正確20.參考答案:正確21.參考答案:C22.參考答案:錯誤23.參考答案:24.參考答案:C25.參考答案: const定義的常量是有類型的,所以在使用它們時編譯器可以檢查類型錯誤;而且,這些常量在調

溫馨提示

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

評論

0/150

提交評論