chap3 算法與基本程序設(shè)計(jì)_第1頁(yè)
chap3 算法與基本程序設(shè)計(jì)_第2頁(yè)
chap3 算法與基本程序設(shè)計(jì)_第3頁(yè)
chap3 算法與基本程序設(shè)計(jì)_第4頁(yè)
chap3 算法與基本程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)1第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)上節(jié)內(nèi)容回顧上節(jié)內(nèi)容回顧, ,引入本節(jié)內(nèi)容引入本節(jié)內(nèi)容數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出字符輸入與輸出函數(shù)字符輸入與輸出函數(shù)簡(jiǎn)單程序設(shè)計(jì)簡(jiǎn)單程序設(shè)計(jì)C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)2o 輸入浮點(diǎn)型值,使該數(shù)保留小數(shù)點(diǎn)后2位,要求小數(shù)點(diǎn)后第3位四舍五入處理,輸出數(shù)據(jù),驗(yàn)證處理是否正確。o 分析過程:選用合適數(shù)據(jù)類型及處理過程中選用的運(yùn)算符C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基

2、本程序設(shè)計(jì)3#include main( ) double x; int a; scanf(“%lf”,&x); x=x*100+0.5; a=x; x=a/100.0;/why? printf(“%f”,x);試一下運(yùn)行試一下運(yùn)行時(shí)結(jié)果時(shí)結(jié)果C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)4 C語言本身沒有I/O語句,所有I/O都由標(biāo)準(zhǔn)庫(kù)函數(shù)來實(shí)現(xiàn)。I/O函數(shù)聲明在 stdio.h 中。o 輸入類庫(kù)函數(shù):n 格式輸入函數(shù): scanfn 字符輸入函數(shù): getcharo 輸出類庫(kù)函數(shù):n 格式輸出函數(shù): printfn 字符輸出函數(shù): putcha

3、rC C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)5#include main() char a=A; putchar( a ); putchar( n ); putchar( A ); putchar( 65 );輸出:輸出:AAAn輸入類庫(kù)函數(shù)輸入類庫(kù)函數(shù):p字符輸入函數(shù)字符輸入函數(shù): getchar()n輸出類庫(kù)函數(shù):輸出類庫(kù)函數(shù):p字符輸出函數(shù)字符輸出函數(shù): putchar(參數(shù)參數(shù))字符常量字符常量整數(shù)整數(shù)字符變量字符變量C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)6輸入類庫(kù)函數(shù):o 字符輸入函數(shù):getch

4、ar()n1)getchar() 功功 能:能:從鍵盤讀入一個(gè)字符。從鍵盤讀入一個(gè)字符。格格 式:式: getchar( );返回值:返回值:讀入的字符。讀入的字符。特特 點(diǎn):點(diǎn):該函數(shù)的輸入一直到該函數(shù)的輸入一直到“回車回車”才結(jié)才結(jié)束束 從鍵盤讀入一個(gè)字符,并從鍵盤讀入一個(gè)字符,并回顯回顯C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)7例例: 將輸入的大寫字母轉(zhuǎn)變?yōu)樾懽帜篙敵?。將輸入的大寫字母轉(zhuǎn)變?yōu)樾懽帜篙敵觥?include main( ) char ch; ch=getchar(); ch-=32; putchar(ch);運(yùn)行時(shí)運(yùn)行時(shí): a

5、結(jié)果結(jié)果: AC C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)8#include main()char c1,c2;c1=getchar();c2=getchar();putchar(c1); putchar(n);putchar(c2);輸入輸入: ab 輸出輸出: a bC C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)9o 輸入類庫(kù)函數(shù):n 格式輸入函數(shù): scanf (“格式控制字符串”,輸入項(xiàng)地址表);o 輸出類庫(kù)函數(shù):n 格式輸出函數(shù): printf (“格式控制字符串”,輸出項(xiàng)表);變量的地址變量的地址或或字符

6、串的首地址字符串的首地址被輸出的數(shù)據(jù),可以是常量、變量、表達(dá)式被輸出的數(shù)據(jù),可以是常量、變量、表達(dá)式C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)10可以按指定格式向終端輸出任意類型的數(shù)據(jù)。n 格式:printf( 格式字符串, 輸出參數(shù)列表 ); p 格式字符串格式字符串: 指定輸出數(shù)據(jù)的指定輸出數(shù)據(jù)的類型、格式、個(gè)數(shù)類型、格式、個(gè)數(shù)p 格式控制字符和各輸出項(xiàng)的格式控制字符和各輸出項(xiàng)的 類型、順序、數(shù)量要一致類型、順序、數(shù)量要一致C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)11可以按指定格式向終端輸出任意類型的數(shù)據(jù)

