




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 嵌入式Linux系統(tǒng)基礎(chǔ)試題庫一不定項(xiàng)選擇題:1. 對(duì)于如下的定義,說法正確的有( A )int * pb,pc;A、pb是一個(gè)指向整數(shù)的指針,pc是一個(gè)整數(shù) B、pb和pc都是指向整數(shù)的指針 C、這個(gè)定義是錯(cuò)的 D、這個(gè)定義是對(duì)的,但在編譯時(shí)會(huì)出現(xiàn)告警2. 以下描述正確的有( D )A、sizeof(long)等于4.B、short類型的指針p,p+表示指向下一個(gè)字節(jié)。C、int a=0xffff0000,a的值為-65535.D、unsigned char類型的取值范圍是0256.3. 以下代碼正確的是( C )A、char a=“ABC”;B、char a=”
2、k”;c、char a4=0;d、char a11=”Hello word!”;4. 下面的網(wǎng)絡(luò)協(xié)議中,面向連接的的協(xié)議是: A 。A、傳輸控制協(xié)議 B、用戶數(shù)據(jù)報(bào)協(xié)議 C、網(wǎng)際協(xié)議 D、網(wǎng)際控制報(bào)文協(xié)議5. Linux文件權(quán)限一共10位長度,分成四段,第三段表示的內(nèi)容是 C 。A、文件類型 B、文件所有者的權(quán)限C、文件所有者所在組的權(quán)限 D、其他用戶的權(quán)限6. 終止一個(gè)前臺(tái)進(jìn)程可能用到的命令和操作 B 。A、kill B、<CTRL>+C C、shut down D、halt7在使用mkdir命令創(chuàng)建新的目錄時(shí),在其父目錄不存在時(shí)先創(chuàng)建父目錄的選項(xiàng)是 D 。A、-m B、-d C
3、、-f D、-p8. 下面關(guān)于i節(jié)點(diǎn)描述錯(cuò)誤的是 A 。A、i節(jié)點(diǎn)和文件是一一對(duì)應(yīng)的(每個(gè)文件都有唯一一個(gè)索引結(jié)點(diǎn)號(hào)與之對(duì)應(yīng),而對(duì)于一個(gè)索引結(jié)點(diǎn)號(hào),卻可以有多個(gè)文件名與之對(duì)應(yīng))B、i節(jié)點(diǎn)能描述文件占用的塊數(shù)C、i節(jié)點(diǎn)描述了文件大小和指向數(shù)據(jù)塊的指針D、通過i節(jié)點(diǎn)實(shí)現(xiàn)文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的轉(zhuǎn)換9. 一個(gè)文件名字為rr.Z,可以用來解壓縮的命令是: D 。A、tar B、gzip C、compress D、uncompress10. 一臺(tái)主機(jī)要實(shí)現(xiàn)通過局域網(wǎng)與另一個(gè)局域網(wǎng)通信,需要做的工作是 C 。A、配置域名服務(wù)器B、定義一條本機(jī)指向所在網(wǎng)絡(luò)的路由C、定義一條本機(jī)指向所在網(wǎng)絡(luò)網(wǎng)關(guān)的路由D、定
4、義一條本機(jī)指向目標(biāo)網(wǎng)絡(luò)網(wǎng)關(guān)的路由11. 局域網(wǎng)的網(wǎng)絡(luò)地址/24,局域網(wǎng)絡(luò)連接其它網(wǎng)絡(luò)的網(wǎng)關(guān)地址是。主機(jī)0訪問/24網(wǎng)絡(luò)時(shí),其路由設(shè)置正確的是 B 。A、route add net gw netmask metric 1B、route add net gw netmask metric 1C、route add net gw 172.16.1
5、.1 netmask metric 1D、route add default netmask metric 112. 下列提法中,不屬于ifconfig命令作用范圍的是 D 。A、配置本地回環(huán)地址 B、配置網(wǎng)卡的IP地址C、激活網(wǎng)絡(luò)適配器 D、加載網(wǎng)卡到內(nèi)核中13. 在局域網(wǎng)絡(luò)內(nèi)的某臺(tái)主機(jī)用ping命令測試網(wǎng)絡(luò)連接時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)內(nèi)部的主機(jī)都可以連同,而不能與公網(wǎng)連通,問題可能是 C。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è)置有誤14. 不需要編譯內(nèi)核的情況
6、是 D 。A、刪除系統(tǒng)不用的設(shè)備驅(qū)動(dòng)程序時(shí) B、升級(jí)內(nèi)核時(shí)C、添加新硬件時(shí) D、將網(wǎng)卡激活15. 在shell中變量的賦值有四種方法,其中,采用name=12的方法稱 A 。A、直接賦值 B、使用read命令C、使用命令行參數(shù) D、使用命令的輸出16. D 命令可以從文本文件的每一行中截取指定內(nèi)容的數(shù)據(jù)。A、cp B、dd C、fmt D、cut17. 下列不是Linux系統(tǒng)進(jìn)程類型的是 D 。A、交互進(jìn)程 B、批處理進(jìn)程 C、守護(hù)進(jìn)程 D、就緒進(jìn)程18. 內(nèi)核不包括的子系統(tǒng)是 D 。A、進(jìn)程管理系統(tǒng) B、內(nèi)存管理系統(tǒng) C、I/O管理系統(tǒng) D、硬件管理系統(tǒng)19若一臺(tái)計(jì)算機(jī)的內(nèi)存為128MB,則
7、交換分區(qū)的大小通常是 C 。A 64MB B 128MB C 256MB D 512MB20在TCP/IP模型中,應(yīng)用層包含了所有的高層協(xié)議,在下列的一些應(yīng)用協(xié)議中, B 是能夠?qū)崿F(xiàn)本地與遠(yuǎn)程主機(jī)之間的文件傳輸工作。A telnet B FTP C SNMP D NFS21 用ls al 命令列出下面的文件列表, D 文件是符號(hào)連接文件。A -rw-rw-rw- 2 hel-s users 56 Sep 09 11:05 helloB -rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbeyC drwxr-r- 1 hel users 1024 Sep
8、10 08:10 zhangD lrwxr-r- 1 hel users 2024 Sep 12 08:12 cheng22 DNS域名系統(tǒng)主要負(fù)責(zé)主機(jī)名和 A 之間的解析。A IP地址 B MAC地址 C網(wǎng)絡(luò)地址 D主機(jī)別名23 WWW服務(wù)器是在Internet上使用最為廣泛,它采用的是 B 結(jié)構(gòu)。A 服務(wù)器/工作站 B B/S C 集中式 D 分布式24NFS是 C 系統(tǒng)。A 文件 B 磁盤 C 網(wǎng)絡(luò)文件 D 操作25Linux文件系統(tǒng)的文件都按其作用分門別類地放在相關(guān)的目錄中,對(duì)于外部設(shè)備文件,一般應(yīng)將其放在 C 目錄中。A /bin B /etc C /dev D /lib26. 如果
9、限定程序的棧的大小是1K字節(jié),則以下代碼,運(yùn)行時(shí)會(huì)出錯(cuò)的有( C )Afoo.cstatic int iA512;int main( )return ;B. foo.cint main( )static int iA512return ;C. foo.cint main( )int iA512return ;D. foo.cint main( )Int*piApiA=malloc(512*sizeof(int);return ;27. 以下代碼最后一次打印結(jié)果是(C )void fun(int iInputNum) static int iCount=1; iCount=iCount+iInp
10、utNum; Print(“n iCount =%d”,icount+iInputNum);for(i=1;i<3;i+) Fun(i);A.iCount =3 B.iCount =4 C.iCount =6 D.iCount =528. 關(guān)于以下代碼,輸出結(jié)果是( A )Void Fun( ) Int i; Int x33=1,2,3,4,5,6,7,8,9; Int *p; P=& x 11; For(i=0;i<4;i+=2) Printf(“%d”,pi);A.5 7B.5 9C.1 3D.1 529. 以下語句中,能夠判斷uiNum(unsigned int)可以
11、被8整除的有( ACD)A、If (uiNum / 8)*8)= uiNum)B、if (uiNum % 8)= 1)C、if (uiNum &×7) =)D、if (uiNum >> 3) << 3 )=uiNum )30. 關(guān)于以下代碼,描述正確的有(ABCD)代碼: const char * pcStr=”abcdefg”;char *pcStr=”abcdefg”代碼:void string_sizeof(char szStr110) char szStr210=”12345”;printf(“%u,”, sizeof(szStr1);prin
12、tf(“%urn,”, sizeof(szStr2);return;int main( ) string_sizeof(”12345”);代碼pcStr3=”a”;代碼unsigned int uiA=100;printf(“%srn,”, uiA);return 0;A、代碼,const修飾符表明pcStr指針不能再次被賦值,也就是說不能指向其他緩沖區(qū).B、代碼,程序的運(yùn)行結(jié)果是“4,10”.C、代碼,對(duì)pcStr3的賦值會(huì)導(dǎo)致程序訪問非法地址.D、代碼,打印unsigned int時(shí)不應(yīng)該使用“%s”,會(huì)導(dǎo)致程序訪問非法地址。31. 關(guān)于結(jié)構(gòu)的大小,以下描述正確的有(AB)struct A
13、_S struct B_S unsigned short us1; unsigned char uc1; unsigned short us2; unsigned int uc2; unsigned short us3; unsigned short us3; ;union C_U union D_U unsigned int ui1 unsigned char uc2;unsigned char uc2; unsigned short us3;unsigned short us3; unsigned int ui1; ;A、結(jié)構(gòu)struct A_S的大小是6B、結(jié)構(gòu)struct B_S的大小
14、是12C、聯(lián)合union C_U的大小是12D、聯(lián)合union D_U的大小是1232.有如下鏈表和節(jié)點(diǎn)D,將D替換B,并刪除B,以下代碼正確的有( AD )單鏈表:ACBAApstNext pstNext PstA pstB D partD 雙鏈表:pstNextCBA pstNext pstPre pstPre PstA pstBD pstD struct SLL struct SLL *pstNext;/* 下一結(jié)點(diǎn)*/ ; struct DLL struct DLL*pstNext;/* 下一結(jié)點(diǎn)*/struct DLL*pstPrev;/* 前一結(jié)點(diǎn)*/; A.pstB=pstB-&
15、gt;patNext;pstD->pstNext=pstB;pstA->pstNext=pstD;free(pstB);B.pstA->pstNext=pstD;pstD->pstNext=pstA->pstNext-pstNext;free(pstB);CpstA->pstNext-pstNext-pstpre=pstD;pstD->pstNext=pstA->pstNext->pstNext;pstD->pstpre=pstB->pstpre;pstA->pstNext=pstB->pstNext-pstpre;
16、free(pstB);D.pstD->pstNext=pstB->pstNext;pstD->pstNext->pstpre=pstD;pstD->pstpre=pstA;pstA->pstNext=pstD;free(pstB);33實(shí)現(xiàn)從IP地址到以太網(wǎng)MAC地址轉(zhuǎn)換的命令為: C 。A、ping B、ifconfig C、arp D、traceroute34在vi編輯器中的命令模式下,鍵入 B 可在光標(biāo)當(dāng)前所在行下添加一新行。A、<a> B、<o> C、<I> D、A35用命令ls -al顯示出文件ff的描述如下所示
17、,由此可知文件ff的類型為 A 。-rwxr-xr- 1 root root 599 Cec 10 17:12 ffA、普通文件 B、硬鏈接 C、目錄 D、符號(hào)鏈接36刪除文件命令為: D 。A、mkdir B、rmdir C、mv D、rm37DHCP是動(dòng)態(tài)主機(jī)配置協(xié)議的簡稱,其作用是可以使網(wǎng)絡(luò)管理員通過一臺(tái)服務(wù)器來管理一個(gè)網(wǎng)絡(luò)系統(tǒng),自動(dòng)地為一個(gè)網(wǎng)絡(luò)中的主機(jī)分配_D_地址。A、網(wǎng)絡(luò) B、MAC C、TCP D、IP38為了保證在啟動(dòng)服務(wù)器時(shí)自動(dòng)啟動(dòng)DHCP進(jìn)程,應(yīng)將 A文件中的dhcpd=no改為dhcpd=yes。A、rc.inet1 B、lilo.conf C、inetd.conf D、
18、httpd.conf39對(duì)文件進(jìn)行歸檔的命令為 D 。A、dd B、cpio C、gzip D、tar40改變文件所有者的命令為 C 。A、chmod B、touch C、chown D、cat41. 某32位系統(tǒng)下, C程序,請計(jì)算sizeof的值(A).char str = “”;char *p = str ;int n = 10;請計(jì)算sizeof (str ) =?()A、17 B、16 C、15 D、1842. 某32位系統(tǒng)下, C程序,請計(jì)算sizeof的值(B)char str = “”char *p = str ;int n = 10;請計(jì)算sizeof ( p ) =()?A
19、、5 B、4 C、6 D、343. 這段程序的輸出是(B)void f(char*);main() char * argv = "ab" ,"cd" , "ef" ,"gh", "ij" ,"kl" ; f( argv );void f( char *p ) char* t; t=(p+=sizeof(int)-1; printf("%s",t); A、ab B、cd C、ef D、gh44在給定文件中查找與設(shè)定條件相符字符串的命令為: A 。A、grep
20、 B、gzip C、find D、sort45建立一個(gè)新文件可以使用的命令為 D 。A、chmod B、more C、cp D、touch46在下列命令中,不能顯示文本文件內(nèi)容的命令是: D 。A、more B、less C、tail D、join47文件權(quán)限讀、寫、執(zhí)行的三種標(biāo)志符號(hào)依次是 A 。A、rwx B、xrw C、rdx D、srw48Linux 文件名的長度不得超過 C 個(gè)字符。A、64 B、128 C、256 D、51249進(jìn)程有三種狀態(tài): C A 準(zhǔn)備態(tài)、執(zhí)行態(tài)和退出態(tài) B 精確態(tài)、模糊態(tài)和隨機(jī)態(tài)C 運(yùn)行態(tài)、就緒態(tài)和等待態(tài) D 手工態(tài)、自動(dòng)態(tài)和自由態(tài)50crontab文件由六
21、個(gè)域組成,每個(gè)域之間用空格分割,其排列如下: B 。A、MIN HOUR DAY MONTH YEAR COMMANDB、MIN HOUR DAY MONTH DAYOFWEEK COMMANDC、COMMAND HOUR DAY MONTH DAYOFWEEKD、COMMAND YEAR MONTH DAY HOUR MIN二 簡答題1、簡述堆和棧的區(qū)別答:棧是編譯器自動(dòng)分配和釋放,申請空間小,申請速度快,向低地址擴(kuò)展的連續(xù)區(qū)域,存放內(nèi)容多數(shù)有自動(dòng)進(jìn)行。堆是程序員申請和釋放,申請空間較大,相對(duì)較慢,向高地址擴(kuò)展的不連續(xù)區(qū)域,存放內(nèi)容程序員自己安排。2、棧和隊(duì)列有何區(qū)別?答:1、隊(duì)列先進(jìn)先出,
22、棧先進(jìn)后出 2、隊(duì)列一口插入一口刪除,而棧都是一個(gè)口 3、遍歷數(shù)據(jù)的速度不同,棧需要開辟空間來遍歷數(shù)據(jù),而隊(duì)列只需要指針完成。3、TCP和UDP之間的區(qū)別?答:TCP:傳輸控制協(xié)議,是一個(gè)基于連接的可靠的字節(jié)流服務(wù),雙方交換數(shù)據(jù)是必須先建立連接,才能傳輸數(shù)據(jù)。超時(shí)重發(fā),數(shù)據(jù)校驗(yàn),丟棄重復(fù)數(shù)據(jù),保證數(shù)據(jù)從一端傳到另一端。 UDP:用戶數(shù)據(jù)報(bào)協(xié)議,是一個(gè)簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議,不可靠,效率高。4、進(jìn)程和線程的區(qū)別?答:1、線程是組成進(jìn)程的基本單位。 2、進(jìn)程有獨(dú)立的地址空間,線程也有一些自己的堆棧和局部變量,但是線程沒有獨(dú)立地址空間,一個(gè)進(jìn)程死掉,整個(gè)程序就死掉5、進(jìn)程間通信的方式都有哪些,
23、有何區(qū)別?答:1、管道,socket,共享內(nèi)存,消息隊(duì)列,信號(hào)量級(jí) 2、共享內(nèi)存:效率非常高6、哪些情況會(huì)導(dǎo)致內(nèi)存泄露?如何避免內(nèi)存泄露?答:1、堆內(nèi)存泄露,一般是指malloc,realloc,New,而未對(duì)應(yīng)的用free或delete釋放。2、系統(tǒng)資源泄漏,指程序使用系統(tǒng)分配的資源或函數(shù),如socket,handle等,而未用相應(yīng)的函數(shù)釋放掉。避免方法:養(yǎng)成良好的編碼習(xí)慣,在涉及內(nèi)存代碼編寫時(shí)要謹(jǐn)慎。7、聲明和定義的區(qū)別?答:聲明是僅僅告訴編譯器,有個(gè)某類型的變量會(huì)被使用,但是編譯器并不會(huì)為它分配任何內(nèi)存。而定義就是分配了內(nèi)存。8、int(*a10)(int)表示什么?答:int (*s1
24、0)(int) 函數(shù)指針數(shù)組,每個(gè)指針指向一個(gè)int func(int param)的函數(shù)。9、gdb調(diào)試的用法?以file.c為例答:編譯gcc g file.c o file,然后gdb file運(yùn)行即可進(jìn)入GDB調(diào)試環(huán)境,這時(shí)可以設(shè)置斷點(diǎn)進(jìn)行跟蹤調(diào)試?yán)?break main,然后run,接下來next(簡稱n),回車就直接默認(rèn)前一個(gè)命令,可以打印變量或指針值print i,遇見函數(shù)輸入step會(huì)進(jìn)入函數(shù)執(zhí)行,否則不進(jìn)入。10、關(guān)鍵字static的作用是什么?答:關(guān)鍵字static有三個(gè)明顯的作用:1)在函數(shù)體,一個(gè)被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。2)在模塊內(nèi)(但在
25、函數(shù)體內(nèi)),一個(gè)被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其他函數(shù)訪問。它是一個(gè)本地的全局變量。3)在模塊內(nèi),一個(gè)被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個(gè)函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用。11、inline與宏的區(qū)別答:宏:預(yù)處理階段不經(jīng)過安全檢查直接替換,不可以對(duì)數(shù)據(jù)成員進(jìn)行操作。 Inline:編譯器經(jīng)過安全檢查之后替換函數(shù)調(diào)用,既提高代碼效率,又經(jīng)過安全檢查,而且還可以對(duì)數(shù)據(jù)成員進(jìn)行操作。12、有關(guān)內(nèi)存的思考題void GetMemory(char *p)p = (char *)malloc(100);void Test(void)char
26、*str = NULL;GetMemory(str); strcpy(str, "hello world");printf(str); 請問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?答:程序崩潰。因?yàn)镚etMemory并不能傳遞動(dòng)態(tài)內(nèi)存,Test函數(shù)中的 str一直都是 NULL。strcpy(str, "hello world");將使程序崩潰。 char *GetMemory(void) char p = "hello world"return p;void Test(voi
27、d)char *str = NULL;str = GetMemory(); printf(str); 請問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?答:可能是亂碼。因?yàn)镚etMemory返回的是指向“棧內(nèi)存”的指針,該指針的地址不是 NULL,但其原現(xiàn)的內(nèi)容已經(jīng)被清除,新內(nèi)容不可知。void GetMemory2(char *p, int num)*p = (char *)malloc(num);void Test(void)char *str = NULL;GetMemory(&str, 100);strcpy(str, "hello&q
28、uot;); printf(str); 請問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?答:(1)能夠輸出hello(2)內(nèi)存泄漏 void Test(void)char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL
29、) strcpy(str, “world”);printf(str);請問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?答:篡改動(dòng)態(tài)內(nèi)存區(qū)的內(nèi)容,后果難以預(yù)料,非常危險(xiǎn)。因?yàn)閒ree(str);之后,str成為野指針,if(str != NULL)語句不起作用。 13. 寫一個(gè)“標(biāo)準(zhǔn)”宏,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)。答案: #define Min(X, Y) (X)>(Y)?(Y):(X) 14. 什么是預(yù)編譯,何時(shí)需要預(yù)編譯: 答案
30、: 、總是使用不經(jīng)常改動(dòng)的大型代碼體。 、程序由多個(gè)模塊組成,所有模塊都使用一組標(biāo)準(zhǔn)的包含文件和相同的編譯選項(xiàng)。在這種情況下,可以將所有包含文件預(yù)編譯為一個(gè)預(yù)編譯頭。 15. 請問以下代碼有什么問題: int main() char a; char *str=&a; strcpy(str,"hello"); printf(str); return 0; 答案:沒有為str分配內(nèi)存空間,將會(huì)發(fā)生異常問題出在將一個(gè)字符串復(fù)制進(jìn)一個(gè)字符變量指針?biāo)傅刂贰km然可以正確輸出結(jié)果,但因?yàn)樵浇邕M(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。16. 關(guān)鍵字volatile有什么含意?并舉出
31、三個(gè)不同的例子?答案:提示編譯器對(duì)象的值可能在編譯器未監(jiān)測到的情況下改變。 17. 交換兩個(gè)變量的值,不使用第三個(gè)變量。即a=3,b=5,交換之后a=5,b=3; 答案:有兩種解法, 一種用算術(shù)算法, 一種用(異或) a = a + b; b = a - b; a = a - b; or a = ab;/ 只能對(duì)int,char. b = ab; a = ab; or a = b = a; 18、嵌入式系統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么用C編寫死循環(huán)?答案:第一方案:while(1);第二方案:for(;);第三個(gè)方案是用 gotoLoop:.goto Loop;19、用變量a給出下面的定義a)
32、 一個(gè)整型數(shù)(An integer) b)一個(gè)指向整型數(shù)的指針( A pointer to an integer) c)一個(gè)指向指針的的指針,它指向的指針是指向一個(gè)整型數(shù)( A pointer to a pointer to an intege)r d)一個(gè)有10個(gè)整型數(shù)的數(shù)組( An array of 10 integers)e) 一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù)的。(An array of 10 pointers to integers) f) 一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針( A pointer to an array of 10
33、integers) g) 一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)(A pointer to a function that takes an integer as an argument and returns an integer) h)一個(gè)有10個(gè)指針的數(shù)組,該指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)( An array of ten pointers to functions that take an integer argument and return an integer )答案:a) int a; / An integer
34、60;b) int *a; / A pointer to an integer c) int *a; / A pointer to a pointer to an integer d) int a10; / An array of 10 integerse) int *a10; / An array of 10 pointers to integers 等價(jià)于int *(a10);f) int (*a)10; / A pointer to an array of 10 integers g) int (*max_function)(int a); / A
35、 pointer to a function a that takes an integer argument and returns an integerh) int (*a10)(int); / An array of 10 pointers to functions that take an integer argument and return an integer20、 簡述嵌入式Linux系統(tǒng)開發(fā)流程。答案:1.操作系統(tǒng)的裁剪。2.嵌入式操作系統(tǒng)內(nèi)核的配置和編譯。3.文件系統(tǒng)的建立。4用戶程序的編寫和簡單的仿真調(diào)試。5.整體系統(tǒng)的目標(biāo)板仿真調(diào)試。6.系統(tǒng)下載和脫機(jī)運(yùn)行。三編程題。1
36、. 在Linux操作系統(tǒng)下,完成下列任務(wù):編程實(shí)現(xiàn)以下功能²主程序hello.c(打印Hello World!)²主程序通過頭文件hello.h調(diào)用message函數(shù)²頭文件hello.h(聲明message函數(shù))² message函數(shù)由message.c定義(打印This is a message!)參考答案:hello.c:# include <stdio.h># include <stdlib.h># include <string.h># include "head.h"int main (
37、int argc,char *argv) printf("Hello World!n"); message(); return 0; head.h:void message(void);message.c:# include <stdio.h>void message (void) printf("This is a message!n");2. 假定你在目錄/home/arm下有一個(gè)C程序,他由幾個(gè)單獨(dú)的文件組成,而這幾個(gè)文件又分為包含了其他文件,如下圖所示:文件包含文件文件包含文件main.cstdio.h, table.hlist.cl
38、ist.hsymbol.csymbol.htable.ctable.htable.hsymbol.h, list.h完成下列任務(wù):(1)編寫makefile文件,最終的目標(biāo)文件為hello(交叉編譯器為arm-linux-gcc) (2)給出程序編譯執(zhí)行步驟答案:第一步:編寫makefile文件hello: main.o list.o symbol.o table.o gcc -o prog main.o list.o symbol.o table.omain.o: main.c table.h symbol.h list.h gcc -c -o main.o main.clist.o: li
39、st.c list.h gcc -c -o list.o list.csymbol.o: symbol.c symbol.h gcc -c -o symbol.o symbol.ctable.o: table.c table.h symbol.h list.hgcc -c -o table.o table.cclean:rm hello *.o第二步:#make第三步:執(zhí)行程序,檢測結(jié)果。 ./hello3. C語言實(shí)現(xiàn)冒泡排序算法#include<stdio.h>#define LEN 5Int aLEN=5,4,3,2,1;void bubble_sort(void)int i,j,flag=1;int temp;for( i=1; (i<LEN)&& (flag=1); i+)flag=0;flag=1;temp=aj;aj=aj+1;aj+1=temp;printf("%d,%d,%d,%d,%dn",a0,a1,a2,a3,a4);/-Int main(void)bubble_sort();return0;4. 編寫str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家樂福門禁管理制度
- 庫房收發(fā)貨管理制度
- 應(yīng)急備品房管理制度
- 形象崗執(zhí)勤管理制度
- 微粒貸內(nèi)部管理制度
- 心絞痛培訓(xùn)管理制度
- 快遞經(jīng)營與管理制度
- 急診科閉環(huán)管理制度
- 總承包各項(xiàng)管理制度
- 患者外帶藥管理制度
- 安徽省歷年中考作文題與審題指導(dǎo)(2001-2024)
- 定點(diǎn)零售藥店醫(yī)保管理制度
- 鐵路設(shè)計(jì)專業(yè)畢業(yè)論文
- 數(shù)字頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 2024北京海淀區(qū)初一(下)期末生物試題和答案
- 《古文觀止解讀》課件
- 道德與法治三年級(jí)下冊知識(shí)點(diǎn)歸納
- 廣東省江門市2023-2024學(xué)年高二下學(xué)期7月期末考試 英語 含解析
- 臨床專業(yè)認(rèn)證
- 醫(yī)美美學(xué)設(shè)計(jì)培訓(xùn)
- 2024年中考模擬試卷物理(江蘇南通卷)
評(píng)論
0/150
提交評(píng)論