c語(yǔ)言課件第4章順序程序設(shè)計(jì).ppt_第1頁(yè)
c語(yǔ)言課件第4章順序程序設(shè)計(jì).ppt_第2頁(yè)
c語(yǔ)言課件第4章順序程序設(shè)計(jì).ppt_第3頁(yè)
c語(yǔ)言課件第4章順序程序設(shè)計(jì).ppt_第4頁(yè)
c語(yǔ)言課件第4章順序程序設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四章 最簡(jiǎn)單的C程序設(shè)計(jì)The Simplest C Program Design,順序程序設(shè)計(jì) The Sequence Program Design,上機(jī)安排,0103班,4-13周周五,下午24點(diǎn) 0451班, 4-13周周一,下午46點(diǎn) 地點(diǎn):F座214, 217, 218, 220,4.1 C語(yǔ)句概述(Description of C sentence),一、C程序結(jié)構(gòu),二、C語(yǔ)句概述,C語(yǔ)句分類(lèi):(Assortment) 1.控制語(yǔ)句(Control sentences) 2.函數(shù)調(diào)用語(yǔ)句(function Call sentences) 3.表達(dá)式語(yǔ)句(Expression s

2、entences) 4.空語(yǔ)句(Empty sentences) 5.復(fù)合語(yǔ)句(Compound sentences),一條完整的C語(yǔ)句必須以“;”結(jié)束。 “;”是一個(gè)語(yǔ)句不可缺少的一部分。,控制語(yǔ)句(Control sentences) 功能:完成一定的控制功能,C 有9種控制語(yǔ)句: 條件語(yǔ)句(Condition sentence) if(表達(dá)式) if(表達(dá)式) 語(yǔ)句1 語(yǔ)句塊1else 語(yǔ)句2 else 語(yǔ)句塊2 循環(huán)語(yǔ)句(Loop sentence) for( ) for( ) 語(yǔ)句 語(yǔ)句塊,當(dāng)型循環(huán)語(yǔ)句(while Loop) while( 表達(dá)式) while( 表達(dá)式) 語(yǔ)句 語(yǔ)

3、句塊 直到型循環(huán)語(yǔ)句(until Loop ) do do 語(yǔ)句 while(表達(dá)式); 語(yǔ)句塊 while( 表達(dá)式); continue (結(jié)束本次循環(huán)語(yǔ)句) switch (多分支選擇語(yǔ)句) break(中止執(zhí)行switch或循環(huán)語(yǔ)句) goto (轉(zhuǎn)向語(yǔ)句) return (從函數(shù)返回?cái)?shù)值語(yǔ)句),2. 函數(shù)調(diào)用語(yǔ)句(Calling function ),由一次函數(shù)調(diào)用加一個(gè)“ ; ”構(gòu)成。,如:printf(“Hello World!”) ;,函數(shù)調(diào)用,分號(hào),3. 表達(dá)式語(yǔ)句(Expression sentences),由表達(dá)式加上“ ; ”構(gòu)成。,如:x+4*y; 算術(shù)表達(dá)式語(yǔ)句 4

