freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c常見筆試題及答案(已修改)

2025-07-06 18:50 本頁面
 

【正文】 C++面試題1 #include “”和#include 的區(qū)別?答:對(duì)于#include 對(duì)于#include “”2 頭文件的作用是什么?答:一、通過頭文件來調(diào)用庫功能。在很多場(chǎng)合,源代碼不便(或不準(zhǔn))向用戶公布,只要向用戶提供頭文件和二進(jìn)制的庫即可。用戶只需要按照頭文件中的接口聲明來調(diào)用庫功能,而不必關(guān)心接口怎么實(shí)現(xiàn)的。編譯器會(huì)從庫中提取相應(yīng)的代碼。二、頭文件能加強(qiáng)類型安全檢查。如果某個(gè)接口被實(shí)現(xiàn)或被使用時(shí),其方式與頭文件中的聲明不一致,編譯器就會(huì)指出錯(cuò)誤,這一簡(jiǎn)單的規(guī)則,能大大減輕程序員調(diào)試、改錯(cuò)的負(fù)擔(dān)。3 C++函數(shù)中值的傳遞方式有哪幾種?答:C++函數(shù)的三種傳遞方式為:值傳遞、指針傳遞和引用傳遞。4 內(nèi)存的分配方式有幾種?答:一、從靜態(tài)存儲(chǔ)區(qū)域分配。內(nèi)存在程序編譯的時(shí)候就已經(jīng)分配好,這塊內(nèi)存在程序的整個(gè)運(yùn)行期間都存在。例如全局變量。二、在棧上創(chuàng)建。在執(zhí)行函數(shù)時(shí),函數(shù)內(nèi)局部變量的存儲(chǔ)單元都可以在棧上創(chuàng)建,函數(shù)執(zhí)行結(jié)束時(shí)這些存儲(chǔ)單元自動(dòng)被釋放。棧內(nèi)存分配運(yùn)算內(nèi)置于處理器的指令集中,效率很高,但是分配的內(nèi)存容量有限。三、從堆上分配,亦稱動(dòng)態(tài)內(nèi)存分配。程序在運(yùn)行的時(shí)候用malloc或new申請(qǐng)任意多少的內(nèi)存,程序員自己負(fù)責(zé)在何時(shí)用free或delete釋放內(nèi)存。動(dòng)態(tài)內(nèi)存的生存期由我們決定,使用非常靈活,但問題也最多。5 實(shí)現(xiàn)雙向鏈表刪除一個(gè)節(jié)點(diǎn)P,在節(jié)點(diǎn)P后插入一個(gè)節(jié)點(diǎn),寫出這兩個(gè)函數(shù)。答:雙向鏈表刪除一個(gè)節(jié)點(diǎn)Ptemplateclass type void listtype::delnode(int p){int k=1。listnodetype *ptr,*t。ptr=first。while(ptrnext!=NULLamp。amp。k!=p){ptr=ptrnext。k++。}t=ptrnext。cout你已經(jīng)將數(shù)據(jù)項(xiàng) tdata刪除endl。ptrnext=ptrnextnext。length。delete t。}在節(jié)點(diǎn)P后插入一個(gè)節(jié)點(diǎn):templateclass type bool listtype::insert(type t,int p){listnodetype *ptr。ptr=first。int k=1。while(ptr!=NULLamp。amp。kp) {ptr=ptrnext。k++。}if(ptr==NULLamp。amp。k!=p)return false。else{listnodetype *tp。tp=new listnodetype。tpdata=t。tpnext=ptrnext。ptrnext=tp。length++。return true。}}6 寫一個(gè)函數(shù),將其中的\t都轉(zhuǎn)換成4個(gè)空格。bool change(char *buf, int len){ int count = 0。 int i。 // 統(tǒng)計(jì)有多少個(gè)39。\t39。 for (i = 0。 buf[i] != 39。\039。 i++) { if (buf[i] == 39。\t39。) count++。 } // 給定的buf空間是否能裝下生成的字符串 int j = i + 3 * count。 if (len j + 1) return false。 // 從后向前逐個(gè)替換 while (count 0) { while (buf[i] != 39。\t39。) buf[j] = buf[i]。 count。 buf[j] = buf[j 1] = buf[j 2] = buf[j 3] = 39。 39。 j = 4。 i。 } return true。}int main(){ char buf[100] = 123\t45\t\t\t6\t\t65\n4234\t5345。 coutBefore chage:endl。 coutbufendl。 coutAfter calling the function:endl。 // buf是原字符串,100是buf的長(zhǎng)度(要足夠大,最好是原字符串的3倍) if (change(buf, 100) == true) cout buf endl。 char c。 cinc。}7 Windows程序的入口是哪里?寫出Windows消息機(jī)制的流程.函數(shù)WinMain()。 (1)操作系統(tǒng)接收到應(yīng)用程序的窗口消息,將消息投遞到該應(yīng)用程序的消息隊(duì)列中。(2)應(yīng)用程序在消息循環(huán)中調(diào)用GetMessage函數(shù)從消息隊(duì)列中取出一條一條的消息。取出消息后,應(yīng)用程序可以對(duì)消息進(jìn)行一些預(yù)處理,例如,放棄對(duì)某些消息的響應(yīng),或者調(diào)用TranslateMessage產(chǎn)生新的消息。(3)應(yīng)用程序調(diào)用DispatchMessage,將消息回傳給操作系統(tǒng)。消息是由MSG結(jié)構(gòu)體對(duì)象來表示的,其中就包含了接收消息的窗口的句柄。因此,DispatchMessage函數(shù)總能進(jìn)行正確的傳遞。(4)系統(tǒng)利用WNDCLASS結(jié)構(gòu)體的lpfnWndProc成員保存的窗口過程函數(shù)的指針調(diào)用窗口過程,對(duì)消息進(jìn)行處理(即“系統(tǒng)給應(yīng)用程序發(fā)送了消息”)。8 如何定義和實(shí)現(xiàn)一個(gè)類的成員函數(shù)為回調(diào)函數(shù)?把函數(shù)聲明為static9 C++里面是不是所有的動(dòng)作都是main()引起的?如果不是,請(qǐng)舉例.答:在運(yùn)行c++程序時(shí),通常從main()函數(shù)開始執(zhí)行。因此如果沒有main(),程序?qū)⒉煌暾幾g器將指出未定義main()函數(shù)。例外情況:如, 在windows編程中,可以編寫一個(gè)動(dòng)態(tài)連接庫(dll)模塊,這是其他windows程序可以使用的代碼。由于DLL模塊不是獨(dú)立的程序,因此不需要main().用于專用環(huán)境的程序如機(jī)器人中的控制器芯片可能不需要main().但常規(guī)的獨(dú)立程序都需要main().10 C++里面如何聲明const void f(void)函數(shù)為C程序中的庫函數(shù)?extern C void f(void)。11 下列哪兩個(gè)是等同的 C==Dint b。 A const int* a = amp。b。 B const* int a = amp。b。 C const int* const a = amp。b。 D int const* const a = amp。b。12 內(nèi)聯(lián)函數(shù)在編譯時(shí)是否做參數(shù)類型檢查是13 三個(gè)float:a,b,c 問值 (a+b)+c==(b+a)+c 1(a+b)+c==(a+c)+b 114 把一個(gè)鏈表反向填空void reverse(test* head){test* pe = head。test* ps = headnext。while(ps){ penext = psnext。psnext = head。head = ps。ps = penext。}}16 某個(gè)程序在一個(gè)嵌入式系統(tǒng)(200M的CPU,50M的SDRAM)中已經(jīng)最化了,換到另一個(gè)系統(tǒng)(300M的CPU,50M的SDRAM)中運(yùn)行,還需要優(yōu)化嗎? 要。程序在每時(shí)每刻都要優(yōu)化,只要能找到可以優(yōu)化的方法。優(yōu)化有多種目的,在200M的CPU中可能需要以速度為重點(diǎn)優(yōu)化,在300M的CPU中可能要以代碼長(zhǎng)度為目的優(yōu)化。17. 下面哪種排序法對(duì)12354最快 Ca quick sort //快速排序 sort //冒泡排序 sort //歸并排序18. 哪種結(jié)構(gòu),平均來講,獲取一個(gè)值最快 Ba. binary tree //二叉樹b. hash table //散列表,哈希表c. stack //棧19 請(qǐng)問C++的類和C里面的struct有什么區(qū)別?答:c++的類的成員默認(rèn)情況下是私有的,c的struct的成員默認(rèn)情況下是公共的.20 請(qǐng)講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用?答:析構(gòu)函數(shù)的名字和類名相同,沒有返回值,沒有參數(shù),不能隨意調(diào)用也沒有重載。只是在類對(duì)象生命期結(jié)束時(shí)由系統(tǒng)自動(dòng)調(diào)用。虛函數(shù)用在繼承中,當(dāng)在派生類中需要重新定義基類的函數(shù)時(shí)需要在基類中將該函數(shù)聲明為虛函數(shù),作用為使程序支持動(dòng)態(tài)聯(lián)編。21 全局變量和局部變量有什么區(qū)別?是怎么實(shí)現(xiàn)的?操作系統(tǒng)和編譯器是怎么知道的?答:一些變量整個(gè)程序中都是可見的,它們稱為全局變量,一些變量在函數(shù)內(nèi)部定義且只在函數(shù)中可知,則稱為局部變量。全局變量由編譯器建立且存放在內(nèi)存的全局?jǐn)?shù)據(jù)區(qū),局部變量存放在棧區(qū).22 一些寄存器的題目,主要是尋址和內(nèi)存管理等一些知識(shí)。 立即尋址 寄存器尋址 直接尋址 寄存器間接尋址 基址加變址尋址 寄存器相對(duì)尋址 相對(duì)基址加變址尋址 23 8086是多少位的系統(tǒng)?在數(shù)據(jù)總線上是怎么實(shí)現(xiàn)的? 8086有16根數(shù)據(jù)線和20根地址線,.24 多態(tài)。overload 和 override的區(qū)別。答:多態(tài):接口的多種不同的實(shí)現(xiàn)方式即為多態(tài)重載在相同范圍(同一個(gè)類中),函數(shù)名字相同,參數(shù)不同,virtual關(guān)鍵字可有可無。覆蓋是指派生類函數(shù)覆蓋基類函數(shù),不同的范圍,函數(shù)名字相同,參數(shù)相同,基類函數(shù)必須有virtual關(guān)鍵字。Sony筆試題25.完成下列程序**.*.*..*..*..*...*...*...*...*....*....*....*....*....*.....*.....*.....*.....*.....*.....*......*......*......*......*......*......*......*.......*.......*.......*.......*.......*.......*.......*.......#i ncludeiostreamusing namespace std。const int n = 8。main(){int i。int j。int k。for(i = n。 i = 1。 i){for(j = 0。 j ni+1。 j++){cout*。for(k=1。 k ni+1。 k++){cout.。}}coutendl。 }system(pause)}26 完成程序,實(shí)現(xiàn)對(duì)數(shù)組的降序排序#i nclude iostreamusing namespace std。void sort(int* arr, int n)。int main(){int array[]={45,56,76,234,1,34,23,2,3}。sort(array, 9)。for(int i = 0。 i = 8。 i++)//曾經(jīng)在這兒出界coutarray[i] 。coutendl。system(pause)。}void sort(int* arr, int n){ int temp。for(int i = 1。 i 9。 i++){for(int k = 0。 k 9 i。 k++)//曾經(jīng)在這兒出界{if(arr[k] arr[k + 1]){temp = arr[k]。arr[k] = arr[k + 1]。arr[k + 1] = temp。} }}}27 費(fèi)波那其數(shù)列,1,1,2,3,5……編寫程序求第十項(xiàng)??梢杂眠f歸,也可以用其他方法,但要說明你選擇的理由。非遞歸#i nclude iostreamusing namespace std。int Pheponatch(int n)。main(){int Ph = Pheponatch(10)。coutPhendl。system(pause)。}int Pheponatch(int n){int elem。int n1 = 1。int n2 = 1。if(n == 1 || n ==2)return 1。else{for(int i = 3。 i = n。 i++){elem = n1 + n2。n1 = n2。n2 = elem。}return elem。}} 遞歸#i nclude iostreamusing namespace std。int Pheponatch(int n)。main(){int n。cinn。int ph = Pheponatch(n)。coutphendl。system(pause)。}int Pheponatch(int n){ if(n = 0)exit(1)。 elseif(n == 1 || n ==2)return 1。elsereturn Pheponatch(n 1) + Pheponatch(n 2)。} 28 下列程序運(yùn)行時(shí)會(huì)崩潰,請(qǐng)找出錯(cuò)誤并改正,并且說明原因。#i nclude #i nclude typedef struct{TNode* left。TNode* right。int value。} TNode。TNode* root=NULL。void appe
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1