語(yǔ)言西理生活課件第3章順序結(jié)構(gòu)_第1頁(yè)
語(yǔ)言西理生活課件第3章順序結(jié)構(gòu)_第2頁(yè)
語(yǔ)言西理生活課件第3章順序結(jié)構(gòu)_第3頁(yè)
語(yǔ)言西理生活課件第3章順序結(jié)構(gòu)_第4頁(yè)
語(yǔ)言西理生活課件第3章順序結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1第3章順序結(jié)構(gòu)C程序的語(yǔ)句數(shù)據(jù)的輸入與輸出簡(jiǎn)單程序設(shè)計(jì)2C語(yǔ)言語(yǔ)句3C語(yǔ)言語(yǔ)句說(shuō)明語(yǔ)句

intx,y=9;

charch;doublea,b,c;

執(zhí)行語(yǔ)句

控制語(yǔ)句表達(dá)式語(yǔ)句復(fù)合語(yǔ)句

4控制語(yǔ)句

if語(yǔ)句、for語(yǔ)句等表達(dá)式語(yǔ)句

賦值語(yǔ)句a=b=c=2;a=3,c=5;

函數(shù)調(diào)用語(yǔ)句printf(“Hello!”);

空語(yǔ)句;復(fù)合語(yǔ)句

{

語(yǔ)句序列;

}區(qū)別:inta=b=c=2;if(x>y){t=x;x=y;y=t;

}提示:復(fù)合語(yǔ)句在語(yǔ)法上視為一條語(yǔ)句。5輸入輸出函數(shù)6

C語(yǔ)言中沒(méi)有提供輸入輸出語(yǔ)句,其輸入輸出操作,是通過(guò)調(diào)用C語(yǔ)言系統(tǒng)所提供的輸入輸出函數(shù)來(lái)實(shí)現(xiàn)的。格式化輸入/輸出函數(shù)scanf函數(shù)printf函數(shù)讀寫單個(gè)字符數(shù)據(jù)的函數(shù)getchar函數(shù)putchar函數(shù)7

格式化輸出函數(shù)printf(“格式控制串”,表達(dá)式1,表達(dá)式2,…);

將表達(dá)式列表中的各個(gè)表達(dá)式按控制字符串給定的格式輸出。格式控制串一般字符,原樣輸出轉(zhuǎn)義字符,一般完成一定的動(dòng)作格式說(shuō)明符(%格式符),控制表達(dá)式的輸出格式及位置。8inta=4,b=5;printf(“a=%d,b=%d\n”,a,b);printf(“a=%d\nb=%d\n”,a,b);a=4,b=5a=4b=59格式說(shuō)明字符%-0m.nl/h格式符指定輸出類型長(zhǎng)度修正符指定輸出域?qū)捈熬萴(域?qū)?:輸出項(xiàng)在輸出設(shè)備上所占的字符數(shù)。n(精度):輸出的實(shí)型數(shù)的小數(shù)位數(shù)。不指定n時(shí),隱含為6。指定空位填0指定左對(duì)齊輸出10關(guān)于輸出寬度m

若m大于實(shí)際數(shù)據(jù)寬度則左端填補(bǔ)空格;若m小于實(shí)際數(shù)據(jù)寬度則按實(shí)際位數(shù)輸出。關(guān)于小數(shù)位數(shù)n

若n大于實(shí)際小數(shù)寬度則右端填0;若n小于實(shí)際數(shù)據(jù)寬度則按四舍五入舍入。11格式符輸出形式示例運(yùn)行結(jié)果整型d有符號(hào)十進(jìn)制inta=123;printf(“%d”,a);123x十六進(jìn)制inta=123;printf(“%x”,a);

