C語言教學課件:第八部分 基本程序設計技術1_第1頁
C語言教學課件:第八部分 基本程序設計技術1_第2頁
C語言教學課件:第八部分 基本程序設計技術1_第3頁
C語言教學課件:第八部分 基本程序設計技術1_第4頁
C語言教學課件:第八部分 基本程序設計技術1_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1學習程序設計需要注意規(guī)律性的東西同一個問題可以采用不同的解決方案不同的解決方案具有不同的效率2第八部分 基本程序設計技術3本部分內(nèi)容基本程序設計技術循環(huán)程序設計解決問題的一些思路數(shù)據(jù)的精度程序調試4循環(huán)的常用機制+, - 將變量值加/減 1。有前/后置寫法: +x x+ 將x的值加1 -x x- 將x的值減1建議不要寫難以理解的語句,如:Sum=(+a)+(+a);Printf(“%d%d%d”,a,a+,a+);1. 增/減量運算5形式:表達式1,表達式2 ,表達式3,表達式4執(zhí)行時先求值表達式1,后求值表達式2,以表達式n的值作為整個逗號表達式的值。優(yōu)先級最低(低于賦值),從左向右結合。

2、主要用在 for 頭部做變量初置和更新,用于做多個變量賦值或更新。例(求平方和):for(sum=0, n=1; n=100; +n) sum = sum + n * n;2. 逗號運算符( a=3*5,a*4), a+520 x=(a=3,6*a) a=3 x=1863.實現(xiàn)二元運算符操作的賦值運算符常見“sum = sum + n*n;”形式的賦值。C語言為許多二元運算符提供了(復合)賦值符。算術運算符都有對應賦值運算符:+=-=*=/=%= x+=y; 相當于 x=x+(y); x*=y+z; ? 賦值運算符使用的例子(求平方和):for (sum = 0, n = 1; n = 100

3、; n+) sum += n * n;這些運算符的優(yōu)先級與結合方式與普通賦值相同。sum =sum+n * n74.循環(huán)中的幾種變量循環(huán)中常出現(xiàn)幾類變量,注意這些有助于對循環(huán)的思考和分析。1)循環(huán)控制變量(循環(huán)變量):循環(huán)前設初值,循環(huán)中遞增/遞減,達到/超過界限時循環(huán)結束。它們控制循環(huán)的進行/結束。 for中常有這類變量。for(n = 0; n = 0; -n) . .for(n = 2; n 52; n += 4) .這種循環(huán)是固定次數(shù)的循環(huán)。82)累積變量:循環(huán)中常用 += 或 *= 等更新。初值常用運算的單位元(加用0;乘用1為初值)。循環(huán)結束時變量終值被作為循環(huán)計算結果。 sum+

4、=t;3)遞推變量:對變量x1、x2、x3,循環(huán)體可能有序列:x1 = x2;x2 = x3;x3 = . x1 . x2 .;9寫循環(huán)時要考慮和解決問題:循環(huán)涉及到哪些變量,需引進哪些臨時性變量?循環(huán)如何開始?循環(huán)開始前給變量什么初值?循環(huán)中變量的值如何改變?什么情況下繼續(xù)(或終止)循環(huán)?循環(huán)終止后如何得到所需結果?用哪種結構實現(xiàn)循環(huán),等等。工作方式:分析問題,發(fā)掘線索,最終完成程序。10只有在程序設計實踐中才能學好程序設計:1)模仿好的范例;2)自己動手動腦,反復實踐從問題出發(fā)做出程序的整個過程;3)多想想自己的程序做得怎么樣,能不能做得更好。只有學會怎樣做好小程序,才能做出大程序11學習

5、程序設計需要注意規(guī)律性的東西。三種流程模式是重要總結。本節(jié)主要內(nèi)容:循環(huán)程序設計進階順序模式最簡單選擇模式:要確定判斷條件及不同情況下的動作難點是實現(xiàn)重復執(zhí)行的循環(huán)。8.1 循環(huán)程序設計 12138.1循環(huán)程序設計寫循環(huán)首先要發(fā)現(xiàn)循環(huán)。重復動作的常見實例:一批類似數(shù)據(jù)做同樣加工處理累積一批可按規(guī)律算出的數(shù)據(jù)(累加等)反復從一個結果算出下一結果(遞推)若重復次數(shù)很多,就應該考慮用循環(huán)如果重復次數(shù)無法確定,就必須用循環(huán)描述14例1:求13到315所有數(shù)的平方根之和??梢砸粋€個地加,但更方便的方法是寫循環(huán)。需要一個變量保存部分和,逐步把各平方根加上去;需要一個變量保存變動軌跡,從初值開始每次修改。f

