浙江大學(xué)C顏暉原版C3_第1頁
浙江大學(xué)C顏暉原版C3_第2頁
浙江大學(xué)C顏暉原版C3_第3頁
浙江大學(xué)C顏暉原版C3_第4頁
浙江大學(xué)C顏暉原版C3_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選課件 Chap3Chap3 算法與程序設(shè)計算法與程序設(shè)計q算法q語句概述qC 程序的基本結(jié)構(gòu)精選課件算算 法法q程序用編程語言編寫,完成特定功能的語句的集合。q編程步驟: 1. 明確問題 2. 問題 若干具體步驟(算法) 3. 算法 程序 4. 上機(jī)調(diào)試運行q算法解題方法或解題步驟的精確描述算法表示:文字描述、流程圖和N-S流程圖精選課件算法算法與程序與程序q程序算法數(shù)據(jù)結(jié)構(gòu) 結(jié)構(gòu)化程序設(shè)計方法 語言工具和環(huán)境精選課件例例3-13-1 從鍵盤中輸入100個整數(shù),對其中的正整數(shù)進(jìn)行累加,最后輸出結(jié)果。算法描述(自然語言) 輸入一個數(shù); 如果該數(shù) 0,累加它; 如果100個數(shù)沒有輸入完,轉(zhuǎn)步驟

2、(1); 輸入完100個數(shù)后,輸出累加和。精選課件例例3-1 3-1 算法描述算法描述 ( (流程圖流程圖) ) 開始 輸入一個數(shù) 該數(shù)0 累加輸入完100個數(shù) 輸出累加和 結(jié)束起止框起止框處理框處理框判斷框判斷框流向線YYNN精選課件例例3-1 3-1 算法描述算法描述(N-S(N-S流程圖流程圖) )輸入一個數(shù) 該數(shù)0滿足 不滿足加到累加和中 輸入完100個數(shù)否 輸出累加和處理判斷重復(fù)精選課件算法的算法的C語句實現(xiàn)語句實現(xiàn)void main( ) int x; /* 存放輸入數(shù)的單元 */ int count; /* 存放輸入個數(shù)的單元 */ int sum; /* 存放累加和的單元 */

3、 count = 0; sum = 0; /* 工作單元初值 */ do scanf (“%d” , &x); /* 輸入一個數(shù) */ count +; /* 每輸入一個數(shù),記一下數(shù) */ if (x0) /* 判斷輸入數(shù)0否 */ sum = sum + x; /* 是0,則加到累加和中 */ while ( count temp精選課件例例3 34 4 交換變量的值交換變量的值例 對兩個變量先輸入兩個值,然后交換這兩個變量的值。x temp y步驟: 1 x - temp 2 x temp 2 x y精選課件例例3 34 4 交換變量的值交換變量的值例 對兩個變量先輸入兩個值,然后

4、交換這兩個變量的值。x temp y步驟: 1 x - temp 2 x y精選課件例例3 34 4 交換變量的值交換變量的值對兩個變量先輸入兩個值,然后交換這兩個變量的值。main() int x, y, temp; scanf(“%d%d”, &x, &y); temp = x; x = y; y = temp; printf(“first=%d, second=%d”, x, y); 精選課件C 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)q順序結(jié)構(gòu)q選擇結(jié)構(gòu) 語句1 ; 語句2 ;條件?滿足不滿足條件滿足不滿足語句1 語句2精選課件選擇結(jié)構(gòu)選擇結(jié)構(gòu)例 輸入變量x,計算y值。 1 當(dāng) x

5、=0 y = -1 當(dāng) x0) y = 1; else y = -1; printf(“x=%d, y=%d”, x, y);x0滿足 不滿足 y = 1 y = -1精選課件C 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)q順序結(jié)構(gòu)q選擇結(jié)構(gòu)q循環(huán)結(jié)構(gòu) 不滿足 滿足 重復(fù)執(zhí)行的語句; 后一語句;條件?精選課件循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)void main( )int i, max, x;i=9;scanf(%d, &x)max = x; while ( i 0 ) scanf (“%d”, &x); if ( x max ) max = x; i -;printf(max number is %d ,m

6、ax);重復(fù)步驟精選課件C 程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)q結(jié)構(gòu)化程序設(shè)計基本要求:o自頂向下,模塊化設(shè)計;o使用三種基本結(jié)構(gòu)構(gòu)造程序;o程序書寫規(guī)范,切勿隨心所欲;o 清晰第一,效率第二。 思路清晰 書寫清晰(變量名、函數(shù)名、注解等) 書寫使用階梯形精選課件int merge(int a1 , int n1, int a2 , int n2) /* 把2個排好序的數(shù)組a1、a2歸并到a2上 */ int i,j=0,k=0, b10; if (n2=0) for ( ; j0) for (i=0; in2; i+) bi=a2i; i=0; while (in1&jbj) a2k=bj; j+; else a2k=a1i; if (a1i=bj) j+; i+; k+; if ( in1 ) for ( ; in1; i+,k+) a2k=a1i; if

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論