版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、· 一,六道選擇題 (可以多選) 1 char *p = "hello world" p存儲(chǔ)在()指向 /堆棧 char p = "hello world" p存儲(chǔ)在()指向 全局變量 /數(shù)據(jù)段 static變量 /數(shù)據(jù)段 分別在哪個(gè)地方? 1數(shù)據(jù)段 2代碼段 3堆 4
2、堆棧 (此題可以配合同文件夾下的char.cpp)(二、例子程序 這是一個(gè)前輩寫(xiě)的,非常詳細(xì) /main.cpp int a = 0; 全局初始化區(qū) char *p1; 全局未初始化區(qū) main() int b
3、; 棧 char s = "abc" 棧 char *p2; 棧 char *p3 = "123456" 1234560在常量區(qū),p3在棧上。 static int c =0; 全局(靜態(tài))
4、初始化區(qū) p1 = (char *)malloc(10); p2 = (char *)malloc(20); 分配得來(lái)得10和20字節(jié)的區(qū)域就在堆區(qū)。 strcpy(p1, "123456"); 1234560放在常量區(qū),編譯器可能會(huì)將它與p3所指向的"123456"
5、60; 優(yōu)化成一個(gè)地方。 不知道是那個(gè)高人怎么想的和我一樣,我估計(jì)中間應(yīng)該有錯(cuò)誤)2 % & . && <= = 那個(gè)優(yōu)先級(jí)別最高. & % <= && =34以下哪些通信方式是可靠的通訊方式 1信號(hào)2管道3消息4tcp 5udp 6串口I/O 5是(M)?(a+):( a-),此處的M等于 我選CA,M=O,B,M=1,C,M!=O,D,M!=16是Unix的啟動(dòng)順序排序。(6個(gè)選項(xiàng))二1是數(shù)制轉(zhuǎn)換151轉(zhuǎn)2進(jìn)制和九進(jìn)制。10010
6、111 1772已知0的ASCII碼為0x40,那么int 120;在內(nèi)存中的表示形式是0x_ 78(0的ASCII碼為0x40,應(yīng)該為0x30)31、在linux下,查看目錄大小的命令是:du sh dirname 2、修改文件屬性的命令是:chomd/chgrp 3、切換為其他用戶(hù)身份的命令是:su 4還有一道指針交換數(shù)值 int i=0,j=10,int* p=&i, int* q=&j,int fun (*a,*b)int* temp=a;*a*=10;
7、*b*=10;a=b;b=temp;最后問(wèn)調(diào)用fun(&p,q)問(wèn)i、j、p、q的最終值(具體形式大概如此,但中間指針肯定記的錯(cuò)誤)此題主要考察指針指向一個(gè)整數(shù),然后利用指針改變變量,最后交換指針· 5有道填插入排序的算法。有一個(gè)數(shù)組a0 到 ai-1為從小到大排序,ai 到acount-1沒(méi)有排序,請(qǐng)您添加3條語(yǔ)句使它們按照從小到大排序int insert_sort(int a,int count) for(int i=1;i<count;+i) int j,t; t=ai; (j=i-1;) while(j>=0&&t<aj) (aj+1
8、=aj;) j-; (aj+1=t;) return 0;三,編程與邏輯題1自己寫(xiě)一個(gè)strstr(單鏈表判斷有無(wú)環(huán),)char* strstr(char* buf, char* sub)char* bp;char* sp;If(!*sub)return buf;while(*buf)bf=buf;sp=sub;do if(!*sp)return buf;while(*bp+=*sp+)buf+=1;return 0;2遍歷文本找單詞并刪掉出現(xiàn)頻率最少的單詞,fun (char* pText) #include <stdio.h>#include &l
9、t;stdarg.h> /定義av_list、av_start、av_arg等宏· 3實(shí)現(xiàn)一個(gè)與printf功能相似的函數(shù) #include <iostream>#include <conio.h>#include <stdio.h>#include <stdarg.h> /定義av_list、av_start、av_arg等宏/*此函數(shù)的作用: 實(shí)現(xiàn)一個(gè)參數(shù)個(gè)數(shù)可變的函數(shù),此函數(shù)的功能與printf類(lèi)似,
10、0; 但在格式處理上,不如printf豐富 無(wú)異常,返回一個(gè)true,否則返回falseformat字符串的合法情況如下: 1."%zyk%zyk%",OUTPUT:%zyk%zyk% 2."%dzyk%fzyk%s",OUTPUT:(int)zyk(float)zyk(string) 3."zyk",
11、60; OUTPUT:zyk非法情況如下: 1."%zyk%" ERROR:不存在%z格式、%后面必須跟一個(gè)格式字符*/bool zykPrintf(const char * format,.) /定義一個(gè)可用于指向參數(shù)的指針(實(shí)為char *), va_list argPtr;
12、;/把函數(shù)的第一個(gè)參數(shù)format的地址傳給argPtr va_start(argPtr,format); const int size = strlen(format)+1; char *tmp = new charsize; memse
13、t(tmp, 0, size);· while (*format != 0) int i; for (i=0; i<size && *format!='%' && *format!
14、=0; i+) tmpi=*format+; tmpi = 0; /在有效的字符串末尾作0值防護(hù)
15、 printf("%s",tmp); if (*format = 0) return true; switch(*+format)
16、; /按指定類(lèi)型讀取下一個(gè)參數(shù),并打印 case 'd': printf("%d", va_arg(argPtr, int); break; cas
17、e 's': printf("%s", va_arg(argPtr, char *); break; case 'c': printf("%c", va_arg(argPtr, char); break;
18、 case 'f': printf("%f", va_arg(argPtr, float); break; /對(duì)%的處理 case '%': printf(&q
19、uot;%"); break; /格式錯(cuò)誤 default : printf(" Error Ocurr!Please Check the Format!"); return false;
20、0; +format; delete tmp; return true;int main(int argc,char * argv) zykPrintf("%zyk");
21、;/error zykPrintf("zyk%"); /error zykPrintf("%zyk%zyk%"); /OUTPUT: %zyk%zyk% zykPrintf("nzyk is a pretty boy! His age is %d and %s",5,&q
22、uot;I love zyk_!"); getch(); return
23、 0; 文章引用自: · 4是一道邏輯題,有的數(shù)是2,3,5的倍數(shù),在三位數(shù)中出去可整除這三個(gè)數(shù)的和 ( 5升和3升桶量4升水) 四,改錯(cuò)題三道1tozero算法2比較簡(jiǎn)單3是高質(zhì)量里的一道題 五,問(wèn)答題1VC中有哪些方法避免C編程中的頭文件重復(fù)包含:#ifndef !#def !#endif2在C+中extern c的作用(按鍵轉(zhuǎn)換,比如點(diǎn)擊p輸出q)作為extern是C/C+語(yǔ)言中表明函數(shù)和全局變量作用范圍(可見(jiàn)性)的關(guān)鍵字,該關(guān)鍵字告訴編譯器,其聲明的函數(shù)和變量可以在本模塊或其它模塊中使用。extern "C"是連接申明(linkage decla
24、ration),被extern "C"修飾的變量和函數(shù)是按照C語(yǔ)言方式編譯和連接的3編程中異步IO和同步IO有什么區(qū)別?說(shuō)說(shuō)你可知道的幾種IO?4使用異步socket編程,通常因?yàn)榫W(wǎng)絡(luò)擁塞send不出數(shù)據(jù),會(huì)獲得什么樣的錯(cuò)誤碼(windows下舉例),通常如何處理這種情況?(核心太與用戶(hù)太的區(qū)別,x86如何轉(zhuǎn)換。)5將程序移植到不同的32位cpu中,經(jīng)常出現(xiàn)結(jié)構(gòu)字節(jié)對(duì)齊和大小端的問(wèn)題,有哪能些方法避免?(是子網(wǎng)源碼的判斷,計(jì)算,ABCDE網(wǎng)絡(luò)的區(qū)別,DE網(wǎng)絡(luò)的用途,)6怎樣解決在vc中內(nèi)存泄漏的問(wèn)題(release版本)(1)放置關(guān)鍵字assert()(2)生成map文件。
25、它并不往exe文件中添加任何東西,僅僅只是把編譯連接時(shí)的所有函數(shù)入口地址記錄在后綴為.map文件。程序崩潰的時(shí)候,可以得到一個(gè)崩潰時(shí)的EIP地址,通過(guò)地址可以很容易的查到崩潰所在的函數(shù)。(在vc setting下有個(gè)link按鈕選上generate mapfile)(3)Release版本也是可以設(shè)置斷點(diǎn)的,在希望設(shè)置斷點(diǎn)處加入_asm int 3(4)熟悉匯編,通過(guò)編譯時(shí)的匯編看出(5)使用第三方調(diào)試器。(6)關(guān)掉發(fā)行版中的一些優(yōu)化選項(xiàng),生成調(diào)試信息。(是p2p軟件在nat用戶(hù)里實(shí)現(xiàn)數(shù)據(jù)互傳的原理開(kāi)發(fā)類(lèi)筆試全部是C/C+,要求對(duì)底層有一定的了解開(kāi)發(fā)類(lèi)的筆試題目比較暈,共五頁(yè)紙,要求兩個(gè)鐘頭完
26、成(我的簡(jiǎn)歷沒(méi)有通過(guò)篩選,我是去霸王筆的-_-)好像考的內(nèi)容都跟網(wǎng)上流傳的差不多,題目?jī)?nèi)容大致如下:希望對(duì)參加深信服筆試和面試的同學(xué)有所幫助:) 1.選擇題:6題 第一題是考變量和值的存儲(chǔ)位置(堆/棧/代碼段/數(shù)據(jù)段等) 最后一題是Unix系統(tǒng)的啟動(dòng)順序,其他幾題比較簡(jiǎn)單。 2.填空題:4/5題 考sizeof、指針、數(shù)制轉(zhuǎn)換、排序等,看過(guò)高質(zhì)量C/C+應(yīng)該都沒(méi)有問(wèn)題。 3.改錯(cuò)題:3題 有道題跟高質(zhì)量C/C+中一道指針題類(lèi)似,不過(guò)那題中沒(méi)有錯(cuò),原本不需要修改,卻反倒被我改錯(cuò)了,汗.另外兩題比較簡(jiǎn)單。 4.編程題: 4/5題 判斷鏈表
27、有沒(méi)有環(huán)(要求用兩種方法); 實(shí)現(xiàn)C中的printf深圳某公司幾個(gè)vc/mfc筆試題目(含參考答案)1:Release版本下如何解決memory leak 以及非法操作的BUG。(搞不清什么非法操作)2: 在異步socket時(shí),為什么有時(shí)send不出數(shù)據(jù),會(huì)報(bào)什么錯(cuò)誤(分windows/linux下),你一般怎么處理? 下面是幾個(gè)編程的3:實(shí)現(xiàn)strstr模型 (我暈,我寫(xiě)了個(gè)函數(shù),只是不是strstr,而是strchr)4: 實(shí)現(xiàn)printf類(lèi)似的函數(shù), void myprintf(char *str,.)(用console API嗎?好像在哪書(shū)上看到可用那些API實(shí)現(xiàn),嘿,我就
28、寫(xiě)了個(gè)std:cout<<)5: 刪除文本文件中出現(xiàn)頻率最小的單詞,(文件里以空格表示間隔一個(gè)單詞)void func(char *pTxt)1、strstr的實(shí)現(xiàn)原型。char *my_strstr(const char *str, const char *strSearch)while (*str != '0')char *p = (char *)str;char *ps = (char *)strSearch;while ( ps && *p = *ps )p , ps ;if ('0' = *ps)return (char *
29、)str;str ;return NULL;2、從指定文本中刪除出現(xiàn)頻率最少的單詞,如果有多個(gè),則都刪除。實(shí)現(xiàn)void func(char* pTxt)函數(shù)。. 看 單詞處理, 論壇中很多都有涉及3、printf的實(shí)現(xiàn)。int printf(const char *format, .)va_list arglist;int buffing;int retval;va_start(arglist, format);_ASSERTE(format != NULL);#ifdef _MT_lock_str2(1, stdout);_try #endif /* _MT */buffing = _stb
30、uf(stdout);retval = _output(stdout,format,arglist);_ftbuf(buffing, stdout);#ifdef _MT_finally _unlock_str2(1, stdout);#endif /* _MT */return(retval);4、VC中有哪些方法避免C編譯頭文件重復(fù)。(除了#ifndef/#define/#endif外,就想不出來(lái)了)#pragma once5、extern "C"的用法。用于 提供 C 接口, 如使用 C 命名方式 等 .6、異步socket編程中,send不出數(shù)據(jù)的錯(cuò)誤碼是什么,(舉
31、Linux或Windows為例),你是怎么處理的?非阻塞SOCKET,SEND不出數(shù)據(jù)的原因有2個(gè)吧,TCP下連接斷開(kāi)了和該SOCKET處在阻塞狀態(tài)(也就是說(shuō)在發(fā)送數(shù)據(jù)中)。UPD發(fā)不出只有TCP后面的情況。處理的辦法就是記錄下該SOCKET的狀態(tài),當(dāng)狀態(tài)為阻塞的時(shí)間,放入緩沖,當(dāng)該SOCKET再次可寫(xiě)時(shí),發(fā)送。7、異步IO和同步IO有什么區(qū)別?舉例說(shuō)明有幾種(如read)?異步IO當(dāng)函數(shù)返回時(shí)不一定就完成了IO操作,而同步IO已經(jīng)完成了。所以異步IO需要有一個(gè)事件,當(dāng)IO完成時(shí)會(huì)設(shè)置此事件,調(diào)用者在事件上等待。8、32位系統(tǒng)中,出現(xiàn)結(jié)構(gòu)字節(jié)對(duì)齊的問(wèn)題和大小端的問(wèn)題的避免?#pragma pack(4)9、如何查出內(nèi)存泄漏和非法操作的BUG(在Release版本下)?使用map文件1, PostMessage只把消息放入隊(duì)列,不管其他程序是否處理都返回,然后繼續(xù)執(zhí)行,這是個(gè)異步消息投放函數(shù)。而SendMessage必須等待其他程序處理消息完了之后才返回,繼續(xù)執(zhí)行,這是個(gè)同步消息投放函數(shù)。而且,PostMessage的返回值表示PostMessage
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園兒童心理健康教育教案
- 高中英語(yǔ)《Participatory Research》教案(2025-2026學(xué)年)
- UnitScienceandscientists復(fù)習(xí)高中英語(yǔ)人教版選擇性必修第二冊(cè)教案(2025-2026學(xué)年)
- 三年級(jí)數(shù)學(xué)下一除法第五六課時(shí)節(jié)約教案北師大版(2025-2026學(xué)年)
- 2025年甘肅省武威市天祝藏族自治縣社區(qū)衛(wèi)生服務(wù)中心招聘執(zhí)業(yè)醫(yī)師筆試備考重點(diǎn)題庫(kù)及答案解析
- 版新蘇教版一年級(jí)下數(shù)學(xué)求被減數(shù)的簡(jiǎn)單實(shí)際問(wèn)題板書(shū)教案
- 《剪紙人物》教案
- 小班德育活動(dòng)大全教案
- 高考物理人教版一輪作業(yè)課時(shí)作業(yè)十六機(jī)械能守恒定律其應(yīng)用教案(2025-2026學(xué)年)
- 中班科學(xué)《學(xué)習(xí)以?xún)?nèi)的序數(shù)》教案
- 社區(qū)工作者社工面試題及答案解析
- 2024年福建省特殊技能人才錄用公安特警隊(duì)員筆試真題
- 全員品質(zhì)意識(shí)培訓(xùn)
- 2025高中歷史時(shí)間軸與大事年表
- 《企業(yè)納稅實(shí)訓(xùn)》課件 第12章 企業(yè)所得稅
- 2025年大學(xué)《新聞學(xué)-新聞法規(guī)與倫理》考試參考題庫(kù)及答案解析
- 蓄水池防水施工方案及施工工藝方案
- 培優(yōu)點(diǎn)05 活用抽象函數(shù)模型妙解壓軸題 (9大題型)(講義+精練)(解析版)-2026年新高考數(shù)學(xué)大一輪復(fù)習(xí)
- GB/T 23452-2025天然砂巖建筑板材
- 中國(guó)血液吸附急診專(zhuān)家共識(shí)(2025年)
- 快遞企業(yè)安全生產(chǎn)應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論