版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2011年C+興趣小組招新筆試試題班級 姓名 學(xué)號 聯(lián)系電話C語言部分(60分)一、選擇題(6 * 2=12) 下面能從數(shù)組x中復(fù)制前n個元素到數(shù)組y中,正確的代碼是()i=0; while(in)yi=xi+;i=0; while(in)yi+=xi;i=0; while(in)yi=xi;i+for(i=1;i b+ ) & b 2 )a=b;elsea=(a4 );printf(%d,a);則最終打印a的值為() TOC o 1-5 h z 0123有這樣一段程序int a=3;doprintf(%d ,a);while( a -= 2 );則最終輸出結(jié)果為()3 13 1 -133 1
2、 -1 -3 . 下列選項(xiàng)中錯誤的是()A)所有的無符號運(yùn)算都是以2的n次方為模(這里n是結(jié)果中的位數(shù)),所以沒 有所謂的溢出一說。B)a和b是兩個非負(fù)整數(shù),一種檢測a+b是否溢出的代碼是if( a INT_MAX b ) complain();C)當(dāng)一個運(yùn)算的結(jié)果發(fā)生溢出時,做出任何假設(shè)都是不安全的。D)兩個無符號數(shù)相加,溢出的后的結(jié)果為負(fù)。下列關(guān)于關(guān)鍵字static的作用,說法不正確的是()A)當(dāng)我們同時編譯多個文件時,所有未加static前綴的全局變量和函數(shù)都具有 全局可見性。B)static變量具備持久性和默認(rèn)值0;C)static變量使整形(int)變量初始化為0,但是對浮點(diǎn)型則不一
3、樣,其初始 化值不能確定。D)static變量存放在靜態(tài)存儲區(qū);C語言程序,頭文件中不應(yīng)該包含的內(nèi)容為()A)函數(shù)原型B)結(jié)構(gòu)聲明C)函數(shù)定義D)宏定義二、填空題(5*2=W閱讀下面代碼片段struct asint a;char c;union auchar c; int i;請回答:sizeof(as)=sizeof(au)=閱讀下面代碼片段 char cArray = g, o, o, d, T, u, c, k;char *cpointer = goodluck;請回答:sizeof(cArray) issizeof(cpointer) isstrlen(cpointer) is三、簡答
4、題(5 * 4=20)9.包含頭文件時,通常include后面跟著尖括號,如#include 。但也會 跟著雙引號,請簡述二者的區(qū)別(#include #include .)。10. main函數(shù)中return 0; return 1;的區(qū)別是什么?11.關(guān)鍵詞NULL(空指針)是一個在c庫中的宏定義。嘗試寫出該宏定義。12.請簡述數(shù)組名和指針的區(qū)別13.請簡述自動變量(auto),寄存器變量(register),易失變量(volatile,選做),靜態(tài)變量(static),外部變量(extern),以及restrict (可選)的區(qū)別。四、程序題(2 * 9 =1814.以下是一段冒泡排序算
5、法,請完成空白內(nèi)容void bubbleSort(int *a, int num) /*num is the number of the array*/int temp;for(int i=0; inum; i+)for(int j=0; j aj+1);對于這個冒泡排序算法,總會對這個數(shù)組進(jìn)行n趟篩選。但是n趟并不是必須的, 比如說當(dāng)執(zhí)行了 i趟(in),數(shù)組就已經(jīng)排好序了,剩下的n-i趟只是無聊的重復(fù)。 請?zhí)岢龈倪M(jìn)意見,提高效率,避免這種無聊的重復(fù)。15.第一個二分搜索算法早在1946年就出現(xiàn)了,但是第一個完全正確的二分搜索 算法卻直到1962年才出現(xiàn),之間竟有16年的時間??涩F(xiàn)在需要請你
6、在這場考試 中寫出一個正確的二分搜索算法。/* a是按升序排序后的數(shù)組,data是要搜索的元素,n是數(shù)組的長度*/int BinarySearch(int a, int data, int n)/*end BinarySearch */C+語言部分(40分)一、填空題(7 * 2=1)4閱讀下面代碼片段int f(int, int) const;以下為函數(shù)f的重載函數(shù)的有.(多選)A. void f(int, int); B.int f(int) const; C.void f(int,int) const; D.int f(char) const;閱讀下面代碼片段char *p = I li
7、ke c+;cout p + 2 = 1; i /= 2) +j; 可知,該片段的時間復(fù)雜度為閱讀下面代碼片段char array = hello, c;cout *array+ endl;顯示屏上應(yīng)顯示閱讀下面代碼片段enum open_modes input, output = 5, append;cout input endl;顯示屏上應(yīng)顯示閱讀下面代碼片段void subFun(int &arg) static int x = 5;x += arg;arg = x + arg;int main() int i = 10;for (int j = 1; j = 3; +j) subFun
8、(i);cout i endl;return 0;顯示屏上應(yīng)顯示有如下程序class Base public :void printf1() cout Base:f1()n; virtual void printf2() cout Base:f2()n; ;class Derived : public Base public :virtual void printf1() cout Derived:f1()n; void printf2() cout dividend divisor; /由用戶輸入被除數(shù)和除數(shù) int result = dividend / divisor;cout resu
9、lt endl;該程序是否存在安全風(fēng)險?為增加其魯棒性,請利用C+的異常處理機(jī)制對其 進(jìn)行修改。10.相信漢諾塔問題已經(jīng)讓你領(lǐng)略到遞歸的巨大威力。以下請利用遞歸程序求解。 有一個大小為size的整型數(shù)組intArray。請求出該數(shù)組的最大元素。(提示:對 int Max(int intArray, int size);遞歸調(diào)用)11. Bob初學(xué)C+編程,寫了如下程序void f() char *myName = new char4;myName 0 = B;myName 1 = o;myName 2 = b;/*輸出姓名Bob*/cout myName endl;該程序是否有錯誤或不完整?應(yīng)
10、如何修改?(直接在原程序處修改)12. Bob有個朋友Pally,和Bob在一起學(xué)習(xí)c+,寫了如下程序:class friend private :char *name = Bob;public :friend() friend() delete name; void setName(const char *iniN) int len = strlen(iniN);name = new charlen + 1;strcpy(name, iniN);char* getName() return name; /*end friend */但是在編譯時,該程序老是出錯。Pally很惱火。你能幫助他找
11、到問題所在嗎?(至少找出兩處錯誤);請?jiān)谙路降目瞻滋幱梦淖置枋觥8郊宇}(3*10=30)設(shè)有自然數(shù)n (1 =n = 7)。從1到105-1這么多正數(shù)數(shù)中,數(shù)字1出現(xiàn)的次數(shù)是多少?常用的Linux系統(tǒng)發(fā)行版本有哪些?列出你所知道的常用的Linux文件系 統(tǒng)?當(dāng)你登入linux系統(tǒng)時,會將你的用戶名及密碼 與 哪些文件比較?通常 這些文件是無法正常訪問的,請使用chmod命令,修改這些文件的訪問權(quán)限。請分別簡述WIN32 API消息機(jī)制和QT信號槽機(jī)制。C+興趣小組筆試試題答案僅供參考一下C語言部分、選擇題(6*2分=12分)1-6 CBDDCC二、填空題8 (填5給一分),48,4, 8三、簡
12、答題答:(1)使用雙引號:系統(tǒng)首先到當(dāng)前目錄下查找被包含文件,如果沒找到, 再到系統(tǒng)指定的“包含文件目錄”(由用戶在配置環(huán)境時設(shè)置)去查找。(2)使用尖括號:直接到系統(tǒng)指定的“包含文件目錄”去查找。答:return 0表示main函數(shù)正常退出,而return非零表示main函數(shù)異常退出, 返回的值可以作為異常代碼。答:#define NULL 0。(1)數(shù)組名是常量,指針是變量(2)對數(shù)組名sizeof可以求得數(shù)組占用的字節(jié) 數(shù),對指針sizeof只能獲得指針占用的字節(jié)數(shù)。13auto函數(shù)中的局部變量,默認(rèn)類型,動態(tài)分配方式,(1分)static靜態(tài)局部變量,函數(shù)調(diào)用后,其值不變,(1分)限制
13、作用域在文件內(nèi)(1 分)extern在一個或多個文件中聲明外部變量(1分)register寄存器變量,只是對編譯器的一個建議(1分),volatile優(yōu)化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而 不是使用保存在寄存器里的備份(1分)restrict是c99引入的,它只可以用于限定指針,并表明指針是訪問一個數(shù)據(jù)對 象的唯一且初始的方式(1分)四、程序題14.num-i-1 (2 分)temp=aj (1分)aj=aj+1(1 分)aj+1=temp (1分)優(yōu)化方案:設(shè)置一個bool變量,當(dāng)交換一次或者一次以上時,改變bool變量的值。如果在一趟排序中沒有發(fā)生交換,則說明排序完
14、成。(4分)15能寫出基本思路得(3分).數(shù)組為1,2,查找2,進(jìn)行測試,看是否陷入陷入死循環(huán)。不陷入死循環(huán)得(3分。)思路清晰且有注釋得(2分)代碼示例一:int BinarySearch( int a, int data, int n ) Int first=0;Int middle;Int last=n;While(first data)Last=middle;else if(amiddle dividend divisor; 由用戶輸入被除數(shù)和除數(shù)int result = dividend / divisor;cout result void calDiv() int dividend
15、;int divisor;try cin dividend divisor;if (divisor = 0) throw divisor is 0;int result = dividend / divisor;cout result endl; catch(const char *error) cout error n;版本一:int Max(int intArray, int size) if (size = 1) return intArray0;else return max(Max(intArray, size - 1), intArraysize - 1);版本二int Max(i
16、nt intArray, int size)static int max = intArraysize-1;if(size=0)return max;elseif(maxmax?temp:max;11.delete myNmae;添加myName3=/0改對一個算兩S分)12.a. friend Frienda. friend Friend char *name;b.char *name = Bob = 類聲明大括號后面加上; char *name;附加題1f(n)=10f(n-1)+10n-22常用 linux 操作系統(tǒng): fedaro Ubuntu minit。(2 分)會和/etc/password(用戶信息)以及/etc/shadow (密碼)文件比較(兩個文件,每個 2分,共4分)Sudo chmod 777文件名(只要大于600就可以)(4分)3.WIN32消息機(jī)制:用于應(yīng)用程序和操作系統(tǒng)的交互Win32系統(tǒng)是基于事件驅(qū)動的,維護(hù)了多個消息隊(duì)列,會把系統(tǒng)本身產(chǎn)生的事件 或者用戶觸發(fā)的事件解釋成一個消息,所有產(chǎn)生的消息都回被放入或是插入隊(duì)列 中。系統(tǒng)會在隊(duì)列中取出每一條消息,根據(jù)消息的接收句柄而將該消息發(fā)送給擁 有該窗口的程序的消
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球溫濕度氣候試驗(yàn)箱行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國光學(xué)有機(jī)硅膠行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球電子母豬喂料器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國熟食冷藏展示柜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 房屋地基買賣合同
- 2025合同模板出國勞務(wù)合同范本
- 2025房屋借款合同范本
- 2025北京市前期物業(yè)服務(wù)合同模板
- 剪輯師聘用合同資訊
- 提升殘疾人的信息獲取與溝通能力
- 小學(xué)生雪豹課件
- 基礎(chǔ)護(hù)理常規(guī)制度
- 針灸治療動眼神經(jīng)麻痹
- 傾聽幼兒馬賽克方法培訓(xùn)
- 設(shè)備日常維護(hù)及保養(yǎng)培訓(xùn)
- 2024年安全生產(chǎn)月主題2024年學(xué)校安全生產(chǎn)月活動方案
- 2024年廣東佛山市中醫(yī)院三水醫(yī)院招聘61人歷年高頻考題難、易錯點(diǎn)模擬試題(共500題)附帶答案詳解
- 中級半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(含答案)
- 固定資產(chǎn)培訓(xùn)課件共-51張
- 2024年高考語文思辨類作文預(yù)測+考前模擬題+高分范文
- 2024年演出經(jīng)紀(jì)人考試必背1000題一套
評論
0/150
提交評論