7、。n 格式:printf( 格式字符串, 輸出參數(shù)列表 ); 輸出格式包括輸出格式包括: 普通字符常量普通字符常量和和格式說明符格式說明符照原樣輸出照原樣輸出 格式說明符:格式說明符:指定輸出指定輸出3個(gè)十進(jìn)制整型數(shù),個(gè)十進(jìn)制整型數(shù),分別為變量分別為變量 a、b、ab的值的值C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)12main() int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);輸出結(jié)果輸出結(jié)果: 3 4a=3, b=4C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基

8、本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)13%d%d十進(jìn)制格式十進(jìn)制格式%o%o八進(jìn)制格式八進(jìn)制格式%x%x、%X%X十六進(jìn)制格式十六進(jìn)制格式%u%u無符號(hào)的十進(jìn)制格式無符號(hào)的十進(jìn)制格式%c%c一個(gè)字符格式一個(gè)字符格式%s%s字符串格式字符串格式%f%f實(shí)數(shù)格式實(shí)數(shù)格式%e%e、%E%E指數(shù)格式指數(shù)格式%g%g1 12 23 34 45 56 67 78 89 9%百分號(hào)本身百分號(hào)本身1010e e和和f f中較短一種格式中較短一種格式格式字符格式字符C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)14.n對(duì)實(shí)數(shù)對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)指定小數(shù)點(diǎn)后位數(shù)(四舍五入四舍五入

9、)對(duì)字符串對(duì)字符串,指定實(shí)際輸出位數(shù)指定實(shí)際輸出位數(shù)m輸出數(shù)據(jù)域?qū)捿敵鰯?shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度0右對(duì)齊,m0右對(duì)齊,m0右對(duì)齊,m0右對(duì)齊,m0右對(duì)齊,m0右對(duì)齊,m0右對(duì)齊,m0左對(duì)齊。main() float x=123.45678; printf(“%e,%E,%-10.3e,%10.3E”, x, x, x, x); 1.23457e+02,1.23457E+02,1.23E+02, 1.23E+02 1.234568e+002,1.234568E+002,1.235E+002,1.235E+002 C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)

10、24字符格式字符格式“”#include main() printf(I say:How are you?n); printf(The directory is E:Turbocn );輸出:輸出:I say:”How are you?”The directory is E:TurbocC C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)25 可以按指定格式從鍵盤讀入任意類型的數(shù)據(jù)。n 格式:scanf( 格式字符串, 地址參數(shù)列表 );變量的地址列表,可通過取地址運(yùn)算符變量的地址列表,可通過取地址運(yùn)算符 &獲取變量地址獲取變量地址string (字符串

11、字符串)%s16進(jìn)制整數(shù)進(jìn)制整數(shù)%x, %lxchar%c8進(jìn)制整數(shù)進(jìn)制整數(shù)%o, %lodouble(指數(shù)指數(shù))%leunsigned long%ludouble%lfunsigned int%ufloatfloat適用類型適用類型%e%f格式格式long intint適用類型適用類型%ld%d格式格式C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)26輸入數(shù)據(jù)的格式要與scanf的控制格式必須一致o 例1:scanf(“%d,%d”, &a,&b);n 正確的輸入為:4,5 或 4 , 5n 不正確的輸為:4 5或 4_5等o 例2: s

12、canf(“a=%d,b=%d”, &a,&b);n 正確的輸入:a=4, b=5 n 不正確的輸入:4_5 和 4,5o 例3: scanf(“%d:%d”, &a,&b);n 正確的輸入為:4:5n 不正確的輸為:4_5 或 4,5或 4 5C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)27 盡管printf能夠使用的控制格式scanf均可以使用,但一般scanf的格式要盡可能的簡(jiǎn)單,一般只需要給出數(shù)據(jù)控制符,而不要添加任何其它的輔助格式。o 例如:scanf(“%d%d”, &a,&b);n 正確的輸入

13、為:4 5 或 4 5或3Tab鍵4 n 此時(shí),空格、回車和tab鍵均可作為分割符C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)284、在用、在用“%c”格式輸入字符時(shí),格式輸入字符時(shí),空格字符和空格字符和 轉(zhuǎn)義字符轉(zhuǎn)義字符都作為有效的字符輸入。都作為有效的字符輸入。例:例:scanf(”%c%c%c”, &c1, &c2, &c3);若輸入時(shí)為:若輸入時(shí)為:a b c 則結(jié)果為:則結(jié)果為: c1=a,c2= ,c3=b2、輸入數(shù)據(jù)時(shí)不能規(guī)定精度;、輸入數(shù)據(jù)時(shí)不能規(guī)定精度;3、參數(shù)中、參數(shù)中“格式控制格式控制”之后應(yīng)該是變量地址;之

