




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聲樂(lè)表演創(chuàng)新課題申報(bào)書(shū)
- 化學(xué)品研發(fā)項(xiàng)目合同范例
- 課題申報(bào)書(shū)研究?jī)r(jià)值部分
- 農(nóng)村荒山轉(zhuǎn)租合同范本
- 農(nóng)田承包流轉(zhuǎn)合同范本
- 公司文員聘用合同范本
- 人造草坪回收合同范本
- 醫(yī)學(xué)脊柱外科課題申報(bào)書(shū)
- 企業(yè)咨詢(xún)合同范本英文
- 住宅開(kāi)發(fā)商轉(zhuǎn)讓合同范本
- GB/T 39935-2021塑料制品薄膜和片材抗粘連性的測(cè)定
- GB 16899-2011自動(dòng)扶梯和自動(dòng)人行道的制造與安裝安全規(guī)范
- 高中信息技術(shù)《人工智能》優(yōu)質(zhì)教學(xué)課件
- 2023年南平建陽(yáng)市工會(huì)系統(tǒng)招聘考試筆試題庫(kù)及答案解析
- 2022標(biāo)準(zhǔn)方法驗(yàn)證報(bào)告(安檢)
- 學(xué)術(shù)論文寫(xiě)作與規(guī)范課件
- 口腔診所藥品管理制度
- 中醫(yī)子午流注十二時(shí)辰養(yǎng)生法
- 養(yǎng)老院風(fēng)險(xiǎn)管控手冊(cè)
- 標(biāo)準(zhǔn)田字格帶拼音模板空白A4直接打印
- 小學(xué)語(yǔ)文 部編版 六年級(jí)下冊(cè) 第二單元 習(xí)作《寫(xiě)作品梗概》
評(píng)論
0/150
提交評(píng)論