4、*7,4+8; 逗號(hào)表達(dá)式語(yǔ)句 x=4*7; 賦值表達(dá)式語(yǔ)句(賦值語(yǔ)句),4. 空語(yǔ)句(Empty sentences),由一個(gè) “ ; ”構(gòu)成。 即: ;,作用:程序轉(zhuǎn)向點(diǎn); 什么也不做的循環(huán)體。 while(i=11) ;,5. 復(fù)合語(yǔ)句(Compound sentences),用 括起的一組語(yǔ)句 。,如:if (x1x2) y=x1*x1+x2 ; printf(y=%d,y) ; ,不能省略,不能加“;”,4.2 賦值語(yǔ)句(Assignment Sentences), C語(yǔ)言中的賦值號(hào)“=”是一個(gè)運(yùn)算符。 賦值表達(dá)式和賦值語(yǔ)句不同,賦值表達(dá)式可以被包含在其它表達(dá)式之中。,如: if (

5、a=b)0) t=a; 它等于: a=b; if (a0) t=a;,如果寫(xiě)成: if (a=b ; )0) t=a;,錯(cuò)了。在if的條件中不能包含賦值語(yǔ)句,4.3 數(shù)據(jù)輸入輸出的概念及在語(yǔ)言中的實(shí)現(xiàn)(Data Inputs and Outputs),一、數(shù)據(jù)輸入輸出的概念,計(jì)算機(jī)的輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言。,輸入:從外部通過(guò)輸入設(shè)備(如,鍵盤(pán)、磁盤(pán) 、光盤(pán)、掃描儀等)向計(jì)算機(jī)輸入數(shù)據(jù)。,輸出:從計(jì)算機(jī)向外部設(shè)備(如,顯示屏、打 印機(jī)、磁盤(pán)等)輸出數(shù)據(jù)。,二、數(shù)據(jù)輸入輸出在語(yǔ)言中的實(shí)現(xiàn),調(diào)用輸入輸出函數(shù)實(shí)現(xiàn)輸入輸出操作,語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入和輸出操作是通過(guò)調(diào)用語(yǔ)言庫(kù)函數(shù)中輸

6、入輸出函數(shù)來(lái)實(shí)現(xiàn)的。,如:putchar函數(shù)輸出字符(Character Input) getchar函數(shù)輸入字符(Character Output) printf函數(shù) 格式輸出(Data Input with format) scanf函數(shù) 格式輸入(Data Output with format) puts 函數(shù) 輸出字符串(Strings output) gets 函數(shù) 輸入字符串(Strings input),1) C語(yǔ)言庫(kù)函數(shù)(stdio.h,math.h等)已被編譯成目標(biāo)文件(二進(jìn)制形式) 2) 源程序必須先編譯成目標(biāo)文件。 源程序中的輸入輸出函數(shù)等庫(kù)函數(shù),在編譯時(shí)并不被翻譯成目標(biāo)

7、指令。 3) 生成好的目標(biāo)文件(.OBJ)必須與與系統(tǒng)的函數(shù)庫(kù)(以及其他的目標(biāo)文件)進(jìn)行連接,形成可執(zhí)行文件(EXE)。 4) 運(yùn)行EXE文件時(shí),調(diào)用已被連接的函數(shù)庫(kù)中的系統(tǒng)函數(shù)。,main() int a,b; a=10;b=20; printf(“a=%d,b=%d”,a,b); ,printf()的目標(biāo)代碼,系統(tǒng)函數(shù)庫(kù),.,2文件開(kāi)頭應(yīng)有“#include”命令,在調(diào)用標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)時(shí),文件開(kāi)頭應(yīng)有預(yù)編譯命令: #include 或 #include “stdio.h” 其中,stdio.h是“頭文件”,包含了與用到的標(biāo)準(zhǔn)輸入輸出函數(shù)有關(guān)的信息。 stdio.h 是standard

8、input a=B; b=O; c=Y; putchar(a);putchar(b);putchar(c); putchar(); ,輸出結(jié)果: BOY,一般格式: getchar() 沒(méi)有參數(shù) 功能從終端輸入一個(gè)字符。,二、getchar函數(shù)(字符輸入函數(shù)),4.5 格式輸入輸出函數(shù)(Input and Output Function with Format),4.5.1 printf 函數(shù)(格式輸出函數(shù)),功能:向終端輸出若干個(gè)任意類(lèi)型的數(shù)據(jù)。,(一) printf函數(shù)的一般格式,printf(格式控制,輸出表列),舉例: main( ) int a=3,b=4; printf(“a=%d

9、 b=%d sum=%dn ”, a, b,a+b ); 輸出結(jié)果: a=3 b=4 sum=7,格式說(shuō)明(格式字符),普通字符,輸出表列,轉(zhuǎn)義字符,printf(格式控制,輸出表列),說(shuō)明: “輸出表列”是需要輸出的一些數(shù)據(jù)(變量、表達(dá)式)。 “格式控制”是用雙引號(hào)括起來(lái)的字符 也稱(chēng) “轉(zhuǎn)換控制字符串”,它包括三種信息: 1.普通字符,即需要原樣輸出的字符。 2.格式說(shuō)明,由“%”和格式字符組成,如%d,%f等。 3.轉(zhuǎn)義字符,將后面的字符轉(zhuǎn)換成另外的意義(P48表)。,(二) 格式字符(formatted Character),對(duì)不同類(lèi)型的數(shù)據(jù)用不同的格式字符。,1. d格式符 用來(lái)輸出十