14、后應(yīng)該是變量地址;例:例:float a; scanf(”%7.2f”,&a);例例: float a; scanf(”%f”,a);C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)29p 如果數(shù)據(jù)本身可以將數(shù)據(jù)分割時(shí),輸入數(shù)據(jù)不需要使用分隔符;p 要求在程序運(yùn)行中輸入數(shù)據(jù),輸入的數(shù)據(jù)個(gè)數(shù)和類型必須與格式說明符一一對(duì)應(yīng)。p 地址參數(shù)形式:&變量名(除數(shù)組或指針變量)p 格式控制中有普通字符時(shí),必須照原樣輸入p 格式控制中無普通字符時(shí),輸入的數(shù)值型數(shù)據(jù)和字符串用空白符分隔,字符型數(shù)據(jù)不必分隔。C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法

15、與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)30p double型數(shù)據(jù)輸入時(shí),必須用%lf或%le格式p 實(shí)型數(shù)據(jù)輸入時(shí),域?qū)挷荒苡胢.n形式的附加說明 p 為了減少不必要的輸入量,格式控制中盡量不要出現(xiàn)普通字符,也不要使用n 、t 等轉(zhuǎn)義字符C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)31一、自頂向下設(shè)計(jì)方法學(xué)介紹一、自頂向下設(shè)計(jì)方法學(xué)介紹敘述要解決的問題敘述要解決的問題定義輸入和輸出定義輸入和輸出設(shè)計(jì)算法設(shè)計(jì)算法將算法轉(zhuǎn)換將算法轉(zhuǎn)換C語句語句測(cè)試程序測(cè)試程序問題分解問題分解逐步細(xì)化逐步細(xì)化開始開始結(jié)束結(jié)束C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本

16、程序設(shè)計(jì)算法與基本程序設(shè)計(jì)32特征:n有窮性n確定性評(píng)價(jià)標(biāo)準(zhǔn):n正確性n可讀性n健壯性(Robust,魯棒性)n高效率與低存儲(chǔ)要求算法:算法:對(duì)特定問題求解步驟的一種描述,它是指對(duì)特定問題求解步驟的一種描述,它是指 令的有限序列令的有限序列,其中每一條指令表示一個(gè)其中每一條指令表示一個(gè) 或多個(gè)操作?;蚨鄠€(gè)操作。 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法算法=程序程序可執(zhí)行性可執(zhí)行性有輸入、輸出有輸入、輸出C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)33描述方法:描述方法:可用自然語言、數(shù)學(xué)方法、某種計(jì)算可用自然語言、數(shù)學(xué)方法、某種計(jì)算機(jī)語言描述機(jī)語言描述規(guī)范的方法:規(guī)范的

17、方法:流程圖、流程圖、N-S結(jié)構(gòu)流程圖結(jié)構(gòu)流程圖、偽代碼、偽代碼、PAD圖。圖。流程圖的基本構(gòu)成:流程圖的基本構(gòu)成:起至框起至框輸入輸入輸出輸出判斷框判斷框處理框處理框或或流程線流程線連接點(diǎn)連接點(diǎn)注釋框注釋框C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)34aA Bb順序結(jié)構(gòu)順序結(jié)構(gòu)先執(zhí)行先執(zhí)行A, 再執(zhí)行再執(zhí)行B.若若P為真為真,則執(zhí)行則執(zhí)行A, 否則執(zhí)行否則執(zhí)行B.若若P為真為真,則執(zhí)行則執(zhí)行A, 否則否則跳過跳過A.aAYNBpa bAPNY b選擇結(jié)構(gòu)選擇結(jié)構(gòu)C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)35A

18、p NY當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)a bAp YNba直到型循環(huán)直到型循環(huán)先執(zhí)行先執(zhí)行A, ,再判斷再判斷, ,若若P P為為真真, ,反復(fù)執(zhí)行反復(fù)執(zhí)行A, ,P P為假時(shí)出為假時(shí)出循環(huán)循環(huán)。當(dāng)當(dāng)P P為真為真, ,反復(fù)執(zhí)行反復(fù)執(zhí)行A, ,P P為假時(shí)為假時(shí)出出循環(huán)。循環(huán)。C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)36任何程序均可以由任何程序均可以由“順序順序”、“選擇選擇”和和“循環(huán)循環(huán)”這三種基本結(jié)構(gòu)通過有限次的這三種基本結(jié)構(gòu)通過有限次的組合與嵌套組合與嵌套來描述。來描述。任何程序設(shè)計(jì)語言任何程序設(shè)計(jì)語言均由這三種基本結(jié)構(gòu)均由這三種基本結(jié)構(gòu)組成,其差別在于具體語法的形式不同,組成,其差別在于具體語法的形式不同,而原理是相同的。而原理是相同的。C C語言程序設(shè)計(jì)語言程序設(shè)計(jì) 第第3 3章章 算法與基本程序設(shè)計(jì)算法與基本程序設(shè)計(jì)37n共同特點(diǎn):共同特點(diǎn):?jiǎn)稳肟?、單出口單入口、單出口n三種結(jié)構(gòu)之間可以是三種結(jié)構(gòu)之間可以是順序關(guān)系、平行關(guān)系順序關(guān)系、平行關(guān)系,也可以也可

溫馨提示

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

評(píng)論

0/150

提交評(píng)論