




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 .ia 寫出 floatx 與“零值”比較的 if 語句。if(x-0.000001)說明:一個浮點(diǎn)數(shù)在存儲時只能保證的有效數(shù)字是 7 位,我們應(yīng)當(dāng)避免在 C 語言中將一個很大的數(shù)和一個很小的數(shù)直接相加或者相減,否則就會丟失小的數(shù)”,比如:#includevoidmain(void)floata=1.3,b=0.3;printf(%.18f,a+b);getch();2 .已知一顆樹的后序遍歷結(jié)果為:CEFHDGIBA,中序遍歷結(jié)果為:HCFEAGDBI,則前序遍歷為:AHFCEBGDI三種順序 TLR(根左右)、 LTR(左根右)和 LRT(左右根)根據(jù)根訪問的位置不同分別被稱為前序遍歷
2、、 中序遍歷和后序遍歷。前序遍歷的規(guī)律是:輸出根結(jié)點(diǎn),輸出左子樹,輸出右子樹;中序遍歷的規(guī)律是:輸出左子樹,輸出根結(jié)點(diǎn),輸出右子樹;后序遍歷的規(guī)律是:輸出左子樹,輸出右子樹,輸出根結(jié)點(diǎn)AHFCEBGDIA.3 .編寫一個整數(shù)拆分的算法,即把一個數(shù)拆分為若干個質(zhì)數(shù)(也稱素數(shù))相乘,如果被拆分?jǐn)?shù)為 30,則結(jié)果為:2*3*5素數(shù):只能被 1 或自身整除的整數(shù)。從 2 到 Sqrt(這個數(shù))去除這個數(shù),如果有任何一個除得開就不是素數(shù),否則就繼續(xù)判斷intprime(intn)intm;for(m=2;m24)人 0 xff)、if 等比較兩參數(shù)的大小#defineMAX(a,b)9.行為的一個規(guī)則叫
3、做程序,程序在 CPU 上執(zhí)行時所發(fā)生的活動稱為進(jìn)程10.進(jìn)程的三個狀態(tài):執(zhí)行狀態(tài),就緒狀態(tài),阻塞狀態(tài)11.PCB(ProcessControlBlock 進(jìn)程控制塊)是系統(tǒng)感知進(jìn)程存在的唯一標(biāo)志進(jìn)程控制塊PCB,線程控制塊TCB進(jìn)程控制塊 PCB(ProcessControlBlock):存放進(jìn)程的管理和控制信息的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊。它是進(jìn)程管理和控制的最重要的數(shù)據(jù)結(jié)構(gòu),每一個進(jìn)程均有一個 PCB,在創(chuàng)建進(jìn)程時,建立 PCB,伴隨進(jìn)程運(yùn)行的全過程,直到進(jìn)程撤消而撤消。在不同的操作系統(tǒng)中對進(jìn)程的控制和管理機(jī)制不同,PCB 中的信息多少也不一樣,通常 PCB 應(yīng)包含如下一些信息。1、進(jìn)程標(biāo)識
4、符 name:每個進(jìn)程都必須有一個唯一的標(biāo)識符,可以是字符串,也可以是一個數(shù)字。UNIX 系統(tǒng)中就是一個整型數(shù)。在進(jìn)程創(chuàng)建時由系統(tǒng)賦予。2、進(jìn)程當(dāng)前狀態(tài) status:說明進(jìn)程當(dāng)前所處的狀態(tài)。為了管理的方便,系統(tǒng)設(shè)計時會將相同的狀態(tài)的進(jìn)程組成一個隊列,如就緒進(jìn)程隊列,等待進(jìn)程則要根據(jù)等待的事件組成多個等待隊列,如等待打印機(jī)隊列、等待磁盤 I/O 完成隊列等等。3、進(jìn)程相應(yīng)的程序和數(shù)據(jù)地址,以便把 PCB 與其程序和數(shù)據(jù)聯(lián)系起來。4、進(jìn)程資源清單。列出所擁有的除 CPU 外的資源記錄,如擁有的 I/O 設(shè)備,打開的文件列表等。5、進(jìn)程優(yōu)先級 priority:進(jìn)程的優(yōu)先級反映進(jìn)程的緊迫程序,通常
5、由用戶指定和系統(tǒng)設(shè)置。UNIX 系統(tǒng)采用用戶設(shè)置和系統(tǒng)計算相結(jié)合的方式確定進(jìn)程的優(yōu)先級。6、CPU 現(xiàn)場保護(hù)區(qū) cpustatus:當(dāng)進(jìn)程因某種原因不能繼續(xù)占用 CPU 時(等待打印機(jī)),釋放 CPU,這時就要將 CPU的各種狀態(tài)信息保護(hù)起來,為將來再次得到處理機(jī)恢復(fù) CPU 的各種狀態(tài),繼續(xù)運(yùn)行。7、進(jìn)程同步與通信機(jī)制用于實(shí)現(xiàn)進(jìn)程間互斥、同步和通信所需的信號量等。8、進(jìn)程所在隊列 PCB 的鏈接字根據(jù)進(jìn)程所處的現(xiàn)行狀態(tài),進(jìn)程相應(yīng)的 PCB 參加到不同隊列中。PCB 鏈接字指出該進(jìn)程所在隊列中下一個進(jìn)程 PCB 的首地址。9、與進(jìn)程有關(guān)的其他信息。如進(jìn)程記賬信息,進(jìn)程占用 CPU 的時間等。1
6、2 .在操作系統(tǒng)中,線程是調(diào)度和分派的基本單位,而進(jìn)程是擁有資源的基本單位13 .臨界資源(criticalresource):當(dāng)一個資源被一個用戶占用后,就加鎖禁止其他用戶進(jìn)入同時使用該資源,即一次僅允許一個進(jìn)程訪問的資源p=&slen;/*改為:p=&slen-1;*/reverse(s,p);printf(Reversethestringwewillget:n%sn,s);getch();return0;18 .voidgetmemory(char*p)p=(char*)malloc(100);strcpy(p,helloworld);intmain()char*str=
7、NULL;getmemory(str);printf(%sn,str);free(str);return0;#includevoidgetmemory(char*p)*p=(char*)malloc(100);strcpy(*p,helloworld);intmain(void)char*str=NULL;getmemory(&str);printf(%sn,str);free(str);return0;19 .#include“string.hintmain()char*src=hello,world;char*dest=NULL;intlen=strlen(src);dest=(c
8、har*)malloc(len);char*d=dest;char*s=srclen;while(len-!=0)d+=s-;printf(%s,dest);return0;)#include#includestring.hintmain()char*src=hello,world;char*dest=NULL;intlen=strlen(src)+1;char*d=NULL;/char*s=src;dest=(char*)malloc(len);d=dest;while(len-!=0)*(d+)=*(src+);printf(%s,dest);return0;)【簡述題】20 .一個二叉樹
9、,它的第 8 層節(jié)點(diǎn)數(shù)最多是多少?答:1288-1=72A7=12821 .static,const,volatile 有什么用途?static 修飾局部變量的作用:作用域?yàn)楹瘮?shù)內(nèi)部有效,生存期為整個程序運(yùn)行期間。static 修飾全局變量的作用:作用域?yàn)楫?dāng)前源文件內(nèi)部有效,生存期為整個程序運(yùn)行期間。static 修飾函數(shù)的作用:內(nèi)部函數(shù),局限于當(dāng)前源文件內(nèi)部互相調(diào)用。constunsignedchara;作用:常量unsignedcharconsta;作用:同上,常量unsignedchar*constp;作用為指針 p 為常量不能被改變,而指針 p 所指向的存儲空間上的值可以改變。cons
10、tunsignedchar*p;作用為指針 p 本身值可以被改變, 而指針 p 所指向的存儲空間上的值不可以改變。volatile 強(qiáng)制編譯器重新訪問制定的存儲空間。在多線程應(yīng)用中被幾個任務(wù)共享的變量、特殊功能寄存器訪問、中斷函數(shù)種訪問的變量等情況下使用22 .在 16 環(huán)境下,C 語言中 int、float、double、long、char、unsignedint 分別占多少個字節(jié)?int2 字節(jié)float4 字節(jié)double8 字節(jié)long4 字節(jié)#includevoidmain()(printf(sizeof(int):%dn,sizeof(int);printf(sizeof(long
11、):%dn,sizeof(long);printf(sizeof(double):%dn,sizeof(double);printf(sizeof(float):%dn,sizeof(longdouble);printf(sizeof(char):%dn,sizeof(char);printf(sizeof(unsignedint):%dn,sizeof(unsignedint);23 .全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別?答:全局變量都是靜態(tài)變量,被分配在 RAM 中的數(shù)據(jù)區(qū)域。局部變量是動態(tài)變量被分配在棧區(qū)域。24 .什么是平衡二叉樹?答:平衡二叉樹又稱 AVL 樹。
12、它或者是一棵空樹,或者是具有下列性質(zhì)的二叉樹:它的左子樹和右子樹都是平衡二叉樹,且左子樹和右子樹的深度之差的絕對值不超過 1。25 .隊列和棧有什么區(qū)別?答:棧(Stack)是限定只能在表的一端進(jìn)行插入和刪除操作的線性表。隊列(Queue)是限定只能在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。從數(shù)據(jù) Z勾的角度看,它們都是線性結(jié)構(gòu),即數(shù)據(jù)元素之間的關(guān)系相同。但它們是完全不同的數(shù)據(jù)類型。除了它們各自的基本操作集不同外,主要區(qū)別是對插入和刪除操作的限定”。棧和隊列是在程序設(shè)計中被廣泛使用的兩種線性數(shù)據(jù)結(jié)構(gòu),它們的特點(diǎn)在于基本操作的特殊性,棧必須按后進(jìn)先出”的規(guī)則進(jìn)行操作,而隊列必須按先進(jìn)先出
13、”的規(guī)則進(jìn)行操作。26 .malloc 和 free 的用法。答:請參考語法書http:/ NULL,防止程序后面不小心使用了它。C、這兩個函數(shù)應(yīng)該是配對。如果申請后不釋放就是內(nèi)存泄露;如果無故釋放那就是什么也沒有做。釋放只能一次,如果釋放兩次及兩次以上會出現(xiàn)錯誤(釋放空指針例外,釋放空指針其實(shí)也等于啥也沒做,所以釋放空指針釋放多少次都沒有問題)。D、雖然 malloc()函數(shù)的類型是(void*),任何類型的指針都可以轉(zhuǎn)換成(void*),但是最好還是在前面進(jìn)行強(qiáng)制類型轉(zhuǎn)換,因?yàn)檫@樣可以躲過一些編譯器的檢查。27 .結(jié)構(gòu)體和共用體的區(qū)別?char1 字節(jié)unsignedint2 字節(jié)答:1、
14、共用體的成員共用一塊內(nèi)存區(qū),結(jié)構(gòu)體的成員有個自獨(dú)立的內(nèi)存區(qū)。共用體的成員,對一個進(jìn)行修改就會影響別的成員的值,而結(jié)構(gòu)體則不會。2、結(jié)構(gòu)體所占用的內(nèi)存空間為其成員所需空間總和而共用體所占用的空間只為其所需內(nèi)存最大的成員的內(nèi)存。3、共用體所有成員頭地址相同,每次只有最后一次附值的成員有效28 .簡答指針和數(shù)組之間的關(guān)系。答:29 .簡述平衡二叉樹及相關(guān)知識。答:.en/SFXX/chazhao/chazhao7.3.2.html30 .進(jìn)程和線程的概念及區(qū)別。答:http:/blog.sina.eom.en/s/blog_48f44e1701009fho.
15、html1、進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運(yùn)行活動,進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位.線程是進(jìn)程的一個實(shí)體,是 CPU 調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計數(shù)器,一組寄存器和棧,但是它可與同屬一個進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.一個線程可以創(chuàng)建和撤銷另一個線程;同一個進(jìn)程中的多個線程之間可以并發(fā)執(zhí)行2、進(jìn)程和線程的區(qū)別在于:簡而言之,一個程序至少有一個進(jìn)程,一個進(jìn)程至少有一個線程.線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。另外,進(jìn)程在執(zhí)行過程中擁有獨(dú)
16、立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。線程在執(zhí)行過程中與進(jìn)程還是有區(qū)別的。每個獨(dú)立的線程有一個程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨(dú)立的應(yīng)用,來實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。31 .簡述 TCP/IP 通信的流程。答:依次說明每一層上的協(xié)議的作用。每一層上都會根據(jù)不同的協(xié)議封裝一些包信息。32 .函數(shù)原型 fune(inta,intb,inte
17、,intd),如果傳入 fune(1,2,3),則 a,b,e,d 分別是多少?答:fune(inta,intb,inte,intd=0)如果按照上面的情況進(jìn)行函數(shù)聲明的話 d 在沒有對應(yīng)實(shí)參彳 1 得情況下為 0,如果有對應(yīng)的參數(shù)值那就為該值。33 .指出語句 unsignedinta=100;while(a-0)break;的問題所在。答:a-改為一 a,否則就變?yōu)闊o限循環(huán)了。【判斷題】34 .任何的指針運(yùn)算都包含=運(yùn)算錯比如 p+35 .默認(rèn)的函數(shù)聲明都是 extern,變量聲明都是 auto 錯36 .結(jié)構(gòu)體的大小和變量的順序沒有關(guān)系。錯37 .全局變量和局部變量都存儲在數(shù)據(jù)段。錯局部
18、變量存儲在棧區(qū)域【編程題】38 .在指定字符串中尋找是否出現(xiàn)相同的子字符串。比如 ABCABCDEF 這個字符串,如果我們指定子字符串長度是 3,那么就會匹配到 ABC 這個子字符串出現(xiàn)了兩次。 但如果是 AAAADEF,我們指定子串長度是 3,那么就不會匹配到子字符串。#include#includeintstr_str(constunsignedchar*source,constunsignedchar*find);intmain(void)unsignedcharSrc_buffer100=0;unsignedcharFind_buffer100=0;unsignedchar*p1=Sr
19、c_buffer;unsignedchar*p2=Find_buffer;intcount=0;charlen_val;inti=0;intch=0;printf(Pleaseenterstring:n);for(i=0;i0)&(len_val9)break;printf(valuerangeis19n);len_val=len_val-0 x30;while(len_val-!=0)*p2+=*p1+;count=str_str(Src_buffer,Find_buffer);if(count!=0)(printf(findtimesis%d,count);)else(printf
20、(cantfindstring!);)getch();return0;)intstr_str(constunsignedchar*source,constunsignedchar*find)(unsignedchar*s=source;unsignedchar*f=find;intcount=0;while(*source!=0)(s=source;if(*s=*f)(while(*s=*f)&(*s!=0)(s+;f+;)if(*f=0)(count+;source=s-1;)if(*s=0)(returncount;)f=find;)source+;)returncount;)39
21、.判斷一個整數(shù)是否為回文,例如 123454321。#includeintmain(void)unsignedcharbuffer100=0;inti=0;intlen=0;unsignedcharch=0;while(1)printf(請輸入字符串:n);for(i=0;i100;i+)ch=getchar();if(ch=n)break;bufferi=ch;len=strlen(buffer);for(i=0;i(len-1)i+)if(bufferi!=bufferlen-1-i)break;if(i=(len-1)/2)printf(是回文!n);elseprintf(不是回文!n);40,分解一個整數(shù)為質(zhì)因數(shù)的乘積,例如 90=2*3*3*5。#includei
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東農(nóng)業(yè)大學(xué)《現(xiàn)代生物技術(shù)進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古自治區(qū)鄂爾多斯市康巴什區(qū)第二中學(xué)2025屆初三第二學(xué)期期末試化學(xué)試題含解析
- 唐山海運(yùn)職業(yè)學(xué)院《現(xiàn)代數(shù)學(xué)與中學(xué)數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省樂山市五中學(xué)2025年初三下學(xué)期第二次月考物理試題文試題含解析
- 信陽農(nóng)林學(xué)院《中國現(xiàn)當(dāng)代文學(xué)名家論》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東政法學(xué)院《中學(xué)數(shù)學(xué)教材研究與案例分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 運(yùn)輸合同書附加條款
- 二零二五版股權(quán)轉(zhuǎn)讓及委托持股協(xié)議正規(guī)范例
- 二零二五版?zhèn)€人診所醫(yī)生聘用合同書范例
- 智慧教育新探索
- STEM教育理念下大班科學(xué)活動的指導(dǎo)策略研究
- 對于慢性骨髓炎的護(hù)理
- 地下室手機(jī)信號解決方案
- 財務(wù)咨詢顧問協(xié)議樣本
- 光電軸角編碼器校準(zhǔn)規(guī)范
- 2024年中國郵政航空有限公司招聘筆試參考題庫含答案解析
- 《物流成本管理 第4版》各章思考題及習(xí)題答案
- 帶式輸送機(jī)計算
- 造口護(hù)理技術(shù)操作評分標(biāo)準(zhǔn)
- 焊縫超聲波探傷報告
- 河北省石家莊市正定縣2022-2023學(xué)年八年級下學(xué)期期中質(zhì)量檢測題物理試卷
評論
0/150
提交評論