10、進(jìn)制整數(shù)。 (output the decimal integer),(1)%d :按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。,如:int a=123; printf(“%d”,a); 結(jié)果:123,(2)%md:m為指定的輸出字段的寬度。 若數(shù)據(jù)位數(shù)小于m,則左端補(bǔ)以空格; 若大于m,則按實(shí)際位數(shù)輸出。,(3)%mld:輸出長(zhǎng)整型數(shù)據(jù)。 m是對(duì)長(zhǎng)整型數(shù)據(jù)指定字段寬度。,f格式符以浮點(diǎn)數(shù)形式輸出實(shí)數(shù)。 (output the floating point real number),(1) %f :不指定字段寬度,由系統(tǒng)自動(dòng)指定, 使整數(shù)部分全部如數(shù)輸出,并輸出6位小數(shù)。 注意float型和double型數(shù)據(jù)的

11、有效位數(shù),,如:float x=123456.123; printf(“%f”,x); 輸出結(jié)果:123456.125000,main() double x,y; x=1111111111111.111111111; y=1111111111111.111111111; printf(“%f”,x+y); 2222222222222.222170,(2) %m.nf :指定輸出的數(shù)據(jù)共占m列,其中有n 位小數(shù)。若數(shù)據(jù)長(zhǎng)度小于m,則左端補(bǔ)空格。,(3)%m.nf : 與%m.nf 基本相同,只是使輸出 的數(shù)值向左端靠,右端補(bǔ)空格。,e格式以指數(shù)形式輸出實(shí)數(shù)。 (output the real n

12、umber in exponent),(1) %e,如: printf(“%e”,123.456); 輸出結(jié)果: 1.234560e+002,6位,3位,一般共占13列寬度,(2) %m.ne和 %m.ne: m、n和“”字符含義與 前相同。此處n指數(shù)據(jù)的數(shù)字部分(又稱(chēng)尾數(shù)) 的小數(shù)位數(shù)。,4. g格式符用來(lái)輸出實(shí)數(shù),它根據(jù)數(shù)值的大 小,自動(dòng)選f格式或e格式(選擇輸出時(shí)占寬度較 小的一種),且不輸出無(wú)意義的零。 (output the real number in float point or exponent),5. o格式符以8進(jìn)制數(shù)形式輸出整數(shù).,輸出的數(shù)值不帶符號(hào),即將符號(hào)也一起作為八

13、進(jìn)制數(shù)的一部分輸出。,如:int a=-1; printf(“%d,%o”,a,a); 結(jié)果:-1,177777,o格式符同d格式符一樣,可以輸出長(zhǎng) 整型數(shù)據(jù),也可以指定字段寬度。,6. x格式符以16進(jìn)制數(shù)形式輸出整數(shù)。,同樣不會(huì)出現(xiàn)負(fù)的十六進(jìn)制數(shù)。,7. u格式符以十進(jìn)制形式輸出unsigned型數(shù)據(jù),如: main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b); 輸出結(jié)果: a=-1,177777,ffff,65535 b=-2,17

