04 第四章 順序程序設(shè)計(jì)_第1頁(yè)
04 第四章 順序程序設(shè)計(jì)_第2頁(yè)
04 第四章 順序程序設(shè)計(jì)_第3頁(yè)
04 第四章 順序程序設(shè)計(jì)_第4頁(yè)
04 第四章 順序程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四課: 順序程序設(shè)計(jì),本章主要介紹的內(nèi)容:,1. C 程序語(yǔ)句的分類(lèi),2. C 程序結(jié)構(gòu)的分類(lèi),3. 賦值語(yǔ)句,4. 數(shù)據(jù)輸入與輸出,本章重點(diǎn),C程序結(jié)構(gòu):,C程序,源程序文件1,源程序文件i,預(yù)編譯命令,函數(shù)1,函數(shù)n,說(shuō)明部分,執(zhí)行部分(語(yǔ)句),2. 函數(shù)調(diào)用語(yǔ)句:,如: Max(2,4);,C 程序語(yǔ)句,1. 表達(dá)式語(yǔ)句,如: i+; x+y; 賦值語(yǔ)句: i=i+1;,3. 空語(yǔ)句: 任何事情都不做。,C程序語(yǔ)句可分為五大類(lèi):,如: ;,4. 控制語(yǔ)句改變語(yǔ)句的執(zhí)行順序,if ( ) else (條件),for ( ) (循環(huán)),while ( ) (循環(huán)),do while (循環(huán)

2、),switch (多分支選擇),( )表示條件, 表示語(yǔ)句,break (中止整個(gè)循環(huán)),return ( 函數(shù)返回),限定轉(zhuǎn)向(無(wú)條件轉(zhuǎn)向)語(yǔ)句,終止程序運(yùn)行語(yǔ)句,無(wú)條件轉(zhuǎn)移語(yǔ)句,goto,exit,5. 復(fù)合語(yǔ)句(語(yǔ)句體),用 括起來(lái)的一系列語(yǔ)句。 如: z=x+y; t=z/100; printf(“%d”, t); ,結(jié)構(gòu)化程序設(shè)計(jì)概念,從結(jié)構(gòu)化程序設(shè)計(jì)角度出發(fā),程序只有三種結(jié)構(gòu):,順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),1. 順序結(jié)構(gòu),表示,先執(zhí)行A, 再執(zhí)行B.,例: main() /*主函數(shù)*/ int a,b,c; /*定義變量*/ scanf(%d,%d, /*輸出c的值*/ ,2.

3、 選擇結(jié)構(gòu),表示為,存在某條件P, 若P為真,則執(zhí)行A, 否則執(zhí)行B。,例: if(xy) printf(“Max=%d” ,x); else printf(“Max=%d” ,y);,另一種選擇結(jié)構(gòu)多分支結(jié)構(gòu).,switch (grade) case A:printf(85-100n“); break; case B: printf( 70-84n“); break; case C: printf( 60-69n“); break; case D: printf( 60n“); break; default: printf( Errorn“); ,3. 循環(huán)結(jié)構(gòu),表示為,(1) 當(dāng)型結(jié)構(gòu) 當(dāng)

4、P條件成立時(shí)(T),反復(fù)執(zhí)行A,直到P為“ 假”時(shí)才停止循環(huán).,有兩種結(jié)構(gòu):當(dāng)型和直到型,例: while (i=100) sum=sum+i; i+; ,(2) 直到型,先執(zhí)行A, 再判斷P,若為F,再執(zhí)行A,如此反復(fù),直到P為F.,已證明: 上述三種結(jié)構(gòu)組成的程序可以解決全部的問(wèn)題,所以任何一種高級(jí)語(yǔ)言都具備上述三種結(jié)構(gòu)。,例: do sum=sum+i; i+; while (i=100);,賦值運(yùn)算符和賦值表達(dá)式,賦值運(yùn)算符:賦值符號(hào)“=”就是賦值運(yùn)算符。 賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式。一般形式: 變量賦值符表達(dá)式 賦值的含義:將賦值運(yùn)算符右邊表達(dá)式的值存放到左邊

5、變量名標(biāo)識(shí)的存儲(chǔ)單元中。,例如:x=10+y; 賦值表達(dá)式的求解過(guò)程是: (1)先計(jì)算賦值運(yùn)算符右側(cè)的“表達(dá)式”的值 l(2)將賦值運(yùn)算符右側(cè)“表達(dá)式”的值賦值給左側(cè)的變量。 (3)整個(gè)賦值表達(dá)式的值就是被賦值變量的值。,隨機(jī)數(shù),將 表達(dá)式的值 存放到 變量名標(biāo)識(shí)的存儲(chǔ)單元中:,輸入/輸出及其C語(yǔ)言的實(shí)現(xiàn),計(jì)算機(jī)由主機(jī)(CPU、內(nèi)存),外圍設(shè)備(輸入/輸出設(shè)備),接口組成。,C語(yǔ)言本身不提供輸入/輸出語(yǔ)句,輸入/輸出操作由函數(shù)實(shí)現(xiàn)。 C函數(shù)庫(kù)中有一批“標(biāo)準(zhǔn)輸入/輸出函數(shù)”,它是以標(biāo)準(zhǔn)的輸入/輸出設(shè)備為 輸入/輸出對(duì)象的。其中有:putchar(輸出字符),getchar(輸入字符), prin

6、tf(格式化輸出),scanf(格式化輸入),puts(輸出字符串),gets( 輸入字符串)。,格式輸入/輸出,printf的一般形式,printf(格式控制序列,輸出表列);,輸出表列 用“ ,”號(hào)隔開(kāi)的變量或表達(dá)式序列,其變量的值按對(duì)應(yīng)的格式控制符所指定的格式輸出。,printf(格式控制,輸出項(xiàng)表);,普通字符(原樣輸出),格式說(shuō)明,% +/- 0 m.n l 格式字符,右對(duì)齊,左對(duì)齊,最小寬度,左補(bǔ)0,小數(shù)位數(shù),長(zhǎng)整型,d符十整 o無(wú)八整 x無(wú)16整 c字符 s字串 f小六 e指六,格式控制序列用雙引號(hào)“ .”括起來(lái)的格式符序列。,格式控制序列由格式說(shuō)明符和普通字符組成。,2. 普通

7、字符 原樣輸出,即需要原樣輸出的字符。例子中的逗號(hào)和換行符。,1. 格式說(shuō)明符: 由%加格式字符組成 如: %f, %d等 它的作用是將輸出的數(shù)據(jù)項(xiàng)轉(zhuǎn)換為指定的格式輸出。輸出表列中的每個(gè)數(shù)據(jù)項(xiàng)對(duì)應(yīng)一個(gè)格式說(shuō)明項(xiàng)。,是需要輸出的一些數(shù)據(jù)項(xiàng),可以是表達(dá)式,輸出列表:,例如: 假如a=3,b=4,那么printf(“a=%d b=%d”,a,b);輸出a=3 b=4。其中兩個(gè)“%d”是格式說(shuō)明,表示輸出兩個(gè)整數(shù),分別對(duì)應(yīng)變量a,b,“a=”,“b=”是普通字符,原樣輸出。,printf函數(shù)的一般形式可以表示為: printf(參數(shù)1、參數(shù)2、參數(shù)3、參數(shù)n) printf函數(shù)的功能是將參數(shù)2-參數(shù)n

8、按照參數(shù)1給定的格式輸出。,格式字符 :,對(duì)于不同類(lèi)型的數(shù)據(jù)項(xiàng)應(yīng)當(dāng)使用不同的格式字符構(gòu)成的格式說(shuō)明項(xiàng)。常用的有以下幾種格式字符:,(1)d格式符。用來(lái)輸出十進(jìn)制整數(shù)。有以下幾種用法: l %d,按照數(shù)據(jù)的實(shí)際長(zhǎng)度輸出 l %md,m指定輸出字段的寬度(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格(右對(duì)齊),若大于m,則按照實(shí)際位數(shù)輸出。 l %-md,m指定輸出字段的寬度(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則右端補(bǔ)以空格(左對(duì)齊),若大于m,則按照實(shí)際位數(shù)輸出。 %ld,輸出長(zhǎng)整型數(shù)據(jù),也可以指定寬度%mld。,(2)x格式符。以十六進(jìn)制形式輸出整數(shù)。與o格式一樣,不出現(xiàn)負(fù)號(hào)。 (3)u格式符。用

9、來(lái)輸出unsigned無(wú)符號(hào)型數(shù)據(jù),即無(wú)符號(hào)數(shù),以十進(jìn)制形式輸出。 一個(gè)有符號(hào)整數(shù)可以用%u形式輸出,反之,一個(gè)unsigned型數(shù)據(jù)也可以用%d格式輸出,(4)O格式符。以八進(jìn)制形式輸出整數(shù)。注意是將內(nèi)存單元中的各位的值按八進(jìn)制形式輸出,輸出的數(shù)據(jù)不帶符號(hào),即將符號(hào)位也一起作為八進(jìn)制的一部分輸出。 例: int a=-1; printf(“%d,%o,%x”,a,a,a); -1的原碼:1000,0000,0000,0001。 -1在內(nèi)存中的補(bǔ)碼表示為: 1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff 輸出:-1,1777

10、77,ffff -1是十進(jìn)制,177777是八進(jìn)制,ffff是十六進(jìn)制,(5)c格式符。用來(lái)輸出一個(gè)字符。一個(gè)整數(shù)只要它的值在0-255范圍內(nèi),也可以用字符形式輸出。反之,一個(gè)字符數(shù)據(jù)也可以用整數(shù)形式輸出。 main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); 運(yùn)行結(jié)果: a,97 a,97,(6)s格式符。用來(lái)輸出一個(gè)字符串。有幾種用法: l %s,輸出字符串 l %ms,輸出的字符串占m列,如果字符串長(zhǎng)度大于m,則字符串全部輸出;若字符串長(zhǎng)度小于m,則左補(bǔ)空格(右對(duì)齊)。 l %-ms,輸出的字符串占m

11、列,如果字符串長(zhǎng)度大于m,則字符串全部輸出;若字符串長(zhǎng)度小于m,則右補(bǔ)空格(左對(duì)齊)。 l %m.ns,輸出占m列,但只取字符串左端n個(gè)字符,左補(bǔ)空白(右對(duì)齊)。 %-m.ns,輸出占m列,但只取字符串左端n個(gè)字符,右補(bǔ)空白(左對(duì)齊)。,(7)f格式符。用來(lái)輸出實(shí)數(shù)(包括單、雙精度,單雙精度格式符相同),以小數(shù)形式輸出。有以下幾種用法 %f,不指定寬度,使整數(shù)部分全部輸出,并輸出6位小數(shù)。注意,并非全部數(shù)字都是有效數(shù)字,單精度實(shí)數(shù)的有效位數(shù)一般為7位(雙精度16位)。 %m.nf,指定數(shù)據(jù)占m列,其中有n位小數(shù)。如果數(shù)值長(zhǎng)度小于m,左端補(bǔ)空格(右對(duì)齊)。 %-m.nf,指定數(shù)據(jù)占m列,其中有n

12、位小數(shù)。如果數(shù)值長(zhǎng)度小于m,右端補(bǔ)空格(左對(duì)齊)。,(8)e格式符,以指數(shù)形式輸出實(shí)數(shù)??捎靡韵滦问剑?l %e,不指定輸出數(shù)據(jù)所占的寬度和小數(shù)位數(shù),由系統(tǒng)自動(dòng)指定,如6位小數(shù),指數(shù)占5位-e占1位,指數(shù)符號(hào)占1位,指數(shù)占3位。數(shù)值按照規(guī)格化指數(shù)形式輸出(小數(shù)點(diǎn)前必須有而且只有1位非0數(shù)字)。 例如:1.234567e+002。(雙精度) %m.ne和%-m.ne,m總的寬度,n小數(shù)位數(shù)。,scanf函數(shù),1、scanf函數(shù)的一般格式: scanf(格式控制字符串,地址列表) 其中: (1)格式控制字符串的含義與printf類(lèi)似,它指定輸入數(shù)據(jù)項(xiàng)的類(lèi)型和格式。 (2)地址列表是由若干個(gè)地址組成

13、的列表,可以是變量的地址( scanf(“%d%d%d”, , putchar(n); putchar(101); putchar();,getchar函數(shù)(字符輸入函數(shù)) 一般形式:c=getchar(); 功能:從終端(鍵盤(pán))輸入一個(gè)字符,以回車(chē)鍵確認(rèn)。函數(shù)的返回值就是輸入的字符。,puts函數(shù)(字符串、字符數(shù)組中字符串輸出函數(shù)) 一般形式:puts(char *str); 功能:將字符串或字符數(shù)組中存放的字符串輸出到顯示器上。 例如:putstr(“ChinanBeijingn”);,gets函數(shù)(字符串輸入函數(shù)) 一般形式:gets(char *str); 功能:接收從鍵盤(pán)輸入的一個(gè)字符串,存放在字符數(shù)組中。 例如: char s81; gets(s);,順序結(jié)構(gòu)程序設(shè)計(jì)舉例,例: 輸入三角形的三邊長(zhǎng),求三角形面積。 為簡(jiǎn)單起見(jiàn),設(shè)輸入的三邊長(zhǎng)a,b,c能構(gòu)成三角形。從數(shù)學(xué)知識(shí)已知求三角形面積的公式為:,#include main() float a,b,c,s,area; scanf(%f%f%f, ,【例】已知圓半徑,圓柱高,求圓周長(zhǎng),圓柱體積。,main() float r,h,l,v,pi; pi=3.1415926; scanf(“%f,%f”, ,逗號(hào)運(yùn)算符,逗號(hào)表達(dá)式:用逗號(hào)運(yùn)算符把兩個(gè)或多個(gè)算術(shù)表達(dá)式連接起來(lái)構(gòu)成逗號(hào)表達(dá)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論