首師大考研C語言簡答題總結(jié)_第1頁
首師大考研C語言簡答題總結(jié)_第2頁
首師大考研C語言簡答題總結(jié)_第3頁
首師大考研C語言簡答題總結(jié)_第4頁
首師大考研C語言簡答題總結(jié)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上C語言大題總結(jié)1、馮.諾伊曼模型的基本組成部分。輸入設(shè)備、輸出設(shè)備、存儲器(內(nèi)存儲器、外存儲器)、運算器、控制器2、請寫出結(jié)構(gòu)化程序的含義和基本思想。以模塊設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干相互獨立的模塊,完成每一個模塊的功能獨立而明確,為設(shè)計大的軟件打下了基礎(chǔ)。結(jié)構(gòu)化程序設(shè)計的基本思想是自頂向下,逐步求精。3、 一個算法應(yīng)該具有以下五個重要的特征:1.有窮性:算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止2.確切性:算法的每一步驟必須有確切的定義;3.輸入項:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定出了初始條件;4.輸

2、出項:一個算法有一個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的;5.可行性:算法中執(zhí)行的任何計算步都是可以被分解為基本的可執(zhí)行的操作步,即每個計算步都可以在有限時間內(nèi)完成。(也稱之為有效性)4、請列舉三種以上的排序算法,并從穩(wěn)定性、算法復(fù)雜度進行比較。1.穩(wěn)定度:就是說排序過程中,出現(xiàn)錯誤排序(從小到大排列時,某次交換是8排到了7前面,就作為一次錯誤排序)的次數(shù)越少,穩(wěn)定性越好。2.計算的復(fù)雜度:可用時間復(fù)雜度來衡量,對于一個n元素的數(shù)組,最好的排序復(fù)雜度自然是O(n)但是做不到,退而求其次,O(nlogn)也不錯,最差的是O(n2).穩(wěn)定算法不穩(wěn)定算法名稱復(fù)雜度名稱

3、復(fù)雜度插入排序O(n2)選擇排序O(n2)冒泡排序O(n2)堆排序O(nlogn)快速排序O(nlogn)-O(n2)5、 什么是算法?什么是算法復(fù)雜度?算法是指在解決問題時,按照某種機械步驟一定可以得到問題結(jié)果的處理過程。算法的復(fù)雜度指的是算法在運行過程中所需要的資源(時間、空間)多少 。所需資源越多,表明算法的復(fù)雜度越高。6、算法分析的目的是什么?是為了建立衡量算法優(yōu)劣的標(biāo)準(zhǔn),用以比較同一類問題的不同算法。為了對算法的某些特定輸入,估算該算法所需的內(nèi)存空間和運行時間;7、算法設(shè)計的常用技術(shù)是什么?分治法;回溯法;貪心法;動態(tài)規(guī)劃法分治限界法;窮舉法;遞推法; 遞推法8、什么是遞歸

4、算法?遞歸算法的特點?遞歸算法:是一個模塊(函數(shù)、過程)除了可調(diào)用其它模塊(函數(shù)、過程)外,還可以直接或間接地調(diào)用自身的算法。遞歸算法特點: 要有終止條件,不然會無限循環(huán)要找到一個可以循環(huán)調(diào)用的遞歸表達式9、分治法的基本思想是什么? 將一個規(guī)模為N的問題分解為K個規(guī)模較小的子問題,這些子問題互相獨立且與原問題相同。遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解。10、遞歸算法的優(yōu)點是什么? 結(jié)構(gòu)清晰,可讀性強,容易用數(shù)學(xué)歸納法來證明算法的正確性,因此它為設(shè)計算法、調(diào)試程序帶來很大方便。11、遞歸算法的缺點是什么?運行效率較低,耗費的計算時間和占用的存儲空間都多。為了達到此目

5、的,根據(jù)具體程序的特點對遞歸調(diào)用工作棧進行簡化,盡量減少棧操作,壓縮棧存儲空間以達到節(jié)省計算時間和存儲空間的目的。12、C語言為什么要規(guī)定對所有用到的變量要“先定義,后使用”這樣做有什么好處?因為C語言是一種強類型語言,要求所有變量在使用之前先定義數(shù)據(jù)類型。1、根據(jù)數(shù)據(jù)類型分配內(nèi)存空間。2、便于提高源代碼的安全性。 例子:假如一個全局變量money在代碼中多次使用。但有一次寫成了menoy。由于變量不需要事先聲明的。所以程序正常運行,但是邏輯錯誤,難以排除。如果要求事先定義,則不會出現(xiàn)這樣的錯誤。13、簡述C語言中指針與數(shù)組的聯(lián)系與區(qū)別。數(shù)組名只是指針中的一種,它是指針中只指向棧區(qū)的且指針的移