14、7776,fffe,65534,8. C格式符用來(lái)輸出一個(gè)字符。,一個(gè)整數(shù),只要它的值在0255范圍內(nèi),也可以用字符形式輸出,在輸出前,將該整數(shù)轉(zhuǎn)換成相應(yīng)的ASCII字符;反之,一個(gè)字符數(shù)據(jù)也可以用整數(shù)形式輸出。,如:main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); 輸出結(jié)果: a,97 a,97,9. s格式符用來(lái)輸出一個(gè)字符串。,(1) %s :按原長(zhǎng)度輸出字符串。 如: printf(“%s”,“CHINA”) 輸出結(jié)果:CHINA,(2) %ms :輸出的字符串占m列,如字符串本 身長(zhǎng)度大于m,

15、則突破m的限制,將字符串 全部輸出,若串長(zhǎng)小于m,則左補(bǔ)空格。,(3) %ms :如果串長(zhǎng)小于m,則在m列范圍內(nèi) ,字符串向左靠,右補(bǔ)空格。,(4) %m.ns :輸出占m列,但只取字符串中左端 n個(gè)字符。輸出在列的右側(cè),左補(bǔ)空格。如 果nm,則自動(dòng)取n值,即保證n個(gè)字符正常輸 出。,(5) %m.ns , 其中m、n含義同上,n個(gè)字符輸出 在m列范圍的左側(cè),右補(bǔ)空格。,4.5.2 scanf 函數(shù)(格式輸入函數(shù)),(一)一般形式,scanf(格式控制,地址表列),10,15,main() int a,b,c; scanf(“%d,%d”, 輸入:10,15 輸出:a=10,b=15,a,b,

16、(二)格式說(shuō)明 與prntf函數(shù)中的格式說(shuō)明相似,以%開(kāi)始,以一個(gè)格式字符結(jié)束(表4-3),中間可以插入附加的字符(表4-4)。,如:int a,b,c; scanf(“%d%d%d”, 輸入形式: 10,11,12,scanf(“%3d%3d%c”, 輸入形式:123456abc 結(jié)果:a=123 b=456 ch=a,scanf(“%d%d%c”, 輸入形式:123 456abc 結(jié)果:a=123 b=456 ch=a,main() char c1,c2; scanf(“c1=%c,c2=%c”, 輸入數(shù)據(jù):c1=a,c2=b 輸出數(shù)據(jù):ab,有錯(cuò)嗎? main() int x,y,z;

17、char ch; scanf(“%7.2d%d%d%c”,x,y,z,ch); main() int x,y; scanf(“%5d,%3d”, 輸入數(shù)據(jù): 345,567,說(shuō)明:,1. %后的“*”附加說(shuō)明符,用來(lái)表示跳過(guò)它相應(yīng)的數(shù)據(jù)。,如:scanf(“%2d ,%*3d , %2d”, 輸入:12 , 456 , 67 結(jié)果:a=12 b=67,2. 輸入數(shù)據(jù)時(shí)不能規(guī)定精度。, scanf(“%7.2f”,3. 輸入的字符、數(shù)值要與格式一致 scanf(“a=%d, b=%d”, 輸入:a=12,b=13,4、scanf(“%c%c%c”, 輸入:a b c 空格和轉(zhuǎn)義字符都作為有效字符

18、輸入,main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”, 輸入數(shù)據(jù):a=10 b=20 30 40 a b 輸出數(shù)據(jù):10,20,30.00000,40.00000,a,b 輸入方式2:a=10 b=20 30 40 a b,main() int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”, 輸入數(shù)據(jù):a=10 b=20 x=10 y=10c1=a c2=b 輸出數(shù)據(jù):10,20,10.00000,20.00000,a,b,4.6 順序結(jié)構(gòu)程序設(shè)計(jì)舉例,(順序結(jié)構(gòu)) (選擇結(jié)構(gòu)) (循環(huán)結(jié)構(gòu)),特點(diǎn):程序按語(yǔ)句從上到下的排列順序依次執(zhí) 行,每條語(yǔ)句必須執(zhí)行且只能執(zhí)行一 次,沒(méi)有執(zhí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論