2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案_第1頁
2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案_第2頁
2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案_第3頁
2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案_第4頁
2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023年大學試題(計算機科學)-C++語言程序設(shè)計考試歷年重點考核試題含答案(圖片大小可自由調(diào)整)第1卷一.參考題庫(共50題)1.中國有句俗語叫"三天打魚兩天曬網(wǎng)"。某人從1990年1月1日起開始?"三天打魚兩天曬網(wǎng)",問這個人在以后的某一天中是"打魚"還是"曬網(wǎng)"。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號中填入所編寫的若干語句。 2.編程計算:1!+2!+3!+…+20!,并將結(jié)果輸出。輸出格式:1!+2!+3!+…+20!=表達式的值。3.如果一個類的所有對象都共享某一個變量,則應(yīng)當將該變量定義為該類的私有成員。4.友元函數(shù)是被說明在()內(nèi)的()成員函數(shù)。友元函數(shù)可訪問該類中的成員。5.什么叫做可見性?6.鍵盤輸入m和n(10<m<n≤32000),求出m~n間所有素數(shù)且按每行8個數(shù)形式輸出。7.對象的存儲類只有外部的和靜態(tài)的。8.子類型是不可逆的。9.使用new運算符創(chuàng)建的對象,如果不使用delete運算符釋放,它們會在生存期到了時被系統(tǒng)釋放嗎?10.虛擬函數(shù)是如何實現(xiàn)面向?qū)ο缶幊痰亩鄳B(tài)性的,它會帶來什么益處?11.在創(chuàng)建派生類對象時,構(gòu)造函數(shù)的執(zhí)行順序是()A、對象成員構(gòu)造函數(shù)―基類構(gòu)造函數(shù)―派生類本身的構(gòu)造函數(shù)B、派生類本身的構(gòu)造函數(shù)―基類構(gòu)造函數(shù)―對象成員構(gòu)造函數(shù)C、基類構(gòu)造函數(shù)―派生類本身的構(gòu)造函數(shù)―對象成員構(gòu)造函數(shù)D、基類構(gòu)造函數(shù)―對象成員構(gòu)造函數(shù)―派生類本身的構(gòu)造函數(shù)12.利用順序排序法將10個數(shù)按降序排列。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號中填入所編寫的若干語句。 13.多重繼承是指一個基類派生出多個派生類的情況。14.在文件操作中,代表以追加方式打開文件的模式是()A、iso::ateB、iso::appC、iso::outD、iso::trunc15.分別用成員函數(shù)和友元函數(shù)重載運算符,使對實型的運算符“*”適用于復(fù)數(shù)運算。提示:兩復(fù)數(shù)相乘的計算公式為:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。16.簡述隊列和棧的異同17.C++語言中模板分為函數(shù)模板和類模板兩種。18.有關(guān)專家十分關(guān)注珠江漁業(yè)資源的問題。目前珠江中大約有8000萬條魚,平均每年以3.5%的速度減少。請編寫一個程序,計算在多少年之后魚的數(shù)目下降到目前的一半?多少年后下降到目前的十分之一?(提示注意整數(shù)類型的取值范圍)。19.面向?qū)ο蟮木幊陶Z言有哪些特點?20.派生類中成員的訪問權(quán)限與基類的繼承方式有關(guān)。21.簡述使用友元的利弊。22.常類型指針有兩種,一種是指針的地址值是常量,另一種是指針所指向的變量或?qū)ο笫浅A俊?3.給對象數(shù)組元素賦值時都要創(chuàng)建臨時對象。24.采用inline定義內(nèi)聯(lián)函數(shù)時,在對于函數(shù)代碼少、頻繁調(diào)用的情況下特別有效。25.什么叫遞歸函數(shù)?簡述其執(zhí)行過程。26.求100以內(nèi)(不含100)能被3整除且個位數(shù)為6的所有整數(shù),并按從小到大的順序存入數(shù)組a中。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號中填入所編寫的若干語句。 27.有如下程序:執(zhí)行后的輸出結(jié)果應(yīng)該是() A、ACB、CAC、AD、C28.運算符[?]只能用()運算符來重載,不能用友元運算符來重載。29.定義重載函數(shù)時,應(yīng)保證()或()有所不同。30.定義一個學生類,其中有3個數(shù)據(jù)成員:學號、姓名、年齡,以及若干成員函數(shù)。同時編寫main函數(shù)使用這個類,實現(xiàn)對學生數(shù)據(jù)的賦值和輸出。31.s1和s2是兩個結(jié)構(gòu)類型變量,若要使賦值s1=s2合法,則它們的說明應(yīng)該是()A、s1只能接收相同類型的數(shù)據(jù)成員B、結(jié)構(gòu)中的成員相同C、同一結(jié)構(gòu)類型的變量D、存儲字節(jié)長度一樣的變量32.假定AA為一個類,a()為該類公有的函數(shù)成員,x為該類的一個對象,則訪問x對象中函數(shù)成員a()的格式為:()A、?x.aB、?x.a()C、?x->aD、?x->a()33.有1020個西瓜,第一天賣一半多兩個,以后每天賣剩下的一半多兩個,問幾天以后能賣完,請編程。34.若有類T說明classT{inti;friendvoidfFriend(T&,int);};,則函數(shù)fFriend的錯誤定義是()A、voidfFriend(T&objT,intk){objT.i=k;}B、voidfFriend(T&objT,intk){k=objT.i;}C、voidT::fFriend(T&objT,int?k){k+=objT.i;}D、voidfFriend(T&objT,intk){objT.i+=k;}35.編寫一個程序,把一張1元鈔票換成1分、2分和5分的硬幣,每種至少有1枚,問有多少種換法?36.完成函數(shù)days,計算某個日期在這一年中是第幾天。如1989年1月8是這一年的第8天。閏年判斷條件:年份是4的倍數(shù)且不是100的倍數(shù),或者年份是400的倍數(shù)。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號中填入所編寫的若干語句。 37.完數(shù)問題:若有一數(shù),其值等于它的因子之和,則該數(shù)稱為完數(shù)。例如,6的因子為1、2、3,而6=1+2+3,故6是完數(shù)。編程輸出1000之內(nèi)的所有完數(shù)及其因子。38.設(shè)計函數(shù)int-digit(int-num,int-k);返回整數(shù)num從右邊開始的第k位數(shù)字的值,要求num位數(shù)小于10位。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在*Program*和*End*所標記的區(qū)域內(nèi)完成題干要求的函數(shù)功能。 39.在c++中,類之間的繼承關(guān)系具有()A、自反性B、對稱性C、傳遞性D、反對稱性40.以下正確的函數(shù)定義是()A、B、C、D、41.文件"file.txt"中存放了若干字符。函數(shù)int-tongji(int&n)是統(tǒng)計文件"file.txt"中數(shù)字和字母的個數(shù)。將字母個數(shù)存入到n中,數(shù)字的個數(shù)作為函數(shù)值返回。請實現(xiàn)該函數(shù)。 注意:部分源程序給出如下。請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)的花括號中填入所編寫的若干語句。 42.在C++程序中使用的cout標識符是系統(tǒng)類庫中定義的()類中的一個對象。A、?istreamB、?ostreamC、?iostreamD、?fstream43.C和C++中struct有什么區(qū)別?44.輸入一個字符,如果為字母,則輸出其ASCII碼。45.編寫程序找出二維整形數(shù)組中所有這樣的元素及其位置:它在所在的行上是最大的,在所在的列上也是最大的。設(shè)數(shù)組中的元素各不相同。(提示:先在第i行中尋找此行最大值元素,記下其行和列,然后在其所在的列判斷它是否也是最大的,若是則輸出結(jié)果??梢砸霕酥咀兞勘硎菊业竭@個元素。)46.編寫函數(shù)distance,計算兩點(x1,y1)和(x2,y2)之間的距離。47.構(gòu)造函數(shù)可以被繼承。48.商店銷售某一商品,商店每天公布統(tǒng)一的折扣(discount)。同時允許銷售人員在銷售時靈活掌握售價(price),在此基礎(chǔ)上,對一次購10件以上者,還可以享受9.8折優(yōu)惠?,F(xiàn)已知當天3名銷貨員的銷售情況為: 請編程序,計算出當日此商品的總銷售款sum,以及每件商品的平均售價。要求用靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。(提示:將折扣discount、總銷售款sum和商品銷售總件數(shù)n聲明為靜態(tài)數(shù)據(jù)成員,再定義靜態(tài)成員函數(shù)average(求平均售價)和display(輸出結(jié)果)。49.使用MFC編程時,OnDraw函數(shù)是CView類的成員函數(shù)。50.下列關(guān)于類之間關(guān)系的描述,正確的是()A、has-a表示一個類部分地使用另一個類B、uses-a表示類的包含關(guān)系C、is-a關(guān)系具有對稱性D、is-a機制稱為“繼承”第1卷參考答案一.參考題庫1.正確答案:2.正確答案:3.正確答案:錯誤4.正確答案:類體;非5.正確答案:可見性是標識符是否可以引用的問題。6.正確答案: 7.正確答案:錯誤8.正確答案:正確9.正確答案: 使用new運算符創(chuàng)建的對象,如果不使用delete運算符釋放,它們不會在生存期到了時被系統(tǒng)釋放。10.正確答案:虛擬函數(shù)的運用使操作不在編譯時被關(guān)聯(lián)到指針的原始類型的實現(xiàn)上,而是在運行時關(guān)聯(lián)到指針真正指向的對象類型的實現(xiàn)上,即動態(tài)聯(lián)編,從而實現(xiàn)了面向?qū)ο缶幊痰亩鄳B(tài)性。虛擬函數(shù)和多態(tài)性使得設(shè)計和實現(xiàn)易于擴展的系統(tǒng)成為可能;虛擬函數(shù)和多態(tài)性的程序設(shè)計無需使用switch邏輯,使用用虛擬函數(shù)機制自動完成等價的邏輯,避免了與swilch邏輯有關(guān)的各類錯誤;當通過基類指針或引用請求使用虛函數(shù)時,編譯器會在與對象關(guān)聯(lián)的派生類中正確的選擇重定義的函數(shù);使用虛擬函數(shù)和多態(tài)性能夠使成員函數(shù)的調(diào)用根據(jù)接收到該調(diào)用的對象的類型產(chǎn)生不同的動作。11.正確答案:D12.正確答案:13.正確答案:錯誤14.正確答案:B15.正確答案:16.正確答案:隊列和棧都是線性存儲結(jié)構(gòu),但是兩者的插入和刪除數(shù)據(jù)的操作不同,隊列是“先進先出”,棧是“后進先出”。注意:區(qū)別棧區(qū)和堆區(qū)。堆區(qū)的存取是“順序隨意”,而棧區(qū)是“后進先出”。棧由編譯器自動分配釋放,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。堆一般由程序員分配釋放,若程序員不釋放,程序結(jié)束時可能由OS回收。分配方式類似于鏈表。它與本題中的堆和棧是兩回事。堆棧只是一種數(shù)據(jù)結(jié)構(gòu),而堆區(qū)和棧區(qū)是程序的不同內(nèi)存存儲區(qū)域。17.正確答案:正確18.正確答案: 19.正確答案:面向?qū)ο蟮木幊陶Z言與以往各種編程語言有根本的不同,它設(shè)計的出發(fā)點就是為了能更直接的描述客觀世界中存在的事物以及它們之間的關(guān)系。面向?qū)ο蟮木幊陶Z言將客觀事物看作具有屬性和行為的對象,通過抽象找出同一類對象的共同屬性(靜態(tài)特征)和行為(動態(tài)特征),形成類。通過類的繼承與多態(tài)可以很方便地實現(xiàn)代碼重用,大大縮短了軟件開發(fā)周期,并使得軟件風格統(tǒng)一。因此,面向?qū)ο蟮木幊陶Z言使程序能夠比較直接地反問題域的本來面目,軟件開發(fā)人員能夠利用人類認識事物所采用的一般思維方法來進行軟件開發(fā)。C++語言是目前應(yīng)用最廣的面向?qū)ο蟮木幊陶Z言。20.正確答案:正確21.正確答案:使用友元的益處:在有些情況下,能夠利用某些特定的全局函數(shù)或類的成員函數(shù)對某類的隱藏成員進行存取的這種特性是非常方便的,避免了將類中所有成員都設(shè)定為公有成員;使用友元的弊端:雖然聲明友元可以方便的對類的非公有數(shù)據(jù)進行訪問,但同時破壞了類的封裝與信息隱藏性,并且難以維護。22.正確答案:正確23.正確答案:錯誤24.正確答案:正確25.正確答案:遞歸函數(shù)是指一個函數(shù)的函數(shù)體中直接調(diào)用或間接調(diào)用了該函數(shù)自身的函數(shù)。遞歸函數(shù)調(diào)用的執(zhí)行過程分為兩個階段:(1)遞推階段:從原問題出發(fā),按遞歸公式遞推,從未知到已知,最終達到遞歸終止條件。(2)回歸階段:按遞歸終止條件求出結(jié)果,逆向逐步代入遞歸公式,回歸到原問題求解。26.正確答案:27.正確答案:A28.正確答案:成員29.正確答案:參數(shù)個數(shù);參數(shù)類型30.正確答案:31.正確答案:C32.正確答案:B33.正確答案:34.正確答案:C35.正確答案: 36.正確答案:37.正確答案: 38.正確答案:39.正確答案:C40.正確答案:A41.正確答案:42.正確答案:B43.正確答案: C.語言中:Struct是用戶自定義數(shù)據(jù)類型(UDT)C++語言中: S.truct是抽象數(shù)據(jù)類型(ADT),支持成員函數(shù)的定義。 在C++中,struct的成員的默認訪問說明符為public,class為private。c中

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論