順序程序設(shè)計_第1頁
順序程序設(shè)計_第2頁
順序程序設(shè)計_第3頁
順序程序設(shè)計_第4頁
順序程序設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第四章最簡單的C程序設(shè)計

————順序程序設(shè)計§4.1C語句概述一.C語句可以分為以下五類:1、控制語句,完成程序流程控制。

if()~else~條件語句

for()~循環(huán)語句

while()~循環(huán)語句

do~while()循環(huán)語句

continue結(jié)束本次循環(huán)語句

break中止switch或循環(huán)語句

switch多分支選擇語句

goto轉(zhuǎn)向語句

return從函數(shù)返回語句()表示條件,~表示內(nèi)嵌的語句。printf("ThisisaCstatement.");3、表達(dá)式語句:在表達(dá)式后面加分號構(gòu)成。例:a=3;/*后面有分號,是語句*/4、空語句:僅包含一個分號的語句,例、;5、復(fù)合語句:由大括號{}括起來的語句序列。例、{z=x+y;t=z/100;printf("%f",t); }§4.2賦值語句

1、C語言中的賦值號“=”是一個運(yùn)算符,而其它大多數(shù)語言中不是運(yùn)算符。

2、if((a=b)>0)t=a;

C語言不提供輸入輸出語句,輸入輸出由開發(fā)系統(tǒng)提供的函數(shù)實(shí)現(xiàn),函數(shù)的原型在頭文件stdio.h中定義,使用輸入輸出函數(shù)時,應(yīng)在源程序的開頭使用如下語句:#include"stdio.h"§

4.3數(shù)據(jù)的輸入與輸出概念與表達(dá)§4.4字符數(shù)據(jù)輸入輸出函數(shù)getchar():從輸入設(shè)備輸入一個字符

putchar():向輸出設(shè)備輸出一個字符。4.4.1putchar()函數(shù)作用:向終端輸出一個字符。用法:putchar(c);

/*c是字符變量或整型變量*/[例4.1]#include"stdio.h"main(){chara,b,c;a='B';b='O';c='Y';putchar(a);putchar(b);putchar(c);}程序輸出:BOYa、b、c是字符變量或整型變量4.4.2getchar():輸入一個字符例[4.2]#include"stdio.h"main(){charc;c=getchar();putchar(c);}

運(yùn)行時,若從鍵盤輸入字符‘a(chǎn)’,屏幕顯示為:

a

這是鍵盤輸入的回顯。只有在按“回車”鍵后,字符才從鍵盤發(fā)出,程序getchar才獲得鍵盤的輸入a↙也可這樣寫:putchar(getchar()); printf(“%c”,gerchar());

4.5格式輸入與輸出printf():輸出任意格式化數(shù)據(jù)列表。scanf():從標(biāo)準(zhǔn)輸入設(shè)備(一般指鍵盤)

輸入數(shù)據(jù)。1、printf()的一般格式

printf(格式控制,輸出列表);例如:printf(“%d,%f\n”,a,b);printf(參數(shù)1,參數(shù)2,參數(shù)3,....,參數(shù)n);其中“參數(shù)1”表示“格式控制”;其余參數(shù)表示“輸出列表”。作用:向終端輸出若干個任意類型的數(shù)據(jù)。

格式控制:是由雙引號括起來的字符串,它包括兩種信息,格式說明和普通字符。普通字符原樣輸出。

輸出列表:是需要輸出的數(shù)據(jù)??梢允潜磉_(dá)式。2.格式說明

由%和格式字符組成,它的作用是將輸出數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。

格式說明的一般形式:%[修飾字符]<格式字符>常用的格式字符:格式說明%d以帶符號的十進(jìn)制形式輸出整數(shù)%u以無符號的十進(jìn)制形式輸出整數(shù)%o以無符號的八進(jìn)制形式輸出整數(shù)(無前導(dǎo)符0)%x以無符號的十六進(jìn)制形式輸出整數(shù)(無前導(dǎo)符0x)格式說明%c以字符形式輸出,只輸出一個字符%s輸出一個字符串%f以小數(shù)形式輸出單、雙精度實(shí)數(shù)(隱含6位小數(shù))%e(E)以標(biāo)準(zhǔn)指數(shù)形式輸出實(shí)數(shù)(數(shù)字部分6位小數(shù))%g(G)選用%f和%e中輸出寬度較短的一種格式,不輸出無意義的0修飾字符:

①字符‘-’:它是輸出的參數(shù)(數(shù)據(jù))在輸出區(qū)域內(nèi)向左對齊的標(biāo)志。若省略‘-’,則向右對齊輸出。

②字符‘l’:出現(xiàn)在d,u,o,x前,用于輸出長整型數(shù)據(jù)。

③域?qū)掃x擇m.n:它們都是非負(fù)整數(shù)。

m代表最小域?qū)?,用來指明輸出區(qū)域的最小寬度。當(dāng)實(shí)際輸出的寬度小于最小域?qū)捊o定值時,按最小域?qū)捿敵?,空缺部分補(bǔ)上空格;當(dāng)實(shí)際輸出寬度大于指定的最小域?qū)挄r,按實(shí)際寬度輸出。