printf(“%#x”,a);7B0x7Bo八進(jìn)制inta=123;printf(“%o”,a);printf(“%#o”,a);1730173u無(wú)符號(hào)十進(jìn)制unsigneda=80;printf(“%u”,a);80hd短整型shorta=80;printf(“%hd”,a);80ld長(zhǎng)整型longa=123;printf(“%ld”,a);123字符型ccharc=69;printf(“%c”,c);E字符串sprintf(“%s”,”China”);China實(shí)型ffloata=123.4;printf(“%f”,a);123.400000%百分號(hào)printf(“%%”);%格式字符12輸出函數(shù)調(diào)用輸出結(jié)果1printf(“%d”,42);422printf(“%5d”,42);423printf(“%3d”,1234);12344printf(“%-5d”,42);425printf(“%05d”,42);000426printf(“%d%d”,42,54);42547printf(“%5d%5d”,42,54);42548printf(“%f”,123.54);123.5400009printf(“%12f”,123.54);123.54000010printf(“%8.3f”,123.55);123.55011printf(“%8.1f”,123.55);123.612printf(“%8.0f”,123.55);12413inta=-1;printf(“%d,%u,%x,%o”,a,a,a,a);a1111111111111111-1,65535,ffff,177777輸出結(jié)果提示:表達(dá)式的輸出形式是根據(jù)格式符控制的。以16位編譯器為例(int類型是2個(gè)字節(jié)):14inta=-1;printf(“%d,%u,%x,%o”,a,a,a,a);a11111111111111111111111111111111-1,,ffffffff,37777777777輸出結(jié)果VC++6.0環(huán)境(int類型是4個(gè)字節(jié)):15注意:輸出格式要和表達(dá)式類型一致。格式控制符表達(dá)式類型%dintshortlong%hdshort%ldlong%ffloatdouble%cchar%uunsigned提示:16位編譯器輸出長(zhǎng)整型必須使用%ld16字符數(shù)據(jù)的輸出

字符數(shù)據(jù)可以以字符形式輸出,也可以以整數(shù)形式輸出。main(){

charc1,c2;c1=97;c2=‘b’;

printf(“%c,%c\n”,c1,c2);}c1c29798printf(“%d,%d\n”,c1,c2);17

格式化輸入函數(shù)scanf(“格式控制串”,變量地址1,變量地址2,…);

等待用戶從鍵盤上輸入數(shù)據(jù),然后按格式控制的要求對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換后送到相應(yīng)變量的地址中去。格式控制串基本同printf函數(shù)。變量地址&a

取變量對(duì)應(yīng)內(nèi)存地址運(yùn)算符18inta,b;scanf(“%d%d”,&a,&b);提示:輸入數(shù)據(jù)結(jié)束后,一定按回車,scanf函數(shù)才開始讀數(shù)據(jù)。ab鍵盤輸入形式2718271819格式說(shuō)明字符%*ml

或h格式符輸入數(shù)據(jù)類型和格式長(zhǎng)度修正符域?qū)捳f(shuō)明符賦值抑制符20格式字符格式符輸入形式整型d十進(jìn)制x十六進(jìn)制o八進(jìn)制u無(wú)符號(hào)十進(jìn)制ld長(zhǎng)整型字符型c字符串s單精度f(wàn)雙精度lf雙精度21運(yùn)行程序時(shí)輸入數(shù)據(jù)的方式

輸入數(shù)據(jù)時(shí),數(shù)據(jù)之間默認(rèn)分隔符是回車、空格、Tab鍵scanf(“%d%d%d”,&a,&b,&c);輸入形式23341223341223341222

指定數(shù)據(jù)所占寬度scanf(“%2d%3d%2f”,&a,&b,&c);abc輸入形式1234567891234567.023

跳過(guò)輸入數(shù)據(jù)scanf(“%d%*d%d%f”,&a,&b,&c);abc輸入形式1020304010304024

在格式串中插入其它字符scanf(“%d,%d,%f”,&a,&b,&c);scanf(“a=%d,b=%d,c=%f”,&a,&b,&c);輸入形式輸入形式10,20,30a=10,b=20,c=3025scanf的停止與返回

格式參數(shù)中格式項(xiàng)用完---正常結(jié)束發(fā)生格式項(xiàng)與輸入值不匹配---非正常結(jié)束該函數(shù)在執(zhí)行中遇到下面兩種情況后結(jié)束26輸入形式main(){inta,b,c,d,e,f;scanf(“%d%d”,&a,&b);scanf(“%d%d”,&c,&d);scanf(“%d”,&e);scanf(“%d”,&f);}a12b24c36d48e60f721224364860728427scanf(“%3d-%2d-%4d”,&a,&b,&c);輸入形式12-345-6789輸入的數(shù)據(jù)和指定的格式不匹配,造成讀數(shù)據(jù)錯(cuò)28abc輸入形式字符數(shù)據(jù)的讀入scanf(“%c%c%c”,&a,&b,&c);格式符是連續(xù)的,回車、空格和Tab鍵都作為字符讀入ABC‘A’‘B’‘C’ABC‘A’空格‘B’ABC‘A’‘B’回車提示:連續(xù)輸入字符數(shù)據(jù)時(shí),不添加其他符號(hào)29scanf(“%c%c%c”,&a,&b,&c);