6、or(sum = 0.0, n = 13; n = 13; -n) sum += sqrt(n);典型for循環(huán)。假定已有總和變量sum和循環(huán)變量n:向上循環(huán)向下循環(huán)循環(huán)變量累積變量基本的循環(huán)方式有兩種:向上循環(huán)和向下循環(huán)15while語句重寫上例double sum;int n;Sum = 0.0; n = 13;while (n = 315) sum += sqrt(n); +n; 16注意:因為浮點計算存在誤差,一般不用浮點數(shù)控制循環(huán),尤其是增量為小數(shù)或包含小數(shù)時。例:求從0到100每隔0.2的數(shù)的平方根之和: double sum, x;for (sum=0.0, x=0.2; x=1

7、00.0; x+=0.2) sum += sqrt(x);由于浮點計算誤差,不能保證循環(huán)500次。應寫:int n; double sum;for (sum = 0.0, n = 1; n = 500; +n) sum += sqrt(0.2*n);17例2:打印出 1 到 200 間的完全平方數(shù)。方法一:逐個檢查,遇平方數(shù)打印。循環(huán)框架:for (n = 1; n = 200; n+) if (n是完全平方數(shù)) 打印 n;n 是完全平方數(shù)判斷:m可以從1開始,遞增,直至m*m大于n:for (m = 1; m * m = n; m+) if (m * m = n) 打印 n;18完整程序:#

8、includeint main() int m, n;for(n=1; n = 200; n+)for (m = 1; m * m = n; m+) if (m * m = n) printf(%d , n);printf(n); return 0;內(nèi)層循環(huán)結束的兩種情況:1,找到m使m*m=n(n是完全平方數(shù))2,試探了所有可能,但都不成功(n不是)共循環(huán)了多少次?19具有累計循環(huán)次數(shù)功能的完整程序:#include int main () int m, n, count = 0; for (n = 1; n = 200; n+) for (m = 1; m * m = n; m+) cou

9、nt+; if (m * m = n) printf(%d , n); printf(“%dn“, count); return 0;共循環(huán)了1799次20方法二:需要打印的一定是從1開始連續(xù)幾個整數(shù)的平方,可從1開始打印到平方大于200為止。for (n = 1; n * n = 200; +n) printf(%d , n * n); /*注意打印什么*/ 方法三:還可以考慮利用遞推公式:方法一產(chǎn)生所有備選數(shù)據(jù)(1到200的整數(shù)),檢查排除不合格的。生成與檢查是解決問題的常用方法。方法二是針對具體問題的特定方法。21#includeint main() int termn, n; for

10、(n = 1,termn = 1;termn = 200; n+) printf(%4d,termn); termn += 2*n+1; return 0;利用遞推公式求平方數(shù)程序:方法與啟發(fā)方法1產(chǎn)生所有備選數(shù)據(jù)(1到200之間的整數(shù)),檢查排除不合格的。啟發(fā)生成與檢查是解決問題的常用方法。方法2換個角度思考問題,是針對具體問題的特定方法。方法3遞推,用數(shù)學模型解決問題啟發(fā)同一個問題,可以有不同的解決方法應嘗試切換思考角度和尋找更有效的方法不同的方法有不同的效率22例3:判斷整數(shù)是否為素數(shù)int isprime(int),返回0/1值n是素數(shù)當且僅當n沒有真因子若n % m = 0,則m是n

11、的因子若n % m = 0,且 m n 23素數(shù)判斷函數(shù)定義int isprime (int n) /* n是否素數(shù) */ int m = 2; for ( ; m * m = n; m+) if (n % m = 0) return 0; /只要發(fā)現(xiàn)能被一個數(shù)整除,就返回 return 1; /* 沒有因子,是素數(shù) */24分析從循環(huán)中退出途徑只要發(fā)現(xiàn)一個因子,就可做結論,return 0;沒有發(fā)現(xiàn)因子,循環(huán)條件不符合。函數(shù)存在的問題對1給出“是素數(shù)” ;負數(shù)也會給出不合理結果。應該在循環(huán)前處理特殊情況if (n = 1) return 0;負數(shù)問題?如果需要可以另外考慮處理。2526例4,

