freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第9章編程技巧-資料下載頁

2025-09-25 19:23本頁面
  

【正文】 char name[20]。 }。 =1001。 strcpy(,”Li”)。 2使用文件時忘記打開,或打開方式與使用情況不匹配。 如:對文件的讀寫,用只讀方式打開,卻企圖向該文件輸出數(shù)據(jù)。此外,有的程序常忘記關(guān)閉文件,雖然系統(tǒng)會自動關(guān)閉所用文件,但可能會丟失數(shù)據(jù)。 其它還有指針引用錯誤造成野指針、函數(shù)重名、惡性語法錯誤、邊界錯誤、函數(shù)說明的疏漏、調(diào)用參數(shù)錯誤、 scanf()與 gets()函數(shù)的區(qū)別等等。 以上錯誤在多練習 C語言編程后可以克服,并且也容易檢查。在深入使用 C語言后,還會出現(xiàn)其它一些更深入、更隱蔽的錯誤。應(yīng)改為: struct worker { int num。 char name[20]。 }worker1。 =1001。 strcpy(,”Li”)。二、 程序出錯的三種情況第四節(jié) 程序調(diào)試問題22 / 26(第九章 編程技巧) 語法錯誤 程序違背 C語法規(guī)定引起的錯誤。編譯程序一般能發(fā)現(xiàn)錯誤,根據(jù) “出錯信息 ”可以很快發(fā)現(xiàn)并及時糾正。 邏輯錯誤 程序沒有語法錯誤,但執(zhí)行結(jié)果與原意不符。如: sum=0。 i=1。 while(i=100)sum=sum+i。 i++。 最后兩句應(yīng)用一對花括號括起來。這種錯誤比較難查,要求程序員有較豐富的經(jīng)驗。 運行錯誤 程序既無語法錯誤,也無邏輯錯誤,但在運行時出現(xiàn)錯誤,甚至停止運行。如: int a,b,c。 scanf(“%d %d”,amp。a,amp。b)。 c=b/a。 printf(“c=%d\n”,c)。 如果輸入 a的值為 0的話,就會出錯。因此程序應(yīng)經(jīng)受各種數(shù)據(jù)的 “考驗 ”,應(yīng)具有 “健壯性 ”。 寫完一個程序只能說完成任務(wù)的一半 (甚至不到一半 )。調(diào)試程序往往比寫程序更難,更需要精力、時間和經(jīng)驗。程序員需要通過大量的實踐來掌握調(diào)試程序的方法和技術(shù)。三、 程序調(diào)試第四節(jié) 程序調(diào)試問題23 / 26(第九章 編程技巧) 所謂程序調(diào)試是指對程序的查錯和排錯。調(diào)試程序一般經(jīng)過以下幾個步驟。 人工檢查,即靜態(tài)檢查 程序?qū)懞煤?,首先?yīng)進行人工檢查。作為一個程序員應(yīng)當養(yǎng)成嚴謹?shù)目茖W(xué)作風,每一步都要嚴格把關(guān),不要把問題留給后面的工序。為了更有效地進行人工檢查,編程人員應(yīng)力求做到以下幾點: ⑴ 應(yīng)當采用結(jié)構(gòu)化程序方法編程,以增加可讀性。 ⑵ 盡量多加注釋,以幫助理解每段程序的作用。 ⑶ 在編寫復(fù)雜程序時,不要將全部語句都寫在 main函數(shù)中,而要多利用函數(shù) ,用一個函數(shù)來實現(xiàn)一個單獨的功能。各函數(shù)之間除用參數(shù)傳遞數(shù)據(jù)這一渠道外 ,數(shù)據(jù)間盡量少出現(xiàn)偶合關(guān)系,便于分別檢查和處理。 ⑷ 編寫程序時,要注意編程風格。好的編程風格也便于查錯。 上機調(diào)試 通過上機發(fā)現(xiàn)錯誤稱為動態(tài)檢查。主要根據(jù)編譯時給出的錯誤信息來糾錯。應(yīng)當注意:有時提示的出錯行并不是真正的出錯行,應(yīng)往上查找。可能改了前面的某一個錯誤后,后面的大片錯誤就消失。要分析,找出真正的錯誤行。檢查運行結(jié)果的正確性第四節(jié) 程序調(diào)試問題24 / 26(第九章 編程技巧) 在改正 “錯誤 ”(error)和 “警告 ”(warning)后,程序經(jīng)過連接 (link)就得到可執(zhí)行的目標程序。運行程序,輸入程序所需要的數(shù)據(jù),就可得到運行結(jié)果。還應(yīng)當分析運行結(jié)果,檢查它是否符合要求。在驗證程序時,應(yīng)精心選擇典型、苛刻而帶有刁難性的幾組數(shù)據(jù)進行輸入,看它是否能夠得出滿足要求的結(jié)果。 檢查運行結(jié)果錯誤的方法 如果運行結(jié)果不對,大多屬于邏輯錯誤。對這類錯誤往往需要仔細檢查和分析才能發(fā)現(xiàn)。可以采用以下方法: ⑴ 將程序與算法仔細對照。算法正確,就是程序錯誤,仔細對照就很快發(fā)現(xiàn)錯誤。算法不對,就修正算法,再改寫程序。 ⑵ 如果實在找不到錯誤,就采取 “ 分段檢查 ” 的方法。在程序不同位置設(shè)計個printf()函數(shù)輸出相關(guān)信息或變量值,逐段往下查。直到找到在某一段中數(shù)據(jù)不對為止。 ⑶ 也可用 “ 條件編譯 ” 命令來處理調(diào)試用的 printf()函數(shù)語句 ,用完不必刪除。 ⑷ 如果程序沒有錯誤,就要檢查算法了。修改算法后再修定程序。 ⑸ 有的系統(tǒng)還提供了 debug(調(diào)試 )工具,可跟蹤程序運行并給出相應(yīng)信息。三、 C的存儲方式第四節(jié) 程序調(diào)試問題25 / 26(第九章 編程技巧) 在使用 8086系列處理機上運行 C程序時, C編譯系統(tǒng)都提供了 6種存儲方式:小方式、一般方式、中等方式、壓縮方式、大方式、特大方式。 8086用分段存儲結(jié)構(gòu),有四個段:代碼段、數(shù)據(jù)段、堆棧段和附加段。一個段在 RAM中占64K, 段的起點正好是 16字節(jié)的偶數(shù)倍。 小方式 要求程序、數(shù)據(jù)和棧都必須在同一 64K段內(nèi)。用它編譯的程序,目標碼最少,執(zhí)行起來最快??捎?DOS的 EXE2BIN命令轉(zhuǎn)換成 .COM文件。 一般方式 這種方式是缺省方式,用得最多。程序代碼單獨占用 64K, 數(shù)據(jù)碼占用另外 64K。 按這種方式編譯的程序最大為 128K。 中等方式 機器碼超過了一般方式下的一個段的限制的大程序,就要用中等方式編譯。這種方式適合只使用少量數(shù)據(jù)的大程序。 壓縮方式 壓縮方式與中等方式相反,適合使用大量數(shù)據(jù),但本身程序不大的情況。大方式第四節(jié) 程序調(diào)試問題26 / 26(第九章 編程技巧) 大方式允許程序碼和數(shù)據(jù)都使用多個段。但最大數(shù)據(jù)項 (如數(shù)組 )單項最多只能占用 64K當程序和數(shù)據(jù)都很大時,要用大方式。 特大方式 特大方式與大方式有一點不同,數(shù)據(jù)單獨可占 64K以上的內(nèi)存。 方式的選擇 : 除非有特殊理由,一般情況下都應(yīng)使用一般方式。 當程序很大,但數(shù)據(jù)不多時,可選用中等方式。 而程序不大,數(shù)據(jù)卻很多時,應(yīng)選用壓縮方式。 如果程序和數(shù)據(jù)都不小,則選用大方式。 當某些數(shù)據(jù)項目單項大于 64K時,用特大方式。 在 8086上運行 C程序,還可以使用 far、 near、 huge三個說明符來解決存儲方式混用的問題,它們只能用于指針和函數(shù)。詳細信息參見有關(guān)資料。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1