6、動范圍是有限的,即數(shù)組長度。而且數(shù)組在定義之初就已經(jīng)有了自己的內(nèi)存,一般的指針如果未指向某一個內(nèi)存塊時,它是沒有自己的內(nèi)存的,即所謂的野指針。聯(lián)系:如上面所說,數(shù)組只是定義在棧區(qū)的一個連續(xù)變量,它的首地址就是一個指針。區(qū)別:數(shù)組是地址的常量,指針是保存地址的變量。14、在編寫程序的過程中,可能會出現(xiàn)程序編譯錯誤或執(zhí)行結(jié)果不正確等情況,為了有效的檢查和分析錯誤原因,經(jīng)常采用調(diào)試的方法。請寫出至少2種常見的程序調(diào)試方法。1、設(shè)置斷點 2、分段隔離 3、跟蹤打印 4、單步執(zhí)行 5、查看變量6、預(yù)定義使用16、什么是全局變量和局部變量。給出局部變量的任意兩種存儲方式。全局變量指在程序整個生命周期都占據(jù)

7、內(nèi)存的變量。局部變量指在定義該變量的范圍內(nèi)可用的變量,僅在定義該變量的局部范圍內(nèi)起作用。auto動態(tài)變量,默認是它,數(shù)據(jù)存儲在動態(tài)存儲區(qū)中。static:靜態(tài)變量,在函數(shù)調(diào)用結(jié)束后不消失而保留原值,在下一次函數(shù)調(diào)用時,該變量已有值就是上次函數(shù)調(diào)用結(jié)束時的值。17、簡述C程序的編譯過程。1. 編譯預(yù)處理預(yù)編譯程序所完成的基本上是對源程序的“替代”工作。經(jīng)過此種替代,生成一個沒有宏定義、沒有條件編譯指令、沒有特殊符號的輸出文件。這個文件的含義同沒有經(jīng)過預(yù)處理的源文件是相同的,但內(nèi)容有所不同。下一步,此輸出文件將作為編譯程序的輸出而被翻譯成為機器指令。2. 編譯階段編譯程序所要做的工作就是通過詞法分

8、析和語法分析,在確認所有的指令都符合語法規(guī)則之后,將其翻譯成等價的中間代碼表示或匯編代碼。3. 優(yōu)化階段 優(yōu)化一部分是對中間代碼的優(yōu)化。這種優(yōu)化不依賴于具體的計算機。另一種優(yōu)化則主要針對目標(biāo)代碼的生成而進行的。經(jīng)過優(yōu)化得到的匯編代碼必須經(jīng)過匯編程序的匯編轉(zhuǎn)換成相應(yīng)的機器指令,方可能被機器執(zhí)行。4. 匯編過程匯編過程實際上指把匯編語言代碼翻譯成目標(biāo)機器指令的過程。對于被翻譯系統(tǒng)處理的每一個C語言源程序,都將最終經(jīng)過這一處理而得到相應(yīng)的目標(biāo)文件。目標(biāo)文件中所存放的也就是與源程序等效的目標(biāo)的機器語言代碼。5. 鏈接程序鏈接程序的主要工作就是將有關(guān)的目標(biāo)文件彼此相連接,也即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來。18、模塊化程序設(shè)計思想,簡述這種方法的策略和優(yōu)點。模塊化是結(jié)構(gòu)化方法最基本的分解原則的具體應(yīng)用它主要出現(xiàn)在結(jié)構(gòu)化設(shè)計階段中其目標(biāo)是將系統(tǒng)分解成具有特定功能的若干模塊從而完成系統(tǒng)指定的各項功能。自頂向下逐層分解,是指在程序設(shè)計時,先考慮問題大的方面,在確定了主要方向后,再由表及里深入到問題具體的細節(jié),由易到難,逐層解決問 題。這是一個由模糊到清晰,由概括到具體的過程。而逐步求精是在遇到復(fù)雜問題

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論