第3章順序結(jié)構(gòu)修改_第1頁(yè)
第3章順序結(jié)構(gòu)修改_第2頁(yè)
第3章順序結(jié)構(gòu)修改_第3頁(yè)
第3章順序結(jié)構(gòu)修改_第4頁(yè)
第3章順序結(jié)構(gòu)修改_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

第3章順序結(jié)構(gòu)程序設(shè)計(jì)3.1C語(yǔ)句概述3.2程序的三種基本結(jié)構(gòu)3.3數(shù)據(jù)的輸入輸出3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例教學(xué)目的和基本要求:了解順序結(jié)構(gòu)程序的設(shè)計(jì)思想和方法掌握常用的幾種順序結(jié)構(gòu)語(yǔ)句教學(xué)重點(diǎn):復(fù)合語(yǔ)句printf()函數(shù)、scanf()函數(shù)簡(jiǎn)單的順序結(jié)構(gòu)程序的編寫(xiě)3.1C語(yǔ)句概述C語(yǔ)句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令.C語(yǔ)句分類(lèi)

表達(dá)式語(yǔ)句:表達(dá)式加分號(hào)構(gòu)成??照Z(yǔ)句:

;程序控制語(yǔ)句(9種):函數(shù)調(diào)用語(yǔ)句:由函數(shù)名、參數(shù)表加上分號(hào)“;”組成。if()~else~switchfor()~while()~do~while()continuebreakgotoreturn分支循環(huán)輔助控制如

total=total+limit;;a=3;func();printf(“Hello,world!\n”);復(fù)合語(yǔ)句:用{…}括起來(lái)的一組語(yǔ)句

一般形式:

{[數(shù)據(jù)說(shuō)明部分;]

執(zhí)行語(yǔ)句部分;

}

★說(shuō)明:“}”后不加分號(hào)語(yǔ)法上和單一語(yǔ)句相同復(fù)合語(yǔ)句可嵌套{intt;t=a;a=b;b=t;}3.2程序的三種基本結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序

叫結(jié)構(gòu)化程序優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu)AB流程圖順序結(jié)構(gòu)分支結(jié)構(gòu)二分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)PAB真假二分支結(jié)構(gòu)A1A2AiAnk=k2k=k1k=knk=ki......循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)PA真假當(dāng)型循環(huán)PA真假直到型循環(huán)3.3數(shù)據(jù)的輸入輸出C語(yǔ)言無(wú)I/O語(yǔ)句,I/O操作由函數(shù)實(shí)現(xiàn)#include<stdio.h>格式化輸出

—printf()函數(shù)格式化輸入

—scanf()函數(shù)單個(gè)字符輸出

—putchar()函數(shù)單個(gè)字符輸入

—getchar()函數(shù)格式輸出函數(shù)printf()格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)輸出表:要輸出的數(shù)據(jù)(可以沒(méi)有,多個(gè)時(shí)以“,”分隔)格式控制串:包含兩種信息格式說(shuō)明:%[修飾符]格式字符

,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符d,ix,Xoucse,Efg%%格式字符:十六進(jìn)制無(wú)符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無(wú)符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%例

main(){unsignedintu=65535;printf(”u=%d\n",u);}

輸出結(jié)果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);輸出結(jié)果:34a=3,b=4111111111111111165535說(shuō)明 格式字符要用小寫(xiě)格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類(lèi)型不一致,自動(dòng)按指定格式輸出.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l附加格式說(shuō)明符(修飾符)例

inta=1234;floatf=123.456;charch=‘a(chǎn)’;printf(“%8d,%2d\n”,a,a);printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);printf(“%3c\n”,ch);運(yùn)行

1234,1234結(jié)果:

123.456000,123.456000,123.5,123.46,1.23e+02

a例

staticchara[]=“Hello,world!”printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);運(yùn)行結(jié)果:Hello,world!

Hello,world!

HelloHelloHel

inta=1234;floatf=123.456;staticcharc[]=“Hello,world!”;printf(“%8d,%-8d\n”,a,a);printf(“%10.2f,%-10.1f\n”,f,f);printf(“%10.5s,%-10.3s\n”,c,c);運(yùn)行結(jié)果:1234,1234

123.46,123.5

Hello,Hel例-例0、+例

inta=1234;floatf=123.456;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%0+8d\n”,a);printf(“0+10.2f\n”,f);//00001234//0000123.46//000+1234//000+123.56例

