從程序設計語言到程序課件_第1頁
從程序設計語言到程序課件_第2頁
從程序設計語言到程序課件_第3頁
從程序設計語言到程序課件_第4頁
從程序設計語言到程序課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計進階

尹寶林第一講:從程序設計語言到程序初學者的困難寫出符合要求的程序不知如何下手不知程序錯在哪里不知如何改正錯誤不知如何檢查程序是否符合要求不知如何寫出高質量的程序2005-1-22C語言程序設計進階感到困難的原因對編程語言的掌握對解題過程的掌握對相關知識和技術的掌握實踐經驗2005-1-23C語言程序設計進階解決問題的方法掌握程序設計的基本過程掌握程序設計各步驟的相關技術加強練習多做練習閱讀高水平的程序2005-1-24C語言程序設計進階程序設計的基本過程明確任務要求明確已知條件逐步分解、自頂向下的設計提出解題思路確定關鍵算法和數(shù)據結構確定程序結構編碼實現(xiàn)可運行的程序檢驗程序是否符合要求2005-1-25C語言程序設計進階程序設計的步驟分析明確程序設計的目標和要求明確已知條件和約束設計描述問題求解的過程和步驟逐步縮短出發(fā)點和目標間的距離編碼從設計到程序的轉換2005-1-26C語言程序設計進階程序設計的步驟(續(xù))調試發(fā)現(xiàn)和改正編碼中的錯誤語法錯誤語義錯誤邏輯錯誤檢查和保證編碼的正確性2005-1-27C語言程序設計進階程序設計的步驟(續(xù))測試排除設計錯誤檢驗程序的正確性和可靠性保證程序的功能和性能符合目標要求2005-1-28C語言程序設計進階不同規(guī)模程序的差異設計目標不同功能和性能要求生命周期、可維護性、可擴展性可靠性程序復雜程度不同結構代碼量錯誤處理方式2005-1-29C語言程序設計進階不同規(guī)模程序的差異(續(xù))使用環(huán)境和方式的差異使用環(huán)境單一平臺多種平臺網絡環(huán)境使用人員自用他人:專業(yè)人員一般用戶與其它程序的關系和交互方式2005-1-210C語言程序設計進階不同規(guī)模程序的差異(續(xù))工作內容差異主要體現(xiàn)在分析、設計和測試重點隨程序復雜性增加而逐漸前移測試工作的重要性隨程序復雜性增加而增加2005-1-211C語言程序設計進階問題分析分析的依據明確的要求:問題描述隱含的要求:規(guī)則、環(huán)境、常識分析的方法認真閱讀題目,理解題目要點認真思考,準確把握要求記錄關鍵點2005-1-212C語言程序設計進階問題分析(續(xù))分析要點明確問題的要求功能:對環(huán)境及輸入數(shù)據的處理過程及結果性能:對系統(tǒng)資源的占用量使用方式和環(huán)境人機界面輸入/輸出數(shù)據及格式與其它系統(tǒng)的交互理解問題的性質把握所要解決的關鍵問題2005-1-213C語言程序設計進階分析結果的質量要求具體、準確、完整符合題目的各項要求:明確的和隱含的后續(xù)工作的依據:可操作性后續(xù)工作檢查的標準必要的文檔記錄需求要點基本功能、輸入數(shù)據的來源,數(shù)據格式、類型、數(shù)量和范圍、需要處理的特殊情況計算結果的輸出格式和目標文件2005-1-214C語言程序設計進階問題分析的例已知一元多項式A=+…+a1x+a0,B=+…+b1x+b0根據運算符+、-、*,分別計算A+B、A-B、A*B。輸入數(shù)據由三行組成。第一行是多項式A,第二行是多項式B,第三行是一個運算符,表示所要進行的運算。多項式中除常數(shù)項外的每一項的形式為,其中是一個整數(shù),表示該項的系數(shù),X是變量名,N是該項的次數(shù)。各項與’+’之間可以有0個或多個空格符。輸入的多項式A和B的最高次數(shù)均不超過500,系數(shù)的絕對值不超過10000。輸出結果寫在標準輸出上,占一行。結果多項式按降冪方式排列,各項的表示形式與輸入形式相同,按常規(guī)的方式顯示。例如,系數(shù)為0的項不輸出;除常數(shù)項外,系數(shù)為1的項不顯示系數(shù)。各項與運算符之間空一格?!据斎霕永?x5+5x3+69x6+2x5+6x3+x2+6-【輸出樣例】-9x6+x5-x3-x22005-1-215C語言程序設計進階多項式運算程序的功能讀入數(shù)據數(shù)據結構和存儲空間完成計算數(shù)據結構和算法輸出結果格式要求2005-1-216C語言程序設計進階輸出結果的格式要求對于一般項,輸出結果占一行結果多項式按降冪方式排列如果系數(shù)為0,則不輸出該項各項與運算符之間空一格除常數(shù)項外,如果系數(shù)為正負1,則不顯示系數(shù)系數(shù)的正負號不直接輸出,而是轉化為該項前面的運算符:正號對應運算符’+’,負號對應運算符’-’如果指數(shù)為0,則不輸出x0而只輸出系數(shù)。這包括系數(shù)為1的情況2005-1-217C語言程序設計進階輸出結果的格式要求(續(xù))對于多項式的第一項的特殊規(guī)則:若第一項系數(shù)為正數(shù),則在其前面不輸出任何符號若第一項系數(shù)為負數(shù),則在其前面輸出符號"-",且"-"與系數(shù)之間不留空格對于整個多項式的特殊規(guī)則:若多項式中所有項的系數(shù)均為0,即整個結果多項式為零,則輸出0操作符+、-前后要留有空格末尾要輸出換行符’\n’,并且’\n’與前面的可顯示字符之間不留空格多項式中變元的名字:是一個字符,必須與輸入多項式中的變元名字一致2005-1-218C語言程序設計進階設計設計的依據對問題的分析計算環(huán)境的限制設計的內容建立計算模型提出解題思路確定計算方法確定基本數(shù)據結構2005-1-219C語言程序設計進階設計(續(xù))設計的檢驗能否滿足分析階段所明確的需求能否作為編碼的依據2005-1-220C語言程序設計進階設計要點解題的步驟關鍵算法輸入/輸出信息和格式程序結構錯誤處理可能出現(xiàn)的錯誤處理方法2005-1-221C語言程序設計進階計算模型適用于與具體應用領域相關的題目對所要求解的問題的一種抽象用計算過程中的元素描述問題計算過程中的元素:數(shù)據、公式、操作等把應用領域中的實體及其關系抽象成數(shù)學模型建立實體與計算對象的對應關系2005-1-222C語言程序設計進階計算模型的建立分析題目中與計算相關的實體及其相互關系,以及所要求解的內容。細化實體、關系和求解要求,建立脫離具體應用領域的、比較抽象的問題描述及其與題目中實體的對應關系。根據這一模型確定計算步驟、算法及數(shù)據結構等后續(xù)工作。2005-1-223C語言程序設計進階計算模型的建立(續(xù))計算模型不一定唯一在已知的計算模型中找出最為合適或接近的計算模型盡量簡明、直觀2005-1-224C語言程序設計進階計算模型的例(1996)題目大意:如果A呼叫過B,B又直接或間接地呼叫過A,則A和B同在一個呼叫組中。給出一組電話呼叫記錄,計算出各個呼叫組及其中的人員。例如,A呼叫過B,B呼叫過C,C呼叫過A,則A、B、C在一個呼叫組中。同時,C又呼叫過D,D也呼叫過C,則D也與A、B、C同在一個組中。B又呼叫過E,但E沒有呼叫過A、B、C、D中的任何一位,則E不在A、B、C、D的呼叫組中。數(shù)學模型有向圖節(jié)點對應用戶弧對應呼叫呼叫組對應互相連通的節(jié)點問題的求解計算有向圖的連通性2005-1-225C語言程序設計進階計算模型的例(續(xù))模型的表述鄰接矩陣人名與節(jié)點對應表問題的求解計算連通矩陣節(jié)點根據連通性分組根據分組和對應表解釋連通矩陣2005-1-226C語言程序設計進階解題思路問題求解的步驟序列在問題描述的應用領域上進行在計算模型的基礎上進行逐步探索、逐步細化分而治之,把大問題分解成小問題解題思路的可行性每一步都可以用已知的方法解決每一步都可以在限定條件下實際計算2005-1-227C語言程序設計進階解題思路(續(xù))解題思路的描述自然語言解題思路的依據對問題的分析和理解經驗、常識、解題步驟的粒度取決于問題的規(guī)模人員的能力和經驗例:根據輸入數(shù)據建立一個名字數(shù)值對照表2005-1-228C語言程序設計進階解題思路的例1:計算步驟讀入數(shù)據,生成內部表示形式生成用戶人名表生成初始鄰接矩陣計算圖的連通性計算鄰接矩陣的2~1次冪計算可達性矩陣根據圖的連通性產生輸出結果根據各對節(jié)點間的可達性分組根據格式要求輸出分組結果2005-1-229C語言程序設計進階解題思路的例2:N!的分解將N!分解成質數(shù)冪的乘積從標準輸入讀取一個整數(shù)N(2≤N≤60000),將N!的質數(shù)冪的乘積分解式打印到標準輸出上,分解式中的質數(shù)按從小到大輸出。對重復出現(xiàn)的質因數(shù),用指數(shù)形式表示。例輸入:5輸出:2^3*3*52005-1-230C語言程序設計進階解題思路的例2(續(xù))思路1計算N!分解質因數(shù)可行性問題:N!不可直接表示N的最大值為6000012!<231-1,232-1<13!2005-1-231C語言程序設計進階解題思路的例2(續(xù))思路2逐一地分解N以下所有的自然數(shù)累加每個質因子出現(xiàn)的次數(shù)依據乘法的交換律和結合律所需分解的最大的數(shù)為60000可行性:每一步都實際可計算其它思路?2005-1-232C語言程序設計進階計算方法(續(xù))根據計算模型設計和選擇算法算法應該滿足的條件:每一步都應是含意確定、可以計算的應該在有限的步驟之內產生所需要的計算結果應該在有限的步驟內停止算法的選擇不唯一算法評估和比較的主要考慮運行速度/資源消耗實現(xiàn)的復雜度2005-1-233C語言程序設計進階算法的基本要求使用計算機求解問題的有限步驟表示為運算的序列算法的基本性質可操作性可終止性可達到預期的目標2005-1-234C語言程序設計進階算法分類簡單算法專用算法策略算法2005-1-235C語言程序設計進階簡單算法分析解決問題的常規(guī)思路使用已有的知識可以直觀地描述描述應具體,具有可操作性例:編寫一個函數(shù)(),對x從右數(shù)第p位開始,向左連續(xù)n位(含第p位)置為y的最右邊n位的值,其余各位保持不變。2005-1-236C語言程序設計進階函數(shù)的算法取出y的最右邊n位的值生成最右n位為全1其余為全0的掩模將y的值和掩?!鞍次慌c”左移1位取代x從右數(shù)第p位開始向左連續(xù)的n位x從右數(shù)第p位開始向左連續(xù)n位置為0將y的最右邊n位的值左移1位將上述結果和被處理后的x“按位或”2005-1-237C語言程序設計進階簡單算法的例(2)計算N(1<=N<=1000)元人民幣兌換成1分、2分和5分的硬幣,有多少種可能的組合算法枚舉部分枚舉+公式公式分析的難度、實現(xiàn)的難度、計算復雜度不同2005-1-238C語言程序設計進階專用算法數(shù)值算法,例:高斯消元法、、插值算法、龍格-庫塔法......非數(shù)值算法,例:排序算法圖形操作代碼優(yōu)化、垃圾收集......2005-1-239C語言程序設計進階策略算法搜索遞歸動態(tài)規(guī)劃貪心法......2005-1-240C語言程序設計進階算法的評價對計算資源的占用時間效率()空間效率(內存)絕對值/變化的量級理解和實現(xiàn)的難易程度性能和適用范圍2005-1-241C語言程序設計進階算法的設計和選擇算法不唯一最優(yōu)算法也不一定唯一算法設計和選擇的依據算法優(yōu)缺點的比較待解問題的復雜程度計算環(huán)境的限制速度內存實現(xiàn)的難易程度2005-1-242C語言程序設計進階算法設計的例:N!的分解解題思路對從2開始的自然數(shù)逐一分解質因數(shù)將分解的結果累加到質數(shù)出現(xiàn)次數(shù)表中算法建立按從小到大排序的N以下的質數(shù)表將所有的質數(shù)出現(xiàn)次數(shù)表項清零遍歷從2到N的自然數(shù),對每一個數(shù)進行下述操作3.1對進行質因數(shù)分解并將所包含的各個質因子的個數(shù)分別累加到相應的質數(shù)出現(xiàn)表項中2005-1-243C語言程序設計進階算法設計的例:N!的分解(續(xù))算法步驟3.1的細化對每一個大于1的自然數(shù)進行操作如下1.將保存在單元A中,將質數(shù)2的序號保存在單元B中2.如果A中的數(shù)值等于1,則結束操作3.根據B中的序號取出質數(shù),檢查該數(shù)能否整除A中的數(shù)值4.如果可以整除,則將A被整除的結果保存到A,并根據B中的序號將質數(shù)出現(xiàn)表項的值加1,然后重復本步操作5.如果不能整除,則將B中的序號加1,轉回2每一步都具有可以直接編碼的可操作性具體編碼取決于數(shù)據結構2005-1-244C語言程序設計進階數(shù)據結構組織和保存數(shù)據與算法的設計相輔相成、互相協(xié)調算法描述對數(shù)據的操作不了解算法,無法決定如何構造數(shù)據算法的構造在很大程度上依賴于數(shù)據結構應該與算法同時考慮滿足算法的要求數(shù)據的表示:類型、范圍、精度可以在計算平臺上方便地實現(xiàn)2005-1-245C語言程序設計進階數(shù)據結構的例:N!的分解質數(shù)表以及質數(shù)出現(xiàn)次數(shù)表:一維數(shù)組質數(shù)表以及質數(shù)出現(xiàn)次數(shù)表中的表項數(shù)量:質數(shù)表中所需要的最大的質數(shù)的上限最大的質因子不應該超過N。題目中N的上限是60000,因此質數(shù)表中最大的質數(shù)小于60000。質數(shù)的分布隨著數(shù)值期間向上增長而趨于稀疏保守估計,在60000以內,質數(shù)約占1/8,質數(shù)表和質數(shù)出現(xiàn)次數(shù)表只要7500項每項數(shù)據存儲的類型最大的質數(shù)不超過60000,可以用16位二進制位的無符號整數(shù)一般情況下應該避免使用無符號整數(shù)來表示需要進行運算的數(shù)據因此質數(shù)表項的數(shù)據類型需要使用32位的有符號整數(shù)質數(shù)出現(xiàn)次數(shù)表項的數(shù)據類型需要估計在所有質因子中,出現(xiàn)次數(shù)最多的質因子的最大出現(xiàn)次數(shù)是多少2是最小的質數(shù),在N!的各個質因子中,2出現(xiàn)的次數(shù)最多將N!按定義展開成為從1到N的連乘,并對這一由自然數(shù)構成的因子序列進行考察每21=2個就有一個數(shù)包含有一個2每22=4個就有一個數(shù)包含有兩個2每28個就有一個數(shù)包含有n個2N!中所包含的2的個數(shù)為21+22+23+…2t,其中t為滿足2t<=N的最大值假設N的最大值為216=65536,則這時N!中所包含的2的個數(shù)為216-1=65535選擇32位的有符號整數(shù)作為質數(shù)出現(xiàn)次數(shù)表項的數(shù)據類型。<10<100<200<500<1000<5000……600004254695168669……60572005-1-246C語言程序設計進階數(shù)據結構的例:N!的分解(續(xù))質數(shù)出現(xiàn)次數(shù)表項分析的推廣對N以下的每一個質數(shù),都可以直接計算出它在N!中出現(xiàn)的次數(shù)這個方法比對N以下的各個正整數(shù)進行質因子分解更簡單新的解題思路:用N以下質數(shù)的各次冪分別整除N,并將結果直接累加,得到對N!的質因子分解結果2005-1-247C語言程序設計進階數(shù)據結構的例:N!的分解(續(xù))與上述思路對應的算法描述1.建立按從小到大排序的N以下的質數(shù)表2.將所有的質數(shù)出現(xiàn)次數(shù)表項清零3.對于所有的從2到小于等于N的最大質數(shù)進行遍歷,并對每一個質數(shù)進行:3.1將質數(shù)放入存儲單元A中3.2用A中的數(shù)整除N,將結果累加到相應的質數(shù)出現(xiàn)表項中3.3將A中的數(shù)乘以質數(shù),比較A中的數(shù)是否大于N3.4如果A中的數(shù)大于N,結束對質數(shù)的處理3.5如果A中的數(shù)不大于N,則轉到3.22005-1-248C語言程序設計進階編碼過程程序的實現(xiàn)從自然語言到編程語言描述的進一步精確符合編程語言的語法和語義編碼策略自頂向下()分而治之()描述逐層細化獨立的基本任務2005-1-249C語言程序設計進階編碼過程(續(xù))保持良好的程序結構對計算過程描述的層次性對程序的描述要自頂向下,逐步細化在每一個層面上只描述本層面直接使用到的計算步驟和控制機制各個計算步驟的細節(jié),在下一層次再進行細化的描述自頂向下的層次性描述通過函數(shù)的調用和定義實現(xiàn)對于過于復雜,不便直接使用C語句描述細節(jié)的計算步驟用一個函數(shù)來表示這個計算步驟在對這個函數(shù)具體定義時再詳細描述計算步驟的操作細節(jié)函數(shù)名說明所要完成的任務,參數(shù)傳遞計算所需要的數(shù)據逐級細化,直至所有的操作都轉化為基本的C語言計算/控制語句2005-1-250C語言程序設計進階編碼過程(續(xù))保持良好的程序結構(續(xù))在()中,只描述計算的基本步驟對程序調用參數(shù)的錯誤處理對大的計算過程的控制各個計算步驟的細節(jié),留待下面的層次逐步展開函數(shù)的長度一般不超過顯示器一屏所能顯示的長度表達獨立的操作步驟2005-1-251C語言程序設計進階編碼的例:N!的分解 60000 /8[],[];(c,**v){ m,n; (c<2){ (,":N\n",v[0]); 1; } n=(v[1]); (n<2n>){ (,"N2\n",); 2; } m=(n,); (n,m,,); (m,); 0;}2005-1-252C語言程序設計進階編碼的例:N!的分解(續(xù))(,,[],[]){ i,n; (i=0;i<;){ (n=[i];n<=;n*=[i]){ [i]/n; } }}2005-1-253C語言程序設計進階編碼的其它要點代碼的描述應當完整簡潔語句的使用應當準確代碼應該容易閱讀、理解和修改代碼應當便于重用代碼中應有適當?shù)淖⑨?005-1-254C語言程序設計進階代碼描述的完整和簡潔應該嚴格地根據解題步驟和算法的規(guī)定完整地描述具體的計算過程代碼的描述應該直截了當,避免不必要的語句檢查解題步驟和算法的每一步是否都在代碼中得到正確的描述各個計算步驟的前后順序是否正確條件判斷的內容和位置是否恰當2005-1-255C語言程序設計進階語句的準確性避免由于疏忽或誤解而產生編碼錯誤常見的錯誤=與混淆的嵌套:意圖與描述不符語句中缺少必要的變量未賦值即引用字符與字符串混淆按位與(&)與邏輯與()混淆,按位或(|)與邏輯或()混淆運算符優(yōu)先級和結合方式錯誤例:1<<a+b1<<(a+b)邏輯與()和邏輯或()的混淆是大于0(n>0)還是大于等于0(n>=0)是i<n還是i<=n還是i<=n+12005-1-256C語言程序設計進階代碼的可維護性代碼應該容易閱讀、理解和修改便于發(fā)現(xiàn)和改正錯誤在一定的范圍內適應需求的合理變動利用變量的初始化和編譯系統(tǒng)的預處理功能30*[]={"1","2",......“30”};*[]={“1”,“2”,......“30”};(()([0]))避免使用不易理解的技巧和復雜的表達式()+()+();x=;2005-1-257C語言程序設計進階代碼的重用代碼可以不經修改地在多處使用相同的或相近的功能應該只在一處實現(xiàn)使程序的代碼簡潔,便于維護可以減少工作量,提高工作效率方法:函數(shù)宏定義避免過分追求代碼的重用函數(shù)過于復雜,引起編碼、調試和維護的困難2005-1-258C語言程序設計進階代碼中的注釋有于對程序的理解增加程序的可維護性必要的注釋生存周期在一天以上最基本的注釋:對程序的說明程序的目的和作用程序編寫的依據程序中不直觀的地方所采用的算法和數(shù)據結構及采用的理由復雜代碼段落的含義注釋應當與代碼一致2005-1-259C語言程序設計進階代碼的檢查語法檢查使用編譯系統(tǒng)其它工具、……語法錯誤的處理從第一個錯誤改起改正所有的錯誤和警告語義檢查:測試和調試2005-1-260C語言程序設計進階調試概述調試的目的保證程序正常運行在編程階段進行步進式調試及時編譯及時測試調試工具和方法編譯器做為語法檢查工具函數(shù)測試環(huán)境和數(shù)據調試工具的選擇和使用2005-1-261C語言程序設計進階調試的基本步驟確定故障現(xiàn)象確定程序的執(zhí)行過程分析故障的原因確認故障原因修改程序測試/確認程序運行正常步進式的調試2005-1-262C語言程序設計進階確定故障現(xiàn)象故障的表現(xiàn)程序的輸出與預期結果的差異程序的狀態(tài)故障的類型錯誤輸出/死循環(huán)/程序崩潰確定性故障/非確定性故障出現(xiàn)故障的條件運行環(huán)境輸入數(shù)據操作/命令2005-1-263C語言程序設計進階確定程序的執(zhí)行過程估計在出錯的條件下程序的執(zhí)行路徑分析程序的邏輯判斷各個分支點的條件驗證程序的執(zhí)行路徑基本方法:輸出提示信息調試工具:在可能的路徑上設置斷點分支點的檢驗策略二分法2005-1-264C語言程序設計進階觀察程序的內部狀態(tài)關鍵變量直接輸出的變量相關的中間變量變量值的觀察打印使用調試工具與預期值的比較根據程序邏輯,分析所觀察變量的預期值2005-1-265C語言程序設計進階分析故障的原因確定與故障相關的變量與輸出結果直接相關的變量中間變量確定故障的源頭2005-1-266C語言程序設計進階確認故障原因修改可能引起故障的語句適用引起計算錯誤的故障引起崩潰或死循環(huán)的故障屏蔽/刪除可能引起故障的語句適用引起崩潰或死循環(huán)的故障2005-1-267C語言程序設計進階修改程序可恢復性修改保存程序備份將需修改的語句放入注釋記錄修改內容注釋修改的原因修改的內容初步觀察修改效果測試/確認程序運行正常2005-1-268C語言程序設計進階測試初步檢驗程序的功是否能符合要求排除設計錯誤檢驗程序的性能和可靠性在程序設計開始前考慮在程序階段性完成時進行2005-1-269C語言程序設計進階測試的要素測試的步驟函數(shù)測試模塊測試整體測試回歸測試測試模型黑盒測試白盒測試2005-1-270C語言程序設計進階測試的要素測試方法手工/自動測試工具測試環(huán)境操作系統(tǒng)編譯系統(tǒng)/選項/版本測試數(shù)據輸入數(shù)據預期結果2005-1-271C語言程序設計進階測試數(shù)據的覆蓋范圍基本覆蓋功能要求性能要求邊界條件應當處理的極端條件和特殊情況錯誤處理有可能出現(xiàn)的錯誤適當?shù)姆磻?005-1-272C語言程序設計進階測試數(shù)據的設計依據問題分析中的各種要求時機問題分析階段,設計開始之前方法手工自動2005-1-273C語言程序設計進階測試數(shù)據的例:多項式運算功能性基本覆蓋的要素輸入數(shù)據輸出數(shù)據輸入數(shù)據的覆蓋因素輸入數(shù)據的長度多項式各項系數(shù)的值極限值、連續(xù)、正負交錯、奇偶次項交錯為0、1、…運算符2005-1-274C語言程序設計進階測試數(shù)據的例:多項式運算(續(xù))輸出數(shù)據的覆蓋因素結果多項式的長度單項、小于、等于極限值多項式各項系數(shù)的值邊界條件系數(shù)為0結果多項式為0長度等于極限值2005-1-275C語言程序設計進階測試數(shù)據設計要點考慮問題要求的各個方面考慮程序的運行模式各種要求的合理組合原因程序的復雜性錯誤來源的多樣性編程人員測試時的傾向常見問題測試簡單,數(shù)據設計不系統(tǒng)2005-1-276C語言程序設計進階測試的方法測試工具程序的性能評估錯誤的處理記錄調試測試針對性測試回歸測試2005-1-277C語言程序設計進階程序分析和設計的例:

圖像文件格式轉換工具基本任務:10種格式的圖像文件任意轉換命令行指定輸入/輸出文件文件格式的給定:文件名后綴獨立運行錯誤信息輸入文件不能讀輸出文件不能寫輸入文件格式與文件名后綴不符文件名后

溫馨提示

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

評論

0/150

提交評論