12、艱難旅程(浮點誤差)。烏龜要去環(huán)球。第1秒爬1米,第2秒爬1/2米,第3秒爬1/3米,第4秒爬1/4米,。問一小時能爬出多遠?爬20米需多少秒? 一小時能爬多遠算法:1.d(距離,實數(shù)); s(時間,整數(shù));2.d=0.0;s=1;3. d=d+1/(實數(shù))s; s=s+1; 4.如果s=3600,轉3;5.否則,輸出d;爬20m需多少秒算法:d(距離,實數(shù)); s(時間,整數(shù));d=0.0,s=1;d=d+1/(實數(shù))s;s=s+1; 如果d20.0,轉3;否則,輸出s-1;根據(jù)數(shù)學,烏龜能完成環(huán)球,可以爬得任意遠。這里想比較float和double的計算誤差情況。s-1?27n秒能爬x米的

13、函數(shù)float distfun(long n) float distfun(long n) long i; float x = 0.0; for (i = 1; i = n; +i) x += 1/(float)i; return x;例4,艱難旅程(浮點誤差)。烏龜要去環(huán)球。第1秒爬1米,第2秒爬1/2米,第3秒爬1/3米,第4秒爬1/4米,。問一小時能爬出多遠?爬20米需多少秒? 28例4,艱難旅程(浮點誤差)。烏龜要去環(huán)球。第1秒爬1米,第2秒爬1/2米,第3秒爬1/3米,第4秒爬1/4米,。問一小時能爬出多遠?爬20米需多少秒? 20米需要多少時間。寫出下面函數(shù):long scndsf

14、un(float d) /*d為爬行距離*/ long i; float x = 0.0; for (i = 1; x d; +i) x += 1/(float)i; return i - 1;d=2029寫下面語句,執(zhí)行時總也不輸出:printf(%lds, %fmn,scndsfun(20.),20.);修改為如下語句:for (x = 10.0; x = 20.0; x += 1.0) printf(%lds, %fmn,scndsfun(x),x);原因?程序輸出: 12367s, 10.000000m 33617s, 11.000000m 91328s, 12.000000m 248

15、695s, 13.000000m 662167s, 14.000000m1673859s, 15.000000m而后又沒反應了。30void test_float () long i; float sum = 0.0, sum0 = -1.0; for (i = 1; sum != sum0; +i) sum0 = sum; sum += 1 / (float)i; printf (float: %ld terms at %fn, i-1, sum); 對烏龜活動的模擬受到數(shù)據(jù)表示精度和范圍的限制。 考慮如下的測試函數(shù):程序很快就輸出了一行:float: 2097152 terms at 15

