




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章順序結(jié)構(gòu)3.1c語句的描述3.2數(shù)據(jù)輸入/輸出3.3較復(fù)雜數(shù)據(jù)的輸入輸出3.4程序舉例3.1C語句的描述例x=3;
x+y;
1、表達(dá)式語句:
任何表達(dá)式后面加一個(gè)分號(hào)“;”就構(gòu)成一條表達(dá)式語句。
2、控制語句:
if()…else…條件語句switch多分支選擇語句for()...循環(huán)語句while()…循環(huán)語句do…while()循環(huán)語句continue結(jié)束本次循環(huán)語句break中止執(zhí)行switch或循環(huán)語句return
從函數(shù)中返回語句goto
轉(zhuǎn)向語句,現(xiàn)在基本不用
用來完成一定的控制功能。
3、函數(shù)調(diào)用語句:
由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成函數(shù)調(diào)用語句。例printf(“hello!”);
4、空語句:
只有一個(gè)分號(hào)的語句,它什么也不做,有時(shí)候用來作被轉(zhuǎn)向點(diǎn),或循環(huán)語句中的循環(huán)體。例;
5、復(fù)合語句:
用{}把一些語句括起來。例{t=x;x=y;y=t;}3.2數(shù)據(jù)輸入/輸出3.2.1格式化輸出函數(shù)printf()3.2.2格式化輸入函數(shù)scanf()3.2.3字符輸出函數(shù)putchar()3.2.4字符輸入函數(shù)getchar()C語言無I/O語句,I/O操作由函數(shù)實(shí)現(xiàn)
#include<stdio.h>3.2.1格式化輸出函數(shù)printf()格式:printf(“格式控制”[,輸出值列表]);功能:按指定格式向顯示器輸出數(shù)據(jù)。①格式控制:用雙引號(hào)括起來的字符串,用于指定輸出格式和輸出一些提示信息,它包含三種信息:普通字符:按原樣輸出。轉(zhuǎn)義序列:按轉(zhuǎn)義字符的含義輸出,如‘\n'表換行格式說明:由%[修飾符]格式字符,用于指定數(shù)據(jù)的輸出格式。如:%d,%f等②輸出列表:要輸出的數(shù)據(jù)可以沒有,若有多個(gè)則以“,”分隔可以是常量、變量、函數(shù)或表達(dá)式d,ix,Xoucse,Efg,G%%格式字符:(見P62,紅色字符是常用的格式字符)十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號(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%說明 除了X,E,G外,格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出例
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=43.3較復(fù)雜的輸入輸出格式控制3.3.1輸出數(shù)據(jù)格式控制1.printf函數(shù)較復(fù)雜的格式控制的一般形式%[標(biāo)志][寬度][.精度][長度]類型(1)類型:用以表示輸出數(shù)據(jù)的類型,printf函數(shù)的格式字符和意義如表3-1所示。格式字符
意義d以十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)不輸出符號(hào))o以八進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴0)x,X以十六進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴0x)u以十進(jìn)制形式輸出無符號(hào)整數(shù)c輸出單個(gè)字符s輸出字符串表3-1printf函數(shù)格式字符格式字符
意義f以小數(shù)形式輸出單、雙精度實(shí)數(shù)E、e以指數(shù)形式輸出單、雙精度實(shí)數(shù)G、g以%f或%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)%
輸出百分號(hào)(%)例如:/*lt4-01.c*/inta=-1;printf(“%x,%d”,a,a);輸出結(jié)果為:ffffffff,-1(2)標(biāo)志:標(biāo)志符號(hào)為“-”、“+”、“#”、“空格”四種,(3)用十進(jìn)制整數(shù)來表示輸出的位數(shù)。若實(shí)際位數(shù)多余定義的寬度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義寬度,則在輸出數(shù)據(jù)的左邊或者右邊補(bǔ)以空格或0(根據(jù)標(biāo)識(shí)符決定)(4)精度:精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。本項(xiàng)含義是:如果輸出數(shù)據(jù),則表示小數(shù)的位數(shù),如果輸出的是字符,則表示輸出字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。
見附加格式說明符(修飾符)表附加格式說明符(修飾符).n對實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號(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例lt3-002.c例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
例lt3-001.c
m.n例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□□□□□□□
例lt3-003.c例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);
例0、+lt3-004.c例inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例#//00001234//0000123.46//+0001234//+000123.46//173,0173,7B,0X7B3.2.2格式化輸入函數(shù)scanf()scanf函數(shù)是格式化輸入函數(shù),它的作用是按指定的格式從鍵盤輸入數(shù)據(jù),并賦予指定的變量。1.scanf函數(shù)的一般調(diào)用格式:scanf(“格式控制”,地址列表)其中,括號(hào)內(nèi)包含兩部分內(nèi)容。(1)格式控制?用雙引號(hào)括起來的字符串,用于指定輸入格式,可包含以下兩種信息:①格式說明:與printf函數(shù)類似,格式說明必須以“%”開頭,由“%”和格式字符組成,用于指定輸入數(shù)據(jù)的格式。②普通字符:除了格式說明之外的其他字符要求用戶必須原樣輸入。(2)地址列表?由若干個(gè)地址項(xiàng)組成,相鄰地址之間用逗號(hào)“,”分隔。C語言中,變量地址的表示方法為:&變量名其中,“&”是取地址運(yùn)算符。3.2.2格式化輸入函數(shù)scanf()
地址列表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);
輸入:10
則a=10例scanf(“%x”,&a);
輸入:11
則a=17例scanf(“%d%d%d”,&a,&b,&c);
輸入:112233
或輸入:11
22<tab鍵>33
則a=11b=22c=33錯(cuò)誤輸入方式:11,22,33
3.3.2格式化輸入函數(shù)scanf()2.scanf函數(shù)的較復(fù)雜的格式控制的一般形式:“%[*][輸入數(shù)據(jù)寬度][長度]類型”其中,方括號(hào)[]代表可選項(xiàng)。各部分的意義如下:(1)類型?指定輸入數(shù)據(jù)類型,scanf的格式字符和意義如下表:格式字符
意義d輸入有符號(hào)十進(jìn)制整數(shù)o輸入無符號(hào)八進(jìn)制整數(shù)X或x輸入無符號(hào)十六進(jìn)制整數(shù),大小寫形式相同u輸入無符號(hào)十進(jìn)制整數(shù)c輸入單個(gè)字符s輸入字符串fe,E,g,G輸入實(shí)數(shù)(可用小數(shù)形式或指數(shù)形式輸入)輸入實(shí)數(shù),與f作用相同,e、f、g可以相互替換(大小寫作用相同)(2)“*”符號(hào)-輸入賦值抑制符,表示該輸入項(xiàng)讀入后,不賦予變量,即跳過該輸入值,成為虛讀。(3)輸入數(shù)據(jù)寬度-域?qū)挘ㄖ付ㄒ斎霐?shù)據(jù)的列數(shù)),用十進(jìn)制整數(shù)指定輸入項(xiàng)最多可輸入的字符個(gè)數(shù)(必須為正整數(shù))。如遇空格或不可轉(zhuǎn)換的字符,讀入的字符將減少。(4)長度-格式符為l和h①l表示長整型數(shù)據(jù)(如%ld、%lx等)和雙精度浮點(diǎn)數(shù)(如%lf、%le).②h表示輸入短整型數(shù)據(jù)(如%hd、%ho、%hx、%hu).
見附加格式說明符(修飾符)表附加格式說明符(修飾符)例scanf(“%4d%2d%2d”,&yy,&mm,&dd);
輸入19991015
則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);
輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);
輸入1234567
則12a,67b例scanf(“%3c%2c”,&c1,&c2);
輸入abcde
則‘a(chǎn)’c1,‘d’c2l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符例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說明:用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入輸入函數(shù)留下的“垃圾”:解決方法:(1)用getchar()清除(2)用格式串中空格或“%*c”來“吃掉”如scanf(“%c%c%c”,&c1,&c2,&c3);
若輸入abc
則ac1,
c2,bc33.2.3字符輸出函數(shù)putchar()
格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);putchar('\n');}運(yùn)行結(jié)果:AB例lt3-008.c3.2.4字符輸入函數(shù)getchar()
格式:getchar()功能:從鍵盤讀一字符例#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}運(yùn)行結(jié)果:Enteracharacter:A
A--->hex41lt3-009.c3.3順序結(jié)構(gòu)程序設(shè)計(jì)舉例
ABAB流程圖N-S圖所謂順序結(jié)構(gòu),見下圖,先執(zhí)行A操作,再執(zhí)行B操作,兩者是順序執(zhí)行的關(guān)系。順序結(jié)構(gòu)的特點(diǎn):從第一條語句開始順序執(zhí)行到最后一條;每一條語句執(zhí)行且執(zhí)行一遍,不重復(fù)執(zhí)行,也沒有語句不執(zhí)行#include<math.h>#include<stdio.h>main(){floata,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=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}例輸入三角形邊長,求面積輸入:346
輸出:a=3.00,b=4.00,c=6.00s=6.50area=5.33文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)lt3-010.c【例lt3-011.c】輸入任意3個(gè)整數(shù),求它們的和及平均值。C源程序:#include<stdio.h>voidmain(){ intnum1,num2,num3,sum; floataver;
printf(“Pleaseinputthreenumbers:”);
scanf(“%d%d%d”,&num1,&num2,&num3); sum=num1+num2+num3; aver=sum/3.0;printf(“num1=%d,num2=%d,num3=%d\n”,num1,num2,num3);
printf(“sum=%d,aver=%7.2f\n”,sum,aver); }運(yùn)行結(jié)果:Pleaseinputthreenumbers:468↙num1=4,num2=6,num3=8sum=18,aver=6.00【例lt3-012.c】輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=(F-32)
輸出要有文字說明,取2位小數(shù)。C源程序:#include<stdio.h>voidmain(){
floatc,f;
printf(“請輸入一個(gè)華氏溫度:”);
scanf(“%f”,&f);c=(5.0/9.0)*(f-32);/*注意5和9要用實(shí)型表示,否則5/9值為0*/
printf(“攝氏溫度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 知識(shí)產(chǎn)權(quán)教育在學(xué)校的普及與推廣
- 2025龍?jiān)措娏瘓F(tuán)股份有限公司校園招聘428人筆試參考題庫附帶答案詳解
- 鄉(xiāng)鎮(zhèn)工廠租賃合同范本
- 電子書銷售平臺(tái)的市場分析與運(yùn)營策略
- 科技改變生活城市社區(qū)智能科技服務(wù)研究
- 現(xiàn)代辦公環(huán)境下骨科醫(yī)學(xué)影像技術(shù)的創(chuàng)新應(yīng)用
- 科技公司如何通過培訓(xùn)提升員工網(wǎng)絡(luò)防御能力
- 社區(qū)康復(fù)支持網(wǎng)絡(luò)在災(zāi)害救援中的應(yīng)用
- 磁性材料在航空航天結(jié)構(gòu)優(yōu)化中的價(jià)值
- 2025江西南昌市江銅產(chǎn)融社會(huì)招聘1人筆試參考題庫附帶答案詳解
- 神奇的光:如何形成彩虹
- 三、膽石癥課件
- 學(xué)生作業(yè)情況登記表模板(可打印)
- 兔子坡(閱讀課上課課件)
- 高中數(shù)學(xué)《立體幾何》教材分析及教學(xué)建議
- 八年級(jí)英語初中英語閱讀理解閱讀專項(xiàng)練習(xí)試卷附答案
- 固定資產(chǎn)清查盤點(diǎn)明細(xì)表
- 人教版八年級(jí)數(shù)學(xué)下冊課件【全冊】
- 物聯(lián)網(wǎng)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 1例妊娠糖尿病的個(gè)案護(hù)理
- 光伏發(fā)電職業(yè)病危害預(yù)評價(jià)方案方案
評論
0/150
提交評論