版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計語言程序設(shè)計1第四章第四章-循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)C語言程序設(shè)計語言程序設(shè)計2程序基本框架l輸入數(shù)據(jù)輸入數(shù)據(jù)鍵盤輸入:鍵盤輸入:getchar 、scanf文件輸入文件輸入l處理數(shù)據(jù)處理數(shù)據(jù)l輸出結(jié)果輸出結(jié)果屏幕顯示:屏幕顯示:putchar、printf文件保存文件保存C語言程序設(shè)計語言程序設(shè)計3三種基本結(jié)構(gòu)l順序結(jié)構(gòu)順序結(jié)構(gòu)l選擇結(jié)構(gòu)選擇結(jié)構(gòu)l循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)C語言程序設(shè)計語言程序設(shè)計4順序結(jié)構(gòu)順序結(jié)構(gòu)格式輸入格式輸入/輸出輸出例如:例如:printf(”x=%3dn,x)%格式說明起始符3輸出數(shù)據(jù)的寬度d輸出數(shù)據(jù)的類型x輸出項普通字符一、格式輸出函數(shù)一、格式輸出函數(shù)printf(
2、)()printf(“格式控制字符串格式控制字符串”,輸出表列,輸出表列)C語言程序設(shè)計語言程序設(shè)計5說明:格式字符串的一般形式為:說明:格式字符串的一般形式為: % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度類型類型 1.類型類型 d, i 以十進制形式輸出以十進制形式輸出帶符號帶符號整數(shù)整數(shù)(正數(shù)不輸出符號正數(shù)不輸出符號) o 以八進制形式輸出以八進制形式輸出無符號無符號整數(shù)整數(shù)(不輸出前綴不輸出前綴O) x, X 以十六進制形式輸出以十六進制形式輸出無符號無符號整數(shù)整數(shù)(不輸出前綴不輸出前綴OX) u 以十進制形式輸出無符號整數(shù)以十進制形式輸出無符號整數(shù) f 以以小數(shù)形式小數(shù)形式
3、輸出單、雙精度實數(shù)輸出單、雙精度實數(shù) e ,E 以以指數(shù)形式指數(shù)形式輸出單、雙精度實數(shù)輸出單、雙精度實數(shù) c 輸出單個字符輸出單個字符 s 輸出字符串輸出字符串C語言程序設(shè)計語言程序設(shè)計6 2.標(biāo)志標(biāo)志 標(biāo)志字符為標(biāo)志字符為-、+、#、空格四種,其意義如下所示:、空格四種,其意義如下所示: - 結(jié)果左對齊,右邊填空格結(jié)果左對齊,右邊填空格 + 輸出符號輸出符號(正號或負號正號或負號)空格輸出值為正時冠以空空格輸出值為正時冠以空 格,為負時冠以負號格,為負時冠以負號 # 對對c,s,d,u類無影響;對類無影響;對o類,類, 在輸出時加前綴在輸出時加前綴o;對對x類,在輸出時類,在輸出時 加前綴加
4、前綴0 x;對對e,g,f 類當(dāng)結(jié)果有小數(shù)時才給出小數(shù)點類當(dāng)結(jié)果有小數(shù)時才給出小數(shù)點 3.輸出最小寬度輸出最小寬度 用十進制整數(shù)來表示輸出的最少位數(shù)。用十進制整數(shù)來表示輸出的最少位數(shù)。 若實際位數(shù)多于定義的寬度,若實際位數(shù)多于定義的寬度,則則 按實際位數(shù)輸出按實際位數(shù)輸出, 若實際位數(shù)少于定義的寬度則補以空格或若實際位數(shù)少于定義的寬度則補以空格或0。C語言程序設(shè)計語言程序設(shè)計74.精度精度 精度格式符以精度格式符以“.”開頭,后跟十進制整數(shù)。開頭,后跟十進制整數(shù)。本項的意義是:如果輸出數(shù)字,則表示小數(shù)的位本項的意義是:如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符,數(shù);如果輸出的是字符, 則
5、表示輸出字符的個數(shù);則表示輸出字符的個數(shù);若實際位數(shù)大于所定義的精度數(shù),則截去超過的若實際位數(shù)大于所定義的精度數(shù),則截去超過的部分。部分。C語言程序設(shè)計語言程序設(shè)計86.各種格式字符的說明各種格式字符的說明一:一:d格式符格式符1. %d 按數(shù)據(jù)實際長度輸出按數(shù)據(jù)實際長度輸出2. %mdm為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于小于m,則左端補以空格,若大于則左端補以空格,若大于m,則按實則按實際位數(shù)輸出。際位數(shù)輸出。3. %ld 輸出長整型數(shù)據(jù)輸出長整型數(shù)據(jù)C語言程序設(shè)計語言程序設(shè)計9二:二:o格式符和格式符和x格式符格式符輸出數(shù)據(jù)不帶符號,即符號位作
6、為數(shù)據(jù)的一部分輸出輸出數(shù)據(jù)不帶符號,即符號位作為數(shù)據(jù)的一部分輸出三:三:u格式符格式符以無符號十進制輸出以無符號十進制輸出例:例:int a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);結(jié)果為:結(jié)果為:-1,177777,ffff,65535C語言程序設(shè)計語言程序設(shè)計10四:四:c格式符(輸出一個字符)格式符(輸出一個字符)五:五:s格式符(輸出字符串)格式符(輸出字符串)1. %s 按數(shù)據(jù)實際長度輸出按數(shù)據(jù)實際長度輸出2. %ms m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于小于m,則左端補以空格,若大于則左端補以空格,若大于m,則
7、按實際位數(shù)輸出。則按實際位數(shù)輸出。3. %-ms 4. %m.nd 輸出輸出m列,但是只取字符串左端列,但是只取字符串左端 n個字符。個字符。 輸出在輸出在m列的右側(cè),左補空格。列的右側(cè),左補空格。 5. %-m.ndC語言程序設(shè)計語言程序設(shè)計11六:六:f格式符格式符1. %f 整數(shù)部分全部輸出,輸出六位小數(shù)整數(shù)部分全部輸出,輸出六位小數(shù) (注意有效位)(注意有效位)2. %m.nf 輸出數(shù)據(jù)共輸出數(shù)據(jù)共m列,其中列,其中n位小數(shù)。如果數(shù)據(jù)位小數(shù)。如果數(shù)據(jù) 長度小于長度小于m,左端補空左端補空3. %-m.nf C語言程序設(shè)計語言程序設(shè)計12七:七:e格式符格式符1. %e小數(shù)部分輸出小數(shù)部
8、分輸出6位,指數(shù)部分位,指數(shù)部分5位,其中位,其中“e”占占1位,位,指數(shù)符號占一位,指數(shù)占指數(shù)符號占一位,指數(shù)占3位。位。2. %m.ne 輸出數(shù)據(jù)共輸出數(shù)據(jù)共m列,其中列,其中n為尾數(shù)的小數(shù)位為尾數(shù)的小數(shù)位數(shù)。如果數(shù)據(jù)數(shù)。如果數(shù)據(jù) 長度小于長度小于m,左端補空左端補空3. %-m.ne C語言程序設(shè)計語言程序設(shè)計13例例 :#include stdio.h main() int a=5,b=7; char c=A; float x=67.8564,y= -789.124; printf(%d%dn,a,b); printf(%3d%3dn,a,b); printf(%f,%fn,x,y);
9、 printf(%-10fn,x); printf(%8.2f,%-8.2f,”,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%s,%5.3sn,computer,computer);C語言程序設(shè)計語言程序設(shè)計14二、格式輸入函數(shù)二、格式輸入函數(shù)scanf 1. scanf()函數(shù)的一般形式函數(shù)的一般形式 scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列); 格式控制字符串的作用與格式控制字符串的作用與printf函數(shù)相同,但不能顯示非函數(shù)相同,但不能顯示非格式字符串,格式字符串, 也就是
10、不能顯示提示字符串。也就是不能顯示提示字符串。(1) scanf函數(shù)中沒有精度控制函數(shù)中沒有精度控制 。(2) 如果格式控制串中有非格式字符則輸入時也要輸如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符入該非格式字符(3) getchar(),gets()補充補充C語言程序設(shè)計語言程序設(shè)計15例、為例、為float類型變量類型變量a、b輸入數(shù)據(jù)輸入數(shù)據(jù)1.2和和2.3,下列,下列哪一組是正確的(哪一組是正確的( )。)。 A、scanf(%f%f,&a,&b); 輸入輸入1.2,2.3 B、scanf(%2.1f%2.1f,a,b); 輸入輸入1.2,2.3 C、scanf(%f,%f
11、,&a,&b); 輸入輸入1.2,2.3 D、scanf(%f%f“,&a,&b); 輸入輸入1.22.3C語言程序設(shè)計語言程序設(shè)計16選擇結(jié)構(gòu)選擇結(jié)構(gòu)n單分支:單分支:If(條件表達式條件表達式) n雙分支:雙分支:If(條件表達式)條件表達式)elsen多分支多分支n嵌套嵌套Ifnswitch(表達式表達式)n其它形式:條件運算符其它形式:條件運算符C語言程序設(shè)計語言程序設(shè)計171.第一種形式為基本形式第一種形式為基本形式: if(表達式表達式) 語句;語句;IF的三種形式的三種形式2.第二種形式為第二種形式為if-else形式形式 if(表達式表達式) 語句語句1; else 語句語句2
12、;C語言程序設(shè)計語言程序設(shè)計183.第三種形式為第三種形式為if-else-if形式形式if(表達式表達式1) 語句語句1; else if(表達式表達式2) 語句語句2; else if(表達式表達式m) 語句語句m; else 語句語句n;C語言程序設(shè)計語言程序設(shè)計19例:例:#includestdio.hvoid main() char c; printf(input a character: ); c=getchar(); if(c=0&c=A&c=a&cb) printf(ABn); else printf(ABn); else printf(A=Bn);C語言程序設(shè)計語言程序設(shè)計2
13、3switch(表達式表達式) case 常量表達式常量表達式1: 語句語句1; break; case 常量表達式常量表達式2: 語句語句2; break; case 常量表達式常量表達式n: 語句語句n; break; default : 語句語句n+1; switch語句的通常形式為:語句的通常形式為:C語言程序設(shè)計語言程序設(shè)計24void main() int a; printf(input integer number: ); scanf(%d,&a); switch (a) case 1:printf(Mondayn);break; case 2:printf(Tuesdayn);
14、 break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);break; case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; default:printf(errorn); C語言程序設(shè)計語言程序設(shè)計25注意:注意:在在switch語句中,語句中,“case 常量表達式常量表達式”只相當(dāng)只相當(dāng)于一個語句標(biāo)號,并不是在該處進行條件判斷,表達于一個語句標(biāo)號,并不是在該處進行條件判斷,表達式的值和某
15、標(biāo)號相等則轉(zhuǎn)向該標(biāo)號執(zhí)行,但不會在執(zhí)式的值和某標(biāo)號相等則轉(zhuǎn)向該標(biāo)號執(zhí)行,但不會在執(zhí)行完該標(biāo)號的語句后自動跳出整個行完該標(biāo)號的語句后自動跳出整個switch 語句,將繼語句,將繼續(xù)執(zhí)行所有后面續(xù)執(zhí)行所有后面case語句的情況。語句的情況。C語言程序設(shè)計語言程序設(shè)計26 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是main() int a=0, i; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default : a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 C語言程序
16、設(shè)計語言程序設(shè)計27循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n分類分類n當(dāng)型循環(huán):當(dāng)型循環(huán):whilen直到型循環(huán):直到型循環(huán):do whilen最靈活的最靈活的for循環(huán)循環(huán)n適用場合適用場合n循環(huán)次數(shù)已知:循環(huán)次數(shù)已知:for 、while 、do whilen循環(huán)次數(shù)未知:循環(huán)次數(shù)未知:while 、do whilen如何轉(zhuǎn)換?如何轉(zhuǎn)換?C語言程序設(shè)計語言程序設(shè)計28whilewhile語句的一般形式為:語句的一般形式為: while(表達式表達式) 語句;語句; 其中表達式是循環(huán)條件,語句為循環(huán)體,其中表達式是循環(huán)條件,語句為循環(huán)體,若是多個語句則必須用若是多個語句則必須用和和組成復(fù)合語句。組成復(fù)合語句。C語
17、言程序設(shè)計語言程序設(shè)計29do-while語句語句 do 語句;語句; while (表達式表達式); 其中:語句是循環(huán)體,其中:語句是循環(huán)體, 表達式是循環(huán)條件。表達式是循環(huán)條件。執(zhí)行過程:執(zhí)行過程:先執(zhí)行循環(huán)體語句一次,先執(zhí)行循環(huán)體語句一次, 再判別表達式再判別表達式的值,若為真的值,若為真(非非0)則繼續(xù)循環(huán),否則終止循環(huán)。則繼續(xù)循環(huán),否則終止循環(huán)。C語言程序設(shè)計語言程序設(shè)計30使用使用while和和do-while語句應(yīng)注意以下幾點:語句應(yīng)注意以下幾點: 1.在在if語句,語句,while語句中,語句中, 表達式后面都不能加分號,表達式后面都不能加分號, 而在而在 do-while語句
18、的表達式后面則必須加分號。語句的表達式后面則必須加分號。 2.當(dāng)循環(huán)體由多個語句組成時,也必須用當(dāng)循環(huán)體由多個語句組成時,也必須用括起來組括起來組成一個復(fù)合語句。成一個復(fù)合語句。 3.如果循環(huán)至少要執(zhí)行一次,如果循環(huán)至少要執(zhí)行一次, while和和do-while語句語句可以相互替換??梢韵嗷ヌ鎿Q。C語言程序設(shè)計語言程序設(shè)計31for循環(huán)循環(huán)一、使用一般形式為:一、使用一般形式為: for(表達式表達式1;表達式;表達式2;表達;表達3) 語句;語句; 其中:其中:表達式表達式1通常用來給循環(huán)變量賦初值,一般通常用來給循環(huán)變量賦初值,一般是賦值表達式。也允許在是賦值表達式。也允許在for語句外
19、給循環(huán)變量賦初語句外給循環(huán)變量賦初值,此時可以省略該表達式。值,此時可以省略該表達式。 表達式表達式2通常是循環(huán)條件,一般為關(guān)系表達式或邏通常是循環(huán)條件,一般為關(guān)系表達式或邏輯表達式。輯表達式。 表達式表達式3通??捎脕硇薷难h(huán)變量的值,一般是賦通常可用來修改循環(huán)變量的值,一般是賦值語句。值語句。C語言程序設(shè)計語言程序設(shè)計32循環(huán)三要素循環(huán)三要素n循環(huán)條件循環(huán)條件n循環(huán)變量初始化循環(huán)變量初始化nfor循環(huán):語句中賦初值循環(huán):語句中賦初值nwhile、do循環(huán):循環(huán)體外賦初值循環(huán):循環(huán)體外賦初值n改變循環(huán)變量的值改變循環(huán)變量的值nfor循環(huán):語句中改變循環(huán):語句中改變nwhile、do循環(huán):循環(huán)
20、體內(nèi)循環(huán):循環(huán)體內(nèi) C語言程序設(shè)計語言程序設(shè)計33 有以下程序段有以下程序段int n=0,p; d o s c a n f ( % d , & p ) ; n + + ; while(p!=12345&n3); 此處此處do-while 循環(huán)的結(jié)束條件是循環(huán)的結(jié)束條件是A) p 值不等于值不等于12345 并且并且n 的值小于的值小于3 B) p 值等于值等于12345 并且并且n 的值大于等于的值大于等于3 C) p 值不等于值不等于12345 或者或者n 的值小于的值小于3 D) p 值等于值等于12345 或者或者n 的值大于等于的值大于等于3 C語言程序設(shè)計語言程序設(shè)計34關(guān)鍵問題關(guān)鍵問題n防止死循環(huán)和不循環(huán)防止死循環(huán)和不循環(huán)n控制循環(huán)條件表達式的值的變化控制循環(huán)條件表達式的值的變化n正常出口正常出口n循環(huán)條件不滿足時正常退出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB12T 544-2014 南水北調(diào)工程項目檔案歸檔整.理規(guī)范
- 人生大事的觀后感
- 中學(xué)新學(xué)期開學(xué)的致辭(17篇)
- 中學(xué)校長開學(xué)會議講話稿(6篇)
- 中學(xué)高級述職報告
- 教師課件制作教學(xué)課件
- 影響薪酬管理的因素及原則
- 澆鑄型工業(yè)有機玻璃板材 編制說明
- 歌曲春曉課件教學(xué)課件
- 榜樣事跡課件教學(xué)課件
- 最新現(xiàn)代智力七巧板PPT課件
- 木蘭辭(拼音打印)
- 柴油購銷合同模板
- 電纜售后服務(wù)的承諾書
- 密封件定位套工藝及鉆Φ13孔夾具設(shè)計說明書
- (完整版)遴選答題紙(A4紙直接打印)
- 大物實驗思考題
- 循證教學(xué)評價:數(shù)智化時代下高校教師教學(xué)評價的新取向
- 《各種管道的護理》PPT課件.ppt
- EDQM分析方法驗證指導(dǎo)原則
- 商城開發(fā)合同
評論
0/150
提交評論