嵌入式軟件工程師綜合測(cè)試試題.doc_第1頁
嵌入式軟件工程師綜合測(cè)試試題.doc_第2頁
嵌入式軟件工程師綜合測(cè)試試題.doc_第3頁
嵌入式軟件工程師綜合測(cè)試試題.doc_第4頁
嵌入式軟件工程師綜合測(cè)試試題.doc_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

綜合測(cè)試試題第一部分:C語言一、請(qǐng)?zhí)顚態(tài)OOL , float, 指針變量 與“零值”比較的 if 語句。提示:這里“零值”可以是0, 0.0 , FALSE或者“空指針”。例如 int 變量 n 與“零值”比較的 if 語句為: if ( n = 0 ) if ( n != 0 )以此類推。請(qǐng)寫出 BOOL flag 與“零值”比較的 if 語句:請(qǐng)寫出 float x 與“零值”比較的 if 語句:請(qǐng)寫出 char *p 與“零值”比較的 if 語句:二、以下為Windows NT下的32位C+程序,請(qǐng)計(jì)算sizeof的值char str = “Hello” ;char *p = str ;int n = 10;請(qǐng)計(jì)算sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str100)請(qǐng)計(jì)算 sizeof( str ) = void *p = malloc( 100 );請(qǐng)計(jì)算sizeof ( p ) =三、簡(jiǎn)答題1、頭文件中的 ifndef/define/endif 干什么用?2、#include 和 #include “filename.h” 有什么區(qū)別?3、const 有什么用途?(請(qǐng)至少說明兩種)4、在C+ 程序中調(diào)用被 C編譯器編譯后的函數(shù),為什么要加 extern “C”聲明?5、請(qǐng)簡(jiǎn)述以下兩個(gè)for循環(huán)的優(yōu)缺點(diǎn)/ 第一個(gè)for (i=0; iN; i+)if (condition) DoSomething();else DoOtherthing();/ 第二個(gè)if (condition)for (i=0; iN; i+) DoSomething();else for (i=0; inext=NULL)return head;new_head = reverse_list(head-next);head-next-next=head;head-next=NULL; /防止鏈表成為一個(gè)環(huán),這是最關(guān)鍵的。return new_head; 2、寫出程序刪除鏈表中的所有接點(diǎn)void del_all(node *head)node *p;while(head!=NULL)p=head-next;free(head);head=p;cout釋放空間成功!endl;3、使用冒泡、選擇法、快速排序法對(duì)數(shù)組進(jìn)行排序第二部分:C+與QT1. C+對(duì)C語言做了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,即從面向過程變成面向?qū)ο?。A)增加了一些新的運(yùn)算符 B)允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)C)規(guī)定函數(shù)說明必須用原型 D)引進(jìn)類和對(duì)象的概念2. 下面說法中正確的是(B)A) 一個(gè)類只能定義一個(gè)構(gòu)造函數(shù),但可以定義多哥析構(gòu)函數(shù)(只能一個(gè))B) 一個(gè)類只能定義一個(gè)析構(gòu)函數(shù),但可以定義多個(gè)構(gòu)造函數(shù)C) 構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只是名字前加了一個(gè)求反符號(hào)()D)構(gòu)造函數(shù)(不)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以3. 下面關(guān)于友元的描述中,錯(cuò)誤的是( D)。A)友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員。B)一個(gè)類的友元類中的成員函數(shù)都是這個(gè)類的友元函數(shù)。C)友元可以提高程序的運(yùn)行效率。D)類與類之間的友元關(guān)系可以繼承。4. 有關(guān)析構(gòu)函數(shù)的說法不正確的是(B)。A) 析構(gòu)函數(shù)有切僅有一個(gè)B) 析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣(不)可以有形參C) 析構(gòu)函數(shù)的功能是用來釋放一個(gè)對(duì)象D) 析構(gòu)函數(shù)無任何函數(shù)類型5. 下列對(duì)重載函數(shù)的描述中,(A)是錯(cuò)誤的。A) 重載函數(shù)中不允許使用默認(rèn)參數(shù) B) 重載函數(shù)中編譯時(shí)根據(jù)參數(shù)表進(jìn)行選擇C) 不要使用重載函數(shù)來描述毫無相干的函數(shù) D) 構(gòu)造函數(shù)重載將會(huì)給初始化帶來多種方式6. 下面敘述錯(cuò)誤的是(C )A. 派生類可以使用private派生B. 對(duì)基類成員的訪問必須是無二義性的C. 基類成員的訪問能力在派生類中維持不變D. 賦值兼容規(guī)則也適用于多繼承的組合一、選擇題:(共10小題,每題3分)1.類的構(gòu)造函數(shù)被自動(dòng)調(diào)用執(zhí)行的情況是在定義該類的( C )A)成員函數(shù)時(shí)B)數(shù)據(jù)成員時(shí)C)對(duì)象時(shí)D)友元函數(shù)時(shí)2.說明友元函數(shù)使用關(guān)鍵字( A )A)friendB)staticC)constD)colatile3.已知類X中的一個(gè)成員函數(shù)說明如下:Void Set(x &a); 其中,X&a的含義是(C )A)指向類X的指針為aB)將a的地址賦給變量SstC)a是類X的對(duì)象引用,用來做為Set()的形參D)變量X是a按位相與作為函數(shù)Set()的參數(shù)4. 關(guān)于new運(yùn)算符的下列描述中( D )是錯(cuò)誤的. /創(chuàng)建數(shù)組時(shí),定義構(gòu)造函數(shù)必須沒有參數(shù),或全部為默認(rèn)參數(shù)A)它可以用來動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組B)使用它創(chuàng)建對(duì)象或?qū)ο髷?shù)組,可以使用運(yùn)算符DELETE刪除C)使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù)D)使用它調(diào)用對(duì)象數(shù)組時(shí)不許指定初始值5.允許訪問類的所有對(duì)象的私有成員,公有成員和保護(hù)成員的是( A )A)友元函數(shù)B)成員函數(shù)C)內(nèi)聯(lián)函數(shù)D)重載函數(shù)6局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時(shí),可以用( A )提供對(duì)全局變量的訪問A) 域運(yùn)算符B) 類運(yùn)算符C) 重載D) 引用7缺省析構(gòu)函數(shù)的函數(shù)體是( C )不存在)隨機(jī)產(chǎn)生的)空的)無法確定的、8.通常拷貝構(gòu)造函數(shù)的參數(shù)表是( C ) /在VC6.0下A)該類對(duì)象名 /編譯不會(huì)通過B)該類對(duì)象的成員名 /編譯可以通過,但不是通常的標(biāo)準(zhǔn)方法C)該類對(duì)象的引用名 /標(biāo)準(zhǔn)拷貝構(gòu)造函數(shù)的方法D)該類對(duì)象的指針名 /編譯可以通過,但不是通常的標(biāo)準(zhǔn)方法9.對(duì)定義重載函數(shù)的下列要求中,(D ) 是錯(cuò)誤的A)要求參數(shù)的個(gè)數(shù)不同 B)要求參數(shù)中至少有一個(gè)類型不同C)要求參數(shù)個(gè)數(shù)相同時(shí),參數(shù)類型不同 D)要求函數(shù)的返回值不同10.對(duì)于多重繼承,有(D )A.一個(gè)派生類只能有一個(gè)基類B.一個(gè)基類只能產(chǎn)生一個(gè)派生類C.一個(gè)基類必須產(chǎn)生多個(gè)派生類D.一個(gè)派生類可有多個(gè)基類7. C和C+有什么不同?(4分)8. 面向?qū)ο蟮娜齻€(gè)基本特征及各自的作用(6分)9. c和c+中的struct有什么不同?(5分)10. const符號(hào)的作用有哪些?(5分)11. 引用與指針有什么區(qū)別?(6分)12. 重載(overload)和重寫(overried,有的書也叫做“覆蓋”)的區(qū)別?(4分)13. static 在類內(nèi)修飾成員的作用是什么,如何引用這些成員?(4分)14. 虛析構(gòu)函數(shù)的作用是什么?(6分)15. 類成員函數(shù)的重載、覆蓋和隱藏區(qū)別?16. 在C中引用C+語言中的函數(shù)和變量時(shí),C+的頭文件需添加extern C,但是在C語言中不能直接引用聲明了extern C的該頭文件,應(yīng)該僅將C文件中將C+中定義的extern C函數(shù)聲明為extern類型。三、編程題:(共3小題 每小題10分)17. 編寫一個(gè)字符串處理的類,MyString,實(shí)現(xiàn)拷貝構(gòu)造,號(hào)重載 等基本函數(shù)。18. 使用MyString作為成員對(duì)象實(shí)現(xiàn)一個(gè)Person類,包含:姓名,年齡。19. 實(shí)現(xiàn)一個(gè)Student 類:有性名,年齡,學(xué)號(hào),老師姓名。20. 編寫類String的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)已知類String的原型為:class String public:String(const char *str = NULL);/ 普通構(gòu)造函數(shù)String(const String &other); / 拷貝構(gòu)造函數(shù) String(void); / 析構(gòu)函數(shù)String & operate =(const String &other);/ 賦值函數(shù) private:char *m_data;/ 用于保存字符串;請(qǐng)編寫String的上述4個(gè)函數(shù)。Qt圖形庫部分:1、什么是Qt圖形庫,你是怎么理解的?2、Qt庫的QApplication類有什么作用?3、Qt怎么處理繪圖事件和鼠標(biāo)事件?4、舉例說明怎么實(shí)現(xiàn)自定義信號(hào)和槽。5、要設(shè)計(jì)開發(fā)一個(gè)掃雷游戲,寫出你的設(shè)計(jì)思路。二、編程題:1.繼承自QWidget ,自定義一個(gè)Button, 功能如下:1)enter與leave有不同的背景狀態(tài)變化 ,提示:enterEvent(), leaveEvent();2)Press 與Release 也有不同的背景狀態(tài)變化3)當(dāng)鼠標(biāo)點(diǎn)擊時(shí)可以發(fā)出clicked() 信號(hào)4)創(chuàng)建一個(gè)窗口,測(cè)試自定義的Button第三部分:linux系統(tǒng)編程1. Linux根目錄下一般有哪些目錄?每個(gè)目錄的作用是什么?2. 用gcc編譯文件test.c,要經(jīng)過哪幾個(gè)步驟?3. gcc的參數(shù)“-L”,“-l”“-I”分別是什么意義?舉例說明。4. 寫一個(gè)腳本完成如下功能:首先,讓使用者輸入一個(gè)文件名,腳本作如下判斷:(1)這個(gè)文件是否存在,若不存在則給出一個(gè)“Filename does noet exist”提示,并中斷程序。(2)若這個(gè)文件存在,則判斷它是文件還是目錄,結(jié)果輸出“Filename is regular file”或“Filename is directory”(3)判斷用戶對(duì)這個(gè)文件或目錄所具有的權(quán)限并顯示出來。5. 什么是系統(tǒng)調(diào)用?請(qǐng)寫出你對(duì)系統(tǒng)調(diào)用的理解。6. 什么是標(biāo)準(zhǔn)I/O庫?標(biāo)準(zhǔn)I/O庫和系統(tǒng)調(diào)用有什么區(qū)別?7. 什么是進(jìn)程?用fork()創(chuàng)建一個(gè)子進(jìn)程時(shí),系統(tǒng)會(huì)做什么工作?8. 管道和命名管道使用上有什么不同之處?9. 信號(hào)的處理方式有幾種?怎樣指定信號(hào)的處理方式?10. 進(jìn)程和線程有什么區(qū)別?11. 什么是線程的互斥和同步,舉例說明怎么實(shí)現(xiàn)線程的互斥和同步?12. 實(shí)現(xiàn)三個(gè)進(jìn)程其中一個(gè)是父進(jìn)程,其余兩個(gè)是該父進(jìn)程創(chuàng)建的子進(jìn)程,其中一個(gè)子進(jìn)程運(yùn)行“l(fā)s l”指令,另一個(gè)子進(jìn)程在暫停5s之后退出,父進(jìn)程等待子進(jìn)程的退出信息,待收集到該信息,父進(jìn)程就返回。13. 編寫一個(gè)多進(jìn)程多線程的程序:要求創(chuàng)建4個(gè)子進(jìn)程,每個(gè)進(jìn)程都分別創(chuàng)建2個(gè)線程,進(jìn)程和線程的功能不做要求,可只提供簡(jiǎn)單的打印語句。14. 編制一段程序,實(shí)現(xiàn)進(jìn)程的管道通信: 使用系統(tǒng)調(diào)用pipe()建立一條管道線,兩個(gè)子進(jìn)程分別向管道各寫一句話: Child process 1 is sending a message! Child process 2 is sending a message! 而父進(jìn)程則從管道中讀出來自于兩個(gè)子進(jìn)程的信息,顯示在屏幕上。 要求:父進(jìn)程先接收子進(jìn)程P1發(fā)來的消息,然后再接收子進(jìn)程P2發(fā)來的消息。 第四部分:網(wǎng)絡(luò)編程1) :路由器工作在哪一層()A:鏈路層B:網(wǎng)絡(luò)層C:傳輸層D:應(yīng)用層2) 一臺(tái)主機(jī)要實(shí)現(xiàn)通過局域網(wǎng)與另一個(gè)局域網(wǎng)通信,需要做的工作是 () 。A: 配置域名服務(wù)器B :定義一條本機(jī)指向所在網(wǎng)絡(luò)的路由C :定義一條本機(jī)指向所在網(wǎng)絡(luò)網(wǎng)關(guān)的路由D :定義一條本機(jī)指向目標(biāo)網(wǎng)絡(luò)網(wǎng)關(guān)的路由3) 下列提法中,不屬于ifconfig命令作用范圍的是 () 。A: 配置本地回環(huán)地址 B :配置網(wǎng)卡的IP地址C :激活網(wǎng)絡(luò)適配器 D: 加載網(wǎng)卡到內(nèi)核中4) 下面的網(wǎng)絡(luò)協(xié)議中,面向連接的的協(xié)議是:() 。A:傳輸控制協(xié)議B :用戶數(shù)據(jù)報(bào)協(xié)議 C :網(wǎng)際協(xié)議 D: 網(wǎng)際控制報(bào)文協(xié)議5) 在局域網(wǎng)絡(luò)內(nèi)的某臺(tái)主機(jī)用ping命令測(cè)試網(wǎng)絡(luò)連接時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)內(nèi)部的主機(jī)都可以連同,而不能與公網(wǎng)連通,問題可能是()A 主機(jī)IP設(shè)置有誤B 沒有設(shè)置連接局域網(wǎng)的網(wǎng)關(guān)C 局域網(wǎng)的網(wǎng)關(guān)或主機(jī)的網(wǎng)關(guān)設(shè)置有誤D 局域網(wǎng)DNS服務(wù)器設(shè)置有誤6) DHCP是動(dòng)態(tài)主機(jī)配置協(xié)議的簡(jiǎn)稱,其作用是可以使網(wǎng)絡(luò)管理員通過一臺(tái)服務(wù)器來管理一個(gè)網(wǎng)絡(luò)系統(tǒng),自動(dòng)地為一個(gè)網(wǎng)絡(luò)中的主機(jī)分配()地址。A :UDP B :MAC C: TCP D: IP7) 在TCP/IP模型中,應(yīng)用層包含了所有的高層協(xié)議,在下列的一些應(yīng)用協(xié)議中,()是能夠?qū)崿F(xiàn)本地與遠(yuǎn)程主機(jī)之間的文件傳輸工作。A telnetB FTPC: SNMPD: NFS8) 當(dāng)我們與某遠(yuǎn)程網(wǎng)絡(luò)連接不上時(shí),就需要跟蹤路由查看,以便了解在網(wǎng)絡(luò)的什么位置出現(xiàn)了問題,滿足該目的的命令是()。A :pingB: ifconfigC :tracerouteD: netstat9) 關(guān)于代理服務(wù)器的論述,正確的是( )。A :使用internet上已有的公開代理服務(wù)器,只需配置客戶端。B :代理服務(wù)器只能代理客戶端http的請(qǐng)求。C :設(shè)置好的代理服務(wù)器可以被網(wǎng)絡(luò)上任何主機(jī)使用。D :使用代理服務(wù)器的客戶端沒有自己的ip地址。10) 公司需要把 /255.255.255 網(wǎng)段劃分成10個(gè)子網(wǎng),子網(wǎng)掩碼應(yīng)該是( )?A:B:C:40D:48二:填空題(本題共5小題,每空1分 共10分)1) 網(wǎng)絡(luò)/24 定向廣播地址是( ),受限的廣播地址為( ),定向廣播和受限廣播的區(qū)別();2) 在tcp/ip模型中進(jìn)程到進(jìn)程之間通信屬于( )層,主機(jī)到主機(jī)屬于( )層,設(shè)備到設(shè)備屬于( )層,程序到程序?qū)儆冢?)層。3) Ping命令的功能為( )。 4) 進(jìn)行遠(yuǎn)程登錄的命令是 ( )。5) DNS 域名系統(tǒng)的作用是( )。三:?jiǎn)柎痤}(本題共4小題,每題6分共24分)1) 簡(jiǎn)述TCP/IP協(xié)議中各層的主要功能,各有哪些主要協(xié)議。2) 什么是TCP 、UDP ?協(xié)議優(yōu)缺點(diǎn),應(yīng)用場(chǎng)合?3) 簡(jiǎn)述TCP/IP協(xié)議中三次握手的過程及涵義4) 簡(jiǎn)述TCP/IP模型中應(yīng)用層數(shù)據(jù)從主機(jī)A發(fā)送到主機(jī)B的整個(gè)過程。5) 利用setsocketopt()使用嵌套字支持廣播,并編寫兩個(gè)程序,其中一個(gè)發(fā)送廣播數(shù)據(jù),另一個(gè)接收廣播數(shù)據(jù)。6) 編寫一個(gè)UDP類型的client/server實(shí)例。7) 編寫一個(gè)UDP端口掃描程序。8) 如何在編程中防止緩沖區(qū)溢出?9) 利用setsocketopt()使用嵌套字支持廣播,并編寫兩個(gè)程序,其中一個(gè)發(fā)送廣播數(shù)據(jù),另一個(gè)接收廣播數(shù)據(jù)。10) 寫一個(gè)TCP 并發(fā)的服務(wù)器,實(shí)現(xiàn)echo功能。11) 寫一個(gè)UDP echo服務(wù)器第五部分:嵌入式平臺(tái)架構(gòu)1. 什么是嵌入式系統(tǒng),描述一下你對(duì)嵌入式系統(tǒng)的理解?2. 搭建一個(gè)完整的嵌入式Linux開發(fā)平臺(tái)需要做哪些工作,描述一下詳細(xì)步驟?3. 什么是Bootloader,詳細(xì)描述一下你對(duì)Bootloader的理解。常用的Bootloader有哪些?4. Bootloader的啟動(dòng)過程一般分為兩個(gè)階段,以vivi為例說明Bootloader的兩個(gè)階段完成什么工作。5. 什么是Bootloader的“啟動(dòng)加載模式”和“下載模式”?6. vivi的命令是怎樣實(shí)現(xiàn)的?7. vivi傳遞給內(nèi)核的參數(shù)“noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0”是什么意思?8. 怎樣把一個(gè)SD卡驅(qū)動(dòng)程序編譯到Linux內(nèi)核中?描述一下詳細(xì)步驟。9. 你是怎樣理解Linux內(nèi)核配置編譯機(jī)制的?10. Linux內(nèi)核源碼各個(gè)子目錄分別包含哪些內(nèi)容?11. 執(zhí)行m

溫馨提示

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

評(píng)論

0/150

提交評(píng)論