#例

inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);

//173,0173,7B,0X7B例

l例

longa=65536;printf(“%d,%8ld\n”,a,a);

//0,65536

printf()函數(shù)使用說(shuō)明printf()可以輸出常量、變量和表達(dá)式的值。格式字符x、e、g可以用小寫(xiě)字母,也可以用大寫(xiě)字母,其它格式字符必須用小寫(xiě)字母。格式字符串中緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。格式化輸入函數(shù)scanf()格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤(pán)讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車(chē)鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例

scanf(“%d”,&a);

輸入:10

a=10例

scanf(“%x”,&a);

輸入:11

a=17附加格式說(shuō)明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd例

scanf(“%3c%2c”,&c1,&c2);

輸入

abcde

則‘a(chǎn)’c1,‘d’c2例

scanf(“%3d%*4d%f”,&k,&f);

輸入

12345678765.43

則123k,8765.43f例

scanf(“%2d%*3d%2d”,&a,&b);

輸入

1234567

則12a,67b輸入分隔符的指定一般以空格、TAB或回車(chē)鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例

scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);

輸入

123123123

輸出

a=123,b=83,c=291例

scanf(“%d:%d:%d”,&h,&m,&s);

輸入

12:30:45

則12h,30m,45s例

scanf(“%d,%d”,&a,&b)

輸入

3,4

則3a,4b例

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

輸入

a=12,b=24,c=36說(shuō)明:用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車(chē)遇寬度結(jié)束遇非法輸入輸入函數(shù)留下的“垃圾”:解決方法:(1)用getchar()清除(2)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容(3)用格式串中空格或“%*c”來(lái)“吃掉”如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,

c2,bc3如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26

則1234a,‘a(chǎn)’b,123c例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);

scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);

單個(gè)字符輸出—putchar()函數(shù)格式:

putchar(c)參數(shù):

c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運(yùn)行結(jié)果:AB單個(gè)字符輸入—getchar()函數(shù)格式:

getchar()功能:從鍵盤(pán)讀一字符返值:正常,返回讀取的代碼值;出錯(cuò),返回EOF(-1)#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enteracharacter:AA--->hex41例如:#include<stdio.h> /*文件包含*/voidmain(){charch;printf("Pleaseinputtwocharacter:");ch=getchar(); /*輸入1個(gè)字符并賦給ch*/putchar(ch);putchar('\n');putchar(getchar()); /*輸入一個(gè)字符并輸出*/putchar('\n');} 3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例例3.1輸入兩個(gè)整數(shù)a和b,交換它們的值,并輸出交換前后的數(shù)。分析問(wèn)題(略)#include<stdio.h>voidmain(){inta,b,t;printf("Pleaseinputtwointegernumbers:");scanf("%d,%d",&a,&b);printf("beforechanged:a=%db=%d\n",a,b);t=a;a=b;b=t;printf("afterchanged:a=%db=%d\n",a,b);}文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)程序運(yùn)行情況如下:Pleaseintputtwointegernumbers:7,9↙beforechanged:a=7b=9afterchanged:a=9b=7例3.2從鍵盤(pán)上輸入任意3個(gè)整數(shù),求出它們的和及平均值。#include<stdio.h>voidmain(){intiNum1,iNum2,iNum3,iSum;floatrAverage;printf("Pleaseinputthreeintegernumbers:");scanf("%d%d%d",&iNum1,&iNum2,&iNum3);iSum=iNum1+iNum2+iNum3;rAverage=iSum/3.0;printf("iSum=%8d\n",iSum);printf("rAverage=%7.2f\n",rAverage);}

程序運(yùn)行情況如下:Pleaseinputthreeintegernumbers:13□14□15↙iSum=□□□□□□42rAverage=□□14.00例3.3從鍵盤(pán)輸入2個(gè)小寫(xiě)字母,用大寫(xiě)形式輸出這兩個(gè)字母及對(duì)應(yīng)的ASCII碼值。#include<stdio.h>voidmain(){charc1,c2;

}

printf(“Pleaseinputtwolowercaseletters:”);scanf(“%c,%c”,&c1,&c2);c1=c1-32;c2=c2-32;printf("%c%5d\n",c1,c1);printf("%c%5d\n",c2,c2);

printf(“Pleaseinputaletter:”);ch=getchar();

ch

溫馨提示

  • 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)論