




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 C語(yǔ)言的基本語(yǔ)句C C語(yǔ)語(yǔ)言言數(shù)數(shù)據(jù)據(jù)操操作作語(yǔ)語(yǔ)句句簡(jiǎn)單語(yǔ)句復(fù)合語(yǔ)句(一條或多條語(yǔ)句)條件語(yǔ)句(if語(yǔ)句,switch語(yǔ)句)流程控制語(yǔ)句結(jié)構(gòu)化語(yǔ)句 表達(dá)式語(yǔ)句(表達(dá)式;)函數(shù)調(diào)用語(yǔ)句(函數(shù)名(參數(shù)表);)Break語(yǔ)句Continue語(yǔ)句Return語(yǔ)句空語(yǔ)句(;)循環(huán)語(yǔ)句非結(jié)構(gòu)化語(yǔ)句 非限定轉(zhuǎn)向語(yǔ)句 While語(yǔ)句do-while語(yǔ)句for語(yǔ)句3.1.1 簡(jiǎn)單語(yǔ)句1.表達(dá)式語(yǔ)句 定義:由表達(dá)式式組成的語(yǔ)句表達(dá)式;分號(hào)是語(yǔ)言語(yǔ)句結(jié)束的標(biāo)志 表達(dá)式2.函數(shù)調(diào)用語(yǔ)句 C語(yǔ)言有豐富的標(biāo)準(zhǔn)函數(shù)庫(kù),可供用戶調(diào)用(參見附錄)注意:(1)調(diào)用前程序中包含相應(yīng)的頭文件;(2)
2、要遵循函數(shù)調(diào)用規(guī)則,一般形式為:函數(shù)名(參數(shù)表):.空語(yǔ)句 空語(yǔ)句用一個(gè)分號(hào)表示,其一般形為: ; 運(yùn)算符表達(dá)式算術(shù)、關(guān)系、邏輯、條件、 自增減、 逗號(hào)、求字節(jié)sizeof(int)賦值表達(dá)式 x=3*cos(x)復(fù)合賦值表達(dá)式 a/=93.1.2 復(fù)合語(yǔ)句 復(fù)合語(yǔ)句是由花括號(hào)括起來(lái)的多條語(yǔ)句構(gòu)成的,在語(yǔ)法上相當(dāng)于一個(gè)語(yǔ)句,其形式為: 內(nèi)部數(shù)據(jù)描述語(yǔ)句數(shù)據(jù)操作語(yǔ)句1; 數(shù)據(jù)操作語(yǔ)句n;注意: (1)在復(fù)合語(yǔ)句的“內(nèi)部數(shù)據(jù)描述語(yǔ)句”中定義的變量是局部變量, 僅在復(fù)合語(yǔ)句中有效; (2)復(fù)合語(yǔ)句 結(jié)束的”之后,不需要再加分號(hào).如例 3.1格式: putchar( c )putchar( c );參
3、數(shù): c為字符常量、字符型變量或整型變量。功能:把字符c輸出在顯示器上。注意:能且僅能輸出一個(gè)字符。5C語(yǔ)言無(wú)I/O語(yǔ)句,I/O操作由I/O函數(shù)來(lái)實(shí)現(xiàn)5I/O函數(shù)使用前,須調(diào)用頭文件 #include 3.2.1 字符輸入輸出函數(shù)1.字符輸出函數(shù)3.2 數(shù)據(jù)輸入與輸出/*ch3_1.c*/#include main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);運(yùn)行結(jié)果:A B例格式: getchar( );功能:從鍵盤讀一個(gè)字符,按回車鍵后程序才會(huì)響應(yīng)。注意:能且僅能接受一個(gè)字符。2 字符輸入函數(shù) 例 /*ch3
4、_4.c*/#include main() int c; printf(Enter a character:); c=getchar(); printf(%c-is %dn,c,c);運(yùn)行結(jié)果:Enter a character:AA-is 65格式:printf(“printf(“格式控制串格式控制串”,輸出項(xiàng)列表,輸出項(xiàng)列表) );功能:按指定格式向顯示器輸出數(shù)據(jù)3.2.2 格式輸出函數(shù)printfv輸出項(xiàng)列項(xiàng)列表:要輸出的變量數(shù)據(jù)(也可以沒有;但多個(gè)時(shí) 每個(gè)變量數(shù)據(jù)之間以 “,” 分 隔)v格式控制串:包含三種信息 普通字符普通字符原樣輸出; %修飾符修飾符 格式字符格式字符 ,用于指定
5、輸出格式; 引導(dǎo)的轉(zhuǎn)義字符引導(dǎo)的轉(zhuǎn)義字符按反轉(zhuǎn)后的意思執(zhí)行。d,ix,Xoucse,Efg%v格式字符十六進(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)本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float
6、a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789%l說(shuō)明u格式字符要用小寫;u格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng);u輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出。例 main() unsigned int u=65535; printf(”u=%dn,u); 輸出結(jié)果:u=-1例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,
7、b);輸出結(jié)果: 3 4 a=3, b=411 11 11 11 11 11 11 1165535v附加格式說(shuō)明符(修飾符).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,0 x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l例 int a=1234; float f=123.456; char ch=a; print
8、f(“%8d,%2dn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f); printf(“%3cn”,ch);運(yùn)行 1234,1234結(jié)果: 123.456000,123.4560, 123.5,123.46,1.23e+02 a例 static char a=“Hello,world!” printf(“%sn%15sn%10.5sn%2.5sn%.3sn”,a,a,a,a,a);運(yùn)行結(jié)果:Hello,world! Hello,world! Hello Hello Hel 例 m.n int a=1234; float f=123.456
9、; static char c=“Hello,world!”; printf(“%8d,%-8dn”,a,a); printf(“%10.2f,%-10.1fn”,f,f); printf(“%10.5s,%-10.3sn”,c,c);運(yùn)行結(jié)果:運(yùn)行結(jié)果: 1234,1234 123.46,123.5 Hello,Hel 例例 “-”表示為居左輸出例 int a=1234; float f=123.456; printf(“%08dn”,a); printf(“%010.2fn”,f); printf(“%0+8dn”,a); printf(“0+10.2fn”,f); 例 0 、+例 int
10、 a=123; printf(“%o,%#o,%X,%#Xn”,a,a,a,a); 例 #例 long a=65536; printf(“%d,%8ldn”,a, a); 例 l00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00/00001234/0000123.46/000+1234/000+123.56/173,0173,7B,0X7B/0, 65536第二講3.1 C語(yǔ)言的基本語(yǔ)句3.2 數(shù)據(jù)輸入與輸出 3.2.1 字符輸入輸出函數(shù) 3.2.2 格式輸出函數(shù)printf 3.2.3 格式輸入函數(shù)scanf3.3 程序舉例3.2.3 格式輸入函數(shù)
11、scanf格式格式: scanf(“格式格式控制串控制串”,地址地址表);表);功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的 存儲(chǔ)單元中存儲(chǔ)單元中,并按回車鍵結(jié)束返回值:正常,返并按回車鍵結(jié)束返回值:正常,返 回輸入數(shù)據(jù)個(gè)數(shù)?;剌斎霐?shù)據(jù)個(gè)數(shù)。 地地 址址 表:表: 變量的地址,常用取地址運(yùn)算符變量的地址,常用取地址運(yùn)算符&。 格式字符格式字符: d, i, o, x, u, c, s, f, e。例 scanf(“%d”,&a); 輸入:10 則 a=10例 scanf(“%x”,&a); 輸入:11 則 a=17v附
12、加格式說(shuō)明符(修飾符)l修飾符功 能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)抑制符,指定輸入項(xiàng)讀入后不賦給變量例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 輸入 20081016 則2008yy, 10 mm, 16 dd例 scanf(“%3d%*4d%f”,&k,&f); 輸入 12345678765.43 則123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b); 輸入 1234567 則1
13、2a, 67b例 scanf(“%3c%2c”,&c1,&c2); 輸入 abcde 則ac1, d c2指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束v輸入分隔符的指定:輸入分隔符的指定:l當(dāng)格式串為當(dāng)格式串為%d%d%d%d%d%d時(shí),數(shù)據(jù)輸入時(shí)可用時(shí),數(shù)據(jù)輸入時(shí)可用空格、空格、TABTAB鍵、或鍵、或回車回車鍵作為分隔符。鍵作為分隔符。例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c); 輸入 123 123 123 輸出 a=123,b=83,c=291例 scanf(“%d:%d
14、:%d”,&h,&m,&s); 輸入 12:30:45 則12 h, 30 m, 45 s例 scanf(“%d,%d”,&a,&b) 輸入 3,4 則3a, 4 bl其它字符做分隔符:格式串中兩個(gè)格式符間的分其它字符做分隔符:格式串中兩個(gè)格式符間的分 隔符應(yīng)與數(shù)據(jù)輸入時(shí)的分隔符相一致。隔符應(yīng)與數(shù)據(jù)輸入時(shí)的分隔符相一致。v說(shuō)明:說(shuō)明:l用用“%c”“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入效字符輸入如 scanf(“%c%c%c”,&c1,&c2,&c3); 若輸入abc 則ac1, c2, b
15、 c3l輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)輸入結(jié)束:輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)輸入結(jié)束:u遇空格、遇空格、TABTAB、或回車、或回車u按指定寬度讀完數(shù)據(jù)后結(jié)束按指定寬度讀完數(shù)據(jù)后結(jié)束u遇非法輸入也結(jié)束。遇非法輸入也結(jié)束。如 scanf(“%d %c %f”,&a,&b,&c); 若輸入1234 a 123o.26 o為英文字符 則 1234 a, a b, 123 c例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%dn”,x,ch);執(zhí)行:123輸出:x=123,ch=10怎
16、樣解決輸入數(shù)據(jù)時(shí)留下的怎樣解決輸入數(shù)據(jù)時(shí)留下的“垃圾垃圾”,方法如下:方法如下:(1 1)用)用getchar()getchar()清除清除(2 2)用函數(shù))用函數(shù)fflush(stdin)fflush(stdin)清除全部剩余內(nèi)容清除全部剩余內(nèi)容 (3) (3) 用格式串中空格或用格式串中空格或“%“%* *c”c”來(lái)來(lái)“吃掉吃掉”例 int x; char ch; scanf(“%d”,&x); scanf(“ %c”,&ch);或 scanf(“%*c%c”,&ch); 3.3 程序舉例程序舉例 例例3.1 3.1 輸入圓的半徑,輸出圓的周長(zhǎng)和面積。輸入圓的半徑,
17、輸出圓的周長(zhǎng)和面積。分析:分析: 1.定義實(shí)型變量半徑r、周 長(zhǎng)l、面積s;2.調(diào)用鍵盤輸入函數(shù)scanf(),輸入r:3.由周長(zhǎng)l=2r和面積s=2*r*r求l、s;4.調(diào)用輸出函數(shù)行printf()輸出l、s。程序:程序:#include #define PI 3.14156 main() float r,l,s; printf(r=); scanf(%f,&r); l = 2 * PI * r; s = PI *r * r; printf( l=%.4fn,l); printf( s=%.4fn,s);22040axbxcbac例3.5 求方程的根,設(shè)#include #incl
18、ude main() float a,b,c,disc,x1,x2,p,q; printf(na=); scanf(%f,&a); printf(b=); scanf(%f,&b); printf(c=); scanf(%f,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(nx1=%5.2fnx2=%5.2fn,x1,x2);輸入:a=1 b=2 c=-3 輸出:x1=1.00 x2=-3.00aacbbx242習(xí)題3-12#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%5.2f, b=%5.2f, c=%5.2f,nl=%5.2fn,a,b,c,2*s); printf(area=%5.2fn,area);例 已知三角形的邊長(zhǎng),求面積。輸入:3,4,6 輸出:
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZHCA 025-2023 化妝品抗氧化人體測(cè)試方法
- 沈陽(yáng)生姜種植與市場(chǎng)推廣2025年度聯(lián)合發(fā)展合同
- 2025年度自愿離婚協(xié)議書:子女撫養(yǎng)權(quán)及監(jiān)護(hù)責(zé)任協(xié)議
- 二零二五年度創(chuàng)新型企業(yè)員工股權(quán)激勵(lì)合同
- 2025年度金融服務(wù)違約賠償協(xié)議范本
- 2025年度美容院美容師職業(yè)保險(xiǎn)與福利合作協(xié)議
- 二零二五年度國(guó)際物流公司總經(jīng)理聘用協(xié)議
- 二零二五年度專業(yè)冷庫(kù)租賃與溫控技術(shù)支持協(xié)議
- 二零二五年度物流行業(yè)勞動(dòng)合同法更新及風(fēng)險(xiǎn)防范合同
- 二零二五年度心理咨詢服務(wù)連鎖機(jī)構(gòu)心理咨詢師聘用合同
- 5.2 做自強(qiáng)不息的中國(guó)人 (課件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 【寒假開學(xué)第一課】AI時(shí)代做自己的哪吒
- CWAN 0043-2021攪拌摩擦焊攪拌頭設(shè)計(jì)及制造標(biāo)準(zhǔn)
- 從入門到精通:2025年化妝基本步驟
- 教學(xué)課件:《公共關(guān)系學(xué)》(本科)
- 劉聰版在燦爛陽(yáng)光下鋼琴伴奏譜簡(jiǎn)譜版
- 2025年春新人教PEP版英語(yǔ)三年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 建筑工程項(xiàng)目精益建造實(shí)施計(jì)劃書
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽(yáng)光指標(biāo)調(diào)研卷試題和答案
- 游戲開發(fā)公司游戲產(chǎn)品設(shè)計(jì)與用戶體驗(yàn)優(yōu)化計(jì)劃
- 浙江省金華市義烏市2024年中考語(yǔ)文二模試卷含答案
評(píng)論
0/150
提交評(píng)論