格式符之間有空格時(shí),可將回車、空格和Tab鍵作為輸入數(shù)據(jù)之間的分隔符。a65b66c67輸入形式ABCABCABC30scanf(“%4c%4c”,&a,&b);

格式符前可加數(shù)字,用來(lái)指定輸入數(shù)據(jù)所占的寬度。

輸入數(shù)據(jù)時(shí),應(yīng)嚴(yán)格按指定的寬度輸入數(shù)據(jù),且取指定寬度的第一個(gè)字符作為輸入數(shù)據(jù)。輸入形式A

B

a65b6631scanf(“%d%c%d%c”,&a,&b,&c,&d);10A20B輸入形式

交叉輸入數(shù)值數(shù)據(jù)和字符數(shù)據(jù)應(yīng)注意空格32inta,b;scanf(“%d%o”,&a,&b);a12b10若輸入:1212提示:讀入數(shù)據(jù)時(shí)是按指定的格式符讀入的理解格式符33scanf(“%d”,&a);scanf(“%c”,&b);a1b49輸入形式1134scanf(“%d”,&a);a123b49scanf(“%c”,&b);輸入形式123輸入形式12335注意:格式符要與變量類型相匹配變量類型匹配的格式符intshortlong%dshort%hdlong%ldfloat%fdouble%lfchar%cunsigned%u提示:16位編譯器輸入長(zhǎng)整型必須使用%ld36字符輸入/輸出函數(shù)變量=getchar();

從標(biāo)準(zhǔn)輸入設(shè)備上輸入一個(gè)可打印字符,并將該字符的ACSII碼作為函數(shù)的值返回。字符輸入函數(shù)字符輸出函數(shù)putchar(字符表達(dá)式);將字符表達(dá)式的值向標(biāo)準(zhǔn)輸出設(shè)備輸出。

可以是字符數(shù)據(jù)、整型數(shù)據(jù)標(biāo)準(zhǔn)輸入設(shè)備:鍵盤標(biāo)準(zhǔn)輸出設(shè)備:顯示器37#include

<stdio.h>

main(){

charch;ch=getchar();putchar(‘A’);putchar(‘A’+32);putchar(ch);putchar(ch+4);putchar(‘\n’);ch=getchar();putchar(ch)}注意:使用讀寫字符函數(shù),需在所有函數(shù)前加上此預(yù)編譯命令。ch輸入形式123輸出結(jié)果‘1’Aa15‘2’238#include

<stdio.h>

main(){

charc1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1);}輸入形式ABC注意:getchar()函數(shù)會(huì)讀入回車符和空格c1c2c3‘A’‘B’‘C’ABC回車‘B’39理解putchar(getchar()

);

將從鍵盤上讀入的字符直接輸出到顯示器上,沒(méi)有保存讀入的字符。ch=getchar();putchar(ch);

將從鍵盤上讀入的字符到變量ch中,然后輸出在現(xiàn)顯示器上。40簡(jiǎn)單程序設(shè)計(jì)41程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)

即按著程序語(yǔ)句行的自然順序,一條接一條語(yǔ)句地執(zhí)行程序。

選擇結(jié)構(gòu)

按照給定的條件,判斷是否滿足,從而決定程序的執(zhí)行方向。(if語(yǔ)句、switch語(yǔ)句)

循環(huán)結(jié)構(gòu)

指按照某種條件重復(fù)執(zhí)行程序中的某些命令序列。(for語(yǔ)句、do-while語(yǔ)句、while語(yǔ)句)42

編程實(shí)現(xiàn):從鍵盤上輸入一大寫字母,要求改用小寫字母輸出。

鍵盤輸入的字母=>ch中。將ch中的ASCII碼值變換為對(duì)應(yīng)字母的小寫

ASCII碼值。將ch中的值以字符形式輸出到屏幕上。數(shù)據(jù)結(jié)構(gòu)

定義一個(gè)字符型變量ch。算法43chA‘A’‘a(chǎn)’apleaseenter:A

main(){}charch;scanf(“%c”,&ch);ch=ch+32;printf(“%c”,ch);printf(“pleaseenter:”);44

編程實(shí)現(xiàn):從鍵盤上輸入2個(gè)整數(shù),要求互換其值輸出。交換兩個(gè)變量a、b的值的方法a=4;b=7;a=b;b=a;a=4;b=7;t=a;a=b;b=t;ab477t447445數(shù)據(jù)結(jié)構(gòu)

定義3個(gè)整型變量a、b和t。算法

從鍵盤讀入兩個(gè)整數(shù)=>變量a、b中。交換a、b變量的值。輸出a、b變量的值。46main(

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論