n代表精度域?qū)?,用來指出在float型或double型數(shù)據(jù)中小數(shù)點(diǎn)后面的數(shù)字的輸出位數(shù);對于字符串?dāng)?shù)據(jù),它指出可以輸出的最多的字符個數(shù)(即截取輸出的字符個數(shù))。

④由于%是格式說明的起始符,故要想輸出%,

需用連續(xù)的兩個%表示。例、(□表示空格)inti=123;longj=123456;printf("%d,%5d,%05d,%ld",i,i,i,j);輸出:123,□□123,00123,123456[例4.3]main(){unsignedinta=65535;intb=-2;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf(“b=%d,%o,%X,%u\n",b,b,b,b);}11111111

111111111111111111111110a=65535b=-2a=-1,177777,ffff,65535b=-2,177776,FFFE,65534例:4.4main(){charc='a';inti=97;printf("%c,%d\n",c,c);printf("%c,%d\n",i,i);}輸出:a,97a,97

例:4.5main(){ printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}輸出:CHINA,□□□□□CH,CHIN,CHI□□

例:4.6main(){ floatf=123.456; printf("%f,%10f\n%10.2f,%.2f\n%-10.2f\n", f,f,f,f,f);}輸出:123.456001,123.456001

123.46,123.46123.46,§4.5.2數(shù)據(jù)輸入scanf():從系統(tǒng)標(biāo)準(zhǔn)輸入設(shè)備stdin(一般指鍵盤)輸入數(shù)據(jù)。一、一般格式

scanf(格式控制,地址列表)“格式控制”與printf()的格式控制類似?!暗刂妨斜怼笔禽斎胄畔⒋娣诺刂返牧斜?,一般是變量地址。返回值等于成功輸入的項(xiàng)數(shù)[例4.9]#include“stdio.h”/*只有printf和scanf函數(shù)可以不要頭文件*/main()

{inta,b,c;

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

printf("%d,%d,%d\n",a,b,c);

}

運(yùn)行時按如下方式輸入三個值:3□4□5↙(輸入a,b,c的值)輸出:3,4,5(printf輸出的a,b,c的值)二、格式說明與printf()的格式控制類似。格式字符說明d用于輸入十進(jìn)制數(shù)o(字母)用于輸入八進(jìn)制數(shù)x用于輸入十六進(jìn)制數(shù)c用于輸入單個字符s用于輸入字符串(非空格開始,空格結(jié)束,字符串變量以'\0'結(jié)尾)f用于輸入實(shí)數(shù)(小或指數(shù)均可)e與f相同(可與f互換)格式的附加說明符

字符說明l(字母)用于長整型數(shù)(%ld、%lo、%lx)或double型實(shí)數(shù)(%lf、%le)h用于短整型數(shù)(%hd、%ho、%hx)域?qū)挘ㄒ粋€正整數(shù))指定輸入所占列寬*跳過相應(yīng)的輸入項(xiàng)三、使用scanf()函數(shù)的注意事項(xiàng)

1、sacnf()中的變量必須使用地址。

scanf("%d,%d",a,b);╳scanf("%d,%d",&a,&b);√2、scanf()的“格式控制中”,可以使用其它字符,但在輸入時必須輸入這些相同的字符。

Scanf(“%d,%d”,&a,&b); 輸入時應(yīng):3,4

Scanf(“a=%d:b=%d”,&a,&b); 輸入時應(yīng):a=3:b=43、在用"%c"輸入時,空格和“轉(zhuǎn)義字符”均作為有效字符。例、scanf("%c%c%c",&c1,&c2,&c3);

輸入:a□b□c↙

結(jié)果:a→c1,□→c2,b→c3(其余被丟棄)4、輸入數(shù)據(jù)時,遇以下情況結(jié)束一個數(shù)據(jù)的輸入:(不是結(jié)束該scanf函數(shù),scanf函數(shù)僅在每一個數(shù)據(jù)域均有數(shù)據(jù),并按回車后結(jié)束)。

①遇空格、“回車”、“跳格”鍵。

②遇寬度結(jié)束。

③遇非法輸入。如:scanf(“%d%c%f”,&a,&b,&c);若輸入:123a123o.26§4.6程序舉例[例4.10]

輸入三角形的三邊長,計算其面積。1.設(shè)計算法、設(shè)三邊長a、b、c,面積area的算法是:2.畫出流程圖。求平方根函數(shù)sqrt()

在math.h中定義。計算面積area輸出面積area輸入a、b、c計算s結(jié)束開始#include"math.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\n",a,b,c);printf("area=%7.2f\n",area);}運(yùn)行情況如下:

3,4,6↙a=3.00,b=4.00,c=6.00area=5.33第4章小節(jié):getchar():從標(biāo)準(zhǔn)輸入設(shè)備stdin輸入一個字符同時有回顯putchar():向終端輸出一個字符。printf():輸出任意格式化數(shù)據(jù)列表。scanf():從標(biāo)準(zhǔn)輸入設(shè)備(一般指鍵盤

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論