16、.403683判斷爬的距離不再發(fā)生變化。Float精度限制,差值無法測試到記住上一次的值解決方案:改用雙精度浮點數(shù)如果把測試程序改用double類型變量保存距離則可以得出如下結果(15m以后) 1835421s, 15m 2989191s, 16m 13562027s, 17m 36865412s, 18m111210581s, 19m272400600s, 20m采用float表示所爬的里程,d為目標里程long scndsfun(float d) long i; /秒數(shù) double x = 0.0; /已經(jīng)爬里程 for (i = 1; x = 1E-6) x1 = x2; x2 = (

17、2.0*x1 + x / (x1*x1) / 3.0; return x2;程序的一個缺點是同一表達式寫了兩次。調用語句:y=cbrt(200);或x=200;y=cbrt(x);36do-while沒有for和while語句用得多。用do-while結構重寫求立方根函數(shù):double cbrt(double x) double x1, x2 = x;if (x = 0.0) return 0.0; /*處理特殊情況*/ do x1 = x2; x2 = (2.0*x1 + x / (x1*x1) / 3.0; while (fabs(x2 - x1) / x1) = 1E-6); retur

18、n x2;37循環(huán)中的遞推變量:對變量x1、x2、x3,循環(huán)體可能有序列:x1 = x2;x2 = x3;x3 = . x1 . x2 .;例如上面cbrt里的變量x1和x2。38例6:定義函數(shù),利用公式求 近似值。設為double dsin(double x)。sum = 0.0; 對n為0計算t;while (需要繼續(xù)) sum = sum + t; 計算下一個t;循環(huán)結束條件:例如用項絕對值小于 。方法:循環(huán)累加,n 趨向無窮的過程中項值趨于0,而累加值趨向函數(shù)值。保存累加和的變量sum ,循環(huán)中求出的項值用 t 保存。39問題:t 的值如何計算?第一個 t就是 x;分析可以發(fā)現(xiàn)項值的遞

19、推公式:double dsin(double x) double s=0.0, t=x; int n=0; /*n=0,t=x*/ while (t=1E-6|t=-1E-6) s+=t; n=n+1; t=-t*x*x/(2*n)/(2*n+1); return s;Sin(x)=x-x3/3!+x5/5!-x7/7!+.8.2 循環(huán)中的重要問題 40nmisprime(m)isprime(n-m)驗證結果6311OK58311OK510311OK511OK712310NO511OK7nmisprime(m)isprime(n-m)驗證結果14311OK510711OK916311OK510

20、OK710NO9.存在多余判斷for (n = 6; n = 200; n += 2) for (m = 3; m = n / 2; m+= 2) if (isprime(m) & isprime(n - m) printf(%d=%d+%dn, n, m, n-m);如何從循環(huán)中退出?例:對6200的各偶數(shù)驗證哥德巴赫猜想(一個偶數(shù)可以拆成兩個素數(shù)),可以利用前面寫的素數(shù)判斷函數(shù)isprime41用return退出?前面寫isprime時借助return退出了函數(shù),效果上等于結束了循環(huán)。但是在這個程序里,程序判斷完某個偶數(shù)n已經(jīng)由某個素數(shù)對組成以后,還需要對下一個偶數(shù)進行相同判斷。此時并不能

21、用return結束函數(shù)的執(zhí)行,怎么辦?42解決方案1增加對循環(huán)的控制,把發(fā)現(xiàn)素數(shù)分解作為條件加入。引入整型變量found,值0表示未發(fā)現(xiàn)素數(shù)對。發(fā)現(xiàn)時將found賦1。內(nèi)循環(huán)開始時found置0。應修改內(nèi)層循環(huán)條件。修改后循環(huán)是for (n = 6; n = 200; n += 2) for (found = 0, m = 3; m = n / 2 & !found; m += 2) if (isprime(m) & isprime(n-m) printf(%d=%d+%dn, n, m, n - m); found = 1; 非常常用的機制,設置變量用于表示某一項任務的完成狀態(tài)或某個對象的狀

22、態(tài)FoundNOTFound43執(zhí)行過程示意nmfoundisprime(m)isprime(n-m)found6301115183011151103011151230100501117114301115116301115118FoundNOTFound44解決方案2:用break語句語法break;功能及說明break只能用在循環(huán)語句及switch語句里。用在循環(huán)語句里,從break所處的循環(huán)層次的復合語句內(nèi)跳出(跳到外層),程序中被跳出的循環(huán)語句體之后的第一條語句處繼續(xù)執(zhí)行。用在switch語句的語句體中時,從該語句體中跳出,執(zhí)行跳到switch的語句體之后繼續(xù)執(zhí)行。45例,用break實

23、現(xiàn)跳出for (n = 6; n = 200; n += 2) for (m = 3; m = n / 2; m += 2) if (isprime(m) & isprime(n - m) printf(%d = %d+%dn, n, m, n - m); break; printf(“finished”);問題:執(zhí)行完break以后執(zhí)行哪條語句或計算?expr2循環(huán)體真(非0)for計算expr1計算expr3假(0)46執(zhí)行過程示意nmisprime(m)isprime(n-m)驗證結果6311TRUE8311TRUE10311TRUE12310FALSE511TRUE14311TRUE1

24、6311TRUE1847利用break重寫前面求立方根的函數(shù)double cbrt (double x) double x1, x2 = x; if (x = 0.0) return 0.0; while (1) x1 = x2; x2 = (2.0 * x1 + x / (x1 * x1) / 3.0; if (fabs(x2 - x1) / x1) 1E-6) break; return x2;本例中,因循環(huán)結束后函數(shù)不需要再做別的事情,因此也可以在 break 處直接寫 return x2。解決了同一表達式計算寫了兩段相類似的計算代碼的問題48“常量”是標識符形式,在程序里代表同一常數(shù)的

25、東西。用enum定義(枚舉)可方便地定義一組符號常量:enum NUM = 10, LEN = 20; 枚舉常量的作用?用于循環(huán)示例例:#include enum START = 0, END = 300, STEP = 20;int main (void) int c; for (c = START; c = END; c += STEP) printf(C = %d, F = %fn, c, c * 5.0/9.0 + 32.0); return 0; /*這樣的程序更容易修改*/另一種形式:define START 0define END 300# define STEP 2049符號形

26、式表示能幫人理解程序意義。程序里兩個0可能代表不同意義,數(shù)值形式?jīng)]有任何區(qū)分。采用符號常量可提高可讀性。將所需常數(shù)定義為符號常量,在程序中統(tǒng)一使用是很好的方法。使程序更容易修改(修改時不必瀏覽整個程序)。對大程序的作用更明顯。課本第五章繼續(xù)介紹其他常量定義方式。enum的詳細討論在第九章,目前作為一種定義符號整型常量的機制。 說明:508.3 程序設計舉例518.3 程序設計實例例1:簡單交互式計算器。假定它可以輸入并計算:128+365254+143810313+524 輸入一行算一個結果。直至用戶要求結束?;舅枷耄?while (還有輸入) 取得數(shù)據(jù) 計算并輸出用scanf讀數(shù)據(jù),用文件

27、結束或非數(shù)字表示輸入結束。52#include int main () int left, right; printf(Small calculator.n); printf(Any no-digit character to stop.n); while(scanf(%d, &left) = 1) if(getchar()!=+ | scanf(%d,&right)!=1) printf(Fmt error. Enter: nnn+mmmn ); while (getchar() != n); /丟掉本行剩余字符 ; continue; printf(%d+%d=%dn,left,right

28、,left+right); return 0;53例2:單詞計算問題 英文正文文件可看成是字符序列,空白字符把序列分隔為一個個“單詞”。要求寫程序統(tǒng)計文件中的單詞個數(shù)。 空白字符包括:空格 、制表符t、換行符n54問題分析需要一個計數(shù)器,遇到一個詞將計數(shù)器加一??紤]用函數(shù)getchar讀字符。程序主要部分的框架:while (文件未結束) 遇到一個詞時計數(shù)器加一;打印統(tǒng)計信息;用getchar輸入,很容易判斷文件結束。問題是如何確定“遇到了一個詞”。55初始思路: #include int main () int c = , count = 0; while (c != EOF) while

29、(c = getchar() != EOF & (c = | c = t | c = n) ; if (c = EOF) break; +count; while (c = getchar() != EOF & c != & c != t & c != n) ; printf(word count: %dn, count); return 0;讀完新詞略過空白字符出現(xiàn)新詞56如何判斷一個單詞?若讀的字符是單詞首字符,則計數(shù)器加一。讀入字符過程中需要區(qū)分是否空白。問題:非空白字符未必是詞的開始,是否新詞要看前一字符是否空白。可見:不能孤立地處理情況,要參考前面情況。必須做情況記錄,以便后面參考。

30、57前后關系分兩種情況:1)讀到空白,隨后遇非空白字符就是新詞;2)讀到非空白,隨后不會遇到新詞??煽醋魈幚磉^程的不同狀態(tài),兩種狀態(tài):1)讀在詞外(遇到非空白是新詞); 2)讀在詞內(nèi)。在讀入字符的過程中讀入狀態(tài)也不斷轉換。典型,可以用有限狀態(tài)轉換系統(tǒng)(自動機)描述。58分析前后關系OUTIN讀到空格字符狀態(tài)不變讀到非空格字符轉入詞內(nèi)狀態(tài)讀到空格字符轉入詞外狀態(tài)讀到非空格字符狀態(tài)不變兩種讀入狀態(tài):OUT: 當前位置在詞外IN: 當前位置在詞內(nèi)在從OUT轉換到IN時,遇到新詞,計數(shù)。狀態(tài)圖轉換圖59狀態(tài)的表示60可以用一個變量來記錄狀態(tài),設state令變量取值為IN和OUT;只要求這兩個值不同;不

31、會同時處在兩種狀態(tài);可以將IN, OUT定義成枚舉值。if (c = | c = t | c = n) if (state = IN) state = OUT; else /* state為OUT */ state = OUT;else /* 不是空格 */ if (state = IN) state = IN; else /* state為OUT */ state = IN; +count; /* 許多地方可以簡化 */61當前讀狀態(tài)變換的表示當前讀到一個字符c時,處理可描述為:#include enum IN = 1, OUT = 0;int main (void) int c, coun

32、t = 0, state = OUT; while (c = getchar() != EOF) if (c = | c = t | c = n) /如果是空白字符 state = OUT; /在詞外 else if (state = OUT) /如果碰到非空白字符 /且讀狀態(tài)為在詞外,則說明碰到新詞 state = IN; /將狀態(tài)修改為詞內(nèi) +count; /記數(shù) printf(word count: %dn, count); return 0;62例2:單詞計算問題英文正文文件可看成是字符序列,空白字符(空格 、制表符t、換行符n)把序列分隔為一個個“單詞”。要求寫程序統(tǒng)計文件中的單詞個

33、數(shù)。思考中文的詞可以用這種辦法找出來嗎?拓展學習學習中文分詞知識及算法638.4 程序測試和排錯64分析問題編制程序編譯連接調試運行完成調試中發(fā)現(xiàn)程序編寫有錯誤,修改源程序編譯時發(fā)現(xiàn)程序有語法錯誤,修改源程序連接時發(fā)現(xiàn)程序有錯誤,修改源程序調試運行時發(fā)現(xiàn)問題分析設計有錯誤,重新分析問題程序開發(fā)過程658.4 程序的調試與排錯寫好一個程序后,需要:通過加工(編譯和連接)產(chǎn)生可執(zhí)行程序運行它,提供數(shù)據(jù)進行試驗,確認它確實滿足要求試驗中常常會發(fā)現(xiàn)錯誤,需要設法排除測試(testing):在完成一個程序或一部分程序,通過編譯后試驗性運行,仔細檢查運行效果,設法確認該程序確實完成了所期望的工作。反過來說

34、:測試就是設法用一些特別選出的數(shù)據(jù)去挖掘出程序里的錯誤排錯(debugging):在發(fā)現(xiàn)程序有錯時,設法確認產(chǎn)生錯誤的根源,修改程序,排除這些錯誤的工作過程66測試的基本方法測試時考慮的基本問題是提供什么樣的數(shù)據(jù),才可能最大限度地把程序中的缺陷和錯誤挖出來。有兩類確定測試數(shù)據(jù)的基本方式:根據(jù)程序結構確定測試數(shù)據(jù)。這相當于把程序打開,根據(jù)其內(nèi)部結構考慮如何檢查它,設法發(fā)現(xiàn)其中的問題。這種方式稱為白箱測試根據(jù)程序所解決的問題去確定測試過程和數(shù)據(jù),不考慮程序內(nèi)部如何解決問題。這相當于把程序看作解決問題的“黑箱”,因此稱為黑箱測試67白箱測試考察程序內(nèi)部結構及由此產(chǎn)生的執(zhí)行流,選擇數(shù)據(jù)使程序在試驗運行中能通過“所有”可能出現(xiàn)的執(zhí)行流程 復合結構只有一條執(zhí)行流“if (條件) 語句1 else語句2” 有兩條可能執(zhí)行流:條件成立時執(zhí)行語句1;不成立時執(zhí)行語句2。應設法提供測試數(shù)據(jù),檢驗程序在這兩種情況下都能正確工作從本質上說“while (條件) 循環(huán)體”可能產(chǎn)生無窮多條執(zhí)行流:循環(huán)體不執(zhí)行,執(zhí)行1次,執(zhí)行2次,。無法窮盡檢查。常用方法是選擇測試數(shù)據(jù),檢查循環(huán)的一些典型情況,包括循環(huán)體執(zhí)行0次、1次、2次的情況,以及一些其他情況其他結構可類似分析。要考慮程序中結構嵌套產(chǎn)生的組合流程68黑箱測試考慮的不是程序

溫馨提示

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

評論

0/150

提交評論