版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1頁(yè)第3章 程序設(shè)計(jì)初步本章概述 本章的學(xué)習(xí)目的主要內(nèi)容第2頁(yè)本章概述本章主要引見(jiàn)以下內(nèi)容:常用的輸入輸出函數(shù)簡(jiǎn)單順序構(gòu)造程序設(shè)計(jì)舉例第3頁(yè)本章的學(xué)習(xí)目的本章教學(xué)目的: 掌握賦值語(yǔ)句的運(yùn)用方法,掌握putchar、getchar、printf、scanf函數(shù)的運(yùn)用方法,能編寫(xiě)簡(jiǎn)單的程序。本章教學(xué)重點(diǎn):printf、scanf函數(shù)的運(yùn)用方法本章教學(xué)難點(diǎn):printf、scanf函數(shù)的運(yùn)用方法第4頁(yè)主要內(nèi)容3.1 C語(yǔ)句概述 3.2 順序構(gòu)造程序設(shè)計(jì) 3.3 數(shù)據(jù)的輸入與輸出 3.4 程序設(shè)計(jì)舉例第5頁(yè)3.1 C語(yǔ)句概述3.1.1 C語(yǔ)句的種類(lèi) 在C程序中,共有如下五種C語(yǔ)句組成: 1表達(dá)式語(yǔ)句
2、由一個(gè)表達(dá)式的后面加上一個(gè)分號(hào)構(gòu)成的語(yǔ)句2函數(shù)調(diào)用語(yǔ)句由函數(shù)名、實(shí)踐參數(shù)加上“;組成。其普通方式為:“函數(shù)名(實(shí)踐參數(shù)表);。第6頁(yè)3控制語(yǔ)句控制語(yǔ)句用于控制程序的流程,以實(shí)現(xiàn)程序的各種構(gòu)造方式。它們由特定的語(yǔ)句定義符組成。C言語(yǔ)有九種控制語(yǔ)句。可分成以下三類(lèi):(1) 條件判別語(yǔ)句: if語(yǔ)句、switch語(yǔ)句(2) 循環(huán)執(zhí)行語(yǔ)句: do while語(yǔ)句、while語(yǔ)句、for語(yǔ)句(3) 轉(zhuǎn)向語(yǔ)句:break語(yǔ)句、continue語(yǔ)句、goto語(yǔ)句、return語(yǔ)句 4復(fù)合語(yǔ)句把多個(gè)語(yǔ)句用括號(hào)括起來(lái)組成的語(yǔ)句稱(chēng)為復(fù)合語(yǔ)句。在程序中應(yīng)把復(fù)合語(yǔ)句看成是單條語(yǔ)句,而不是多條語(yǔ)句,例如 5空語(yǔ)句只需“
3、;組成的語(yǔ)句稱(chēng)為空語(yǔ)句第7頁(yè)3.1 C語(yǔ)句概述3.1.2 C程序的賦值語(yǔ)句闡明:1.由于在賦值符“=右邊的表達(dá)式可以是另一個(gè)賦值表達(dá)式,因此,下述方式“變量=(變量=表達(dá)式);是成立的,從而構(gòu)成嵌套的方式。其展開(kāi)之后的普通方式為:“變量=變量=表達(dá)式; 2.留意在變量闡明中給變量賦初值和賦值語(yǔ)句的區(qū)別。給變量賦初值是變量闡明的一部分,賦初值后的變量與其后的其它同類(lèi)型變量之間仍必需用逗號(hào)間隔,而賦值語(yǔ)句那么必需用分號(hào)結(jié)尾。 第8頁(yè)3.1 C語(yǔ)句概述3.在變量闡明中,不允許延續(xù)給多個(gè)變量賦初值。 如下述闡明是錯(cuò)誤的:“int a=b=c=5;,必需寫(xiě)成“int a=5,b=5,c=5;,而賦值語(yǔ)句
4、允許延續(xù)賦值。4.留意賦值表達(dá)式和賦值語(yǔ)句的區(qū)別,賦值表達(dá)式是一種表達(dá)式,它可以出如今任何允許表達(dá)式出現(xiàn)的地方,而賦值語(yǔ)句那么不能。語(yǔ)句“if(x=y+5)0) z=x;是合法的,它的功能是,假設(shè)表達(dá)式“x=y+5大于0那么z=x。語(yǔ)句“if(x=y+5;)0) z=x;是非法的,由于“x=y+5;是語(yǔ)句,不能出如今表達(dá)式中。第9頁(yè)3.2 順序構(gòu)造程序設(shè)計(jì) 通常,構(gòu)造化程序設(shè)計(jì)包括以下三種根本構(gòu)造,即順序構(gòu)造、選擇構(gòu)造和循環(huán)構(gòu)造。它們的構(gòu)造流程圖如以下圖所示:第10頁(yè)例3.1 知長(zhǎng)方形的長(zhǎng)和寬,計(jì)算其周長(zhǎng)和面積。流程圖如圖3.2所示,程序如下。#include int main() float
5、 x, y,c,area; printf(輸入長(zhǎng)和寬:); scanf(%f, %f, &x,&y); c=2*(x+y); area=x*y; printf(周長(zhǎng)是: %fn, c); printf(面積是: %fn, area); return 0;運(yùn)轉(zhuǎn)情況如下:輸入長(zhǎng)和寬:3.0,4.0周長(zhǎng)是:14.000000面積是:12.000000 圖3.2 計(jì)算周長(zhǎng)和面積的流程圖 第11頁(yè)3.3 數(shù)據(jù)的輸入與輸出 在言語(yǔ)中,一切的數(shù)據(jù)輸入輸出都是由庫(kù)函數(shù)完成的,因此都是函數(shù)調(diào)用語(yǔ)句。本節(jié)主要引見(jiàn)常用的格式輸出函數(shù)printf()、格式輸入函數(shù)scanf()及字符輸入函數(shù)getchar()、get
6、ch()和字符輸出函數(shù)putchar()。 第12頁(yè)3.3 數(shù)據(jù)的輸入與輸出 3.3.1 printf函數(shù)1 printf( )函數(shù)的普通方式 printf函數(shù)的調(diào)用格式為: printf(“格式控制串,輸出表列); “格式控制串用于指定輸出格式。它必需用雙引號(hào)括起來(lái),由格式闡明符、普通字符和本義字符組成。第13頁(yè)3.3 數(shù)據(jù)的輸入與輸出 例3.2 寫(xiě)出下面程序的輸出結(jié)果。程序代碼如下:#include int main() int a=65,b=97; printf(%d %dn,a,b); printf(%d,%dn,a,b); printf(%c,%cn,a,b); printf(a=%
7、d,b=%d,a,b); return 0;程序的輸出結(jié)果如下:65 9765,97A,aa=65,b=97 第14頁(yè)3.3 數(shù)據(jù)的輸入與輸出 2.printf函數(shù) 格式闡明(1) 整型數(shù)據(jù)輸出的格式字符 整型的輸出方式有四種:帶符號(hào)的十進(jìn)制整型方式、無(wú)符號(hào)的十進(jìn)制整型方式、無(wú)符號(hào)的十六進(jìn)制方式和無(wú)符號(hào)的八進(jìn)制方式。分別運(yùn)用格式字符d、u、x或X和o。其中x表示以小寫(xiě)方式輸出十六進(jìn)的af,X表示以大寫(xiě)方式輸出。(2) 字符型數(shù)據(jù)輸出的格式字符 在輸出字符型數(shù)據(jù)時(shí),假設(shè)要輸出一個(gè)字符,那么運(yùn)用格式字符c;假設(shè)要輸出一串字符,那么要運(yùn)用格式字符s。 第15頁(yè)3.3 數(shù)據(jù)的輸入與輸出 (3) 實(shí)型數(shù)
8、據(jù)輸出的格式字符 實(shí)型數(shù)據(jù)輸出的格式字符有f、e或E、g或G幾種方式。其中格式字符f表示以小數(shù)方式輸出實(shí)數(shù);格式字符e或E表示以指數(shù)方式輸出實(shí)數(shù);格式字符g或G表示輸出時(shí)自動(dòng)選擇運(yùn)用格式字符f或e。第16頁(yè)例3.3 寫(xiě)出下面程序的輸出結(jié)果。#include int main() int a,b; char c; float s1,s2,sum; a=65; b=-3; s1=123.4; s2=56.75; sum=s1+s2; c=A; printf(%d %c%d %o %f %c %d,a,a,b,b,sum,c,c); return 0;程序運(yùn)轉(zhuǎn)結(jié)果如下:65 A 3 177775 1
9、80.150002 A 65 第17頁(yè)3.3 數(shù)據(jù)的輸入與輸出 3本義字符 在printf()函數(shù)中,也可以運(yùn)用本義字符(在第二章中曾經(jīng)引見(jiàn)),本義字符是一個(gè)以“開(kāi)頭的字符序列。在表2.2中已列出常用的本義字符。4修飾字符 在printf( )函數(shù)中,一切的輸出格式都是以“%開(kāi)場(chǎng),再接一組有意義的字母。假想象使數(shù)據(jù)按固定的字段長(zhǎng)度輸出,可以在“%后面加上輸出長(zhǎng)度的數(shù)值。如“%3d,表示輸出十進(jìn)制整數(shù)時(shí),長(zhǎng)度共占3列;“%6.3f那么表示輸出浮點(diǎn)數(shù)時(shí),長(zhǎng)度包括小數(shù)點(diǎn)共有6列,小數(shù)點(diǎn)前占2列,小數(shù)占3列。第18頁(yè)例3.4 寫(xiě)出如下程序的執(zhí)行結(jié)果。#include int main( ) print
10、f(what do you like? ); return 0; 程序輸出結(jié)果如下:What do you like? 第19頁(yè)printf函數(shù)的修飾符第20頁(yè)例3.5 寫(xiě)出下面程序的輸出結(jié)果。#include int main( ) int i = 56, j=13; float f=12.3456; printf(i=%-4d, i); printf(j=%4dn,j); printf(f=%6.2fn,f); return 0;輸出結(jié)果如下:i=56 j= 13f= 12.35第21頁(yè)例3.6 寫(xiě)出下面程序的輸出結(jié)果。#include int main() int a=2,b=8; fl
11、oat x=123.4567, y=-567.123; char c=A; long d=1234567; unsigned long e=65535; printf(%3d%3dn,a,b); printf(%-12f,%-12fn,x,y); printf(%7.2f,%7.2fn,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%ld,%lo,%lxn,d,d,d); printf(%u,%o,%xn,e,e,e); printf(%s,%5.3sn,computer, computer); retur
12、n 0;程序的運(yùn)轉(zhuǎn)結(jié)果如下: 2 8123.456703 ,567.122986 (計(jì)算機(jī)表示實(shí)數(shù)不準(zhǔn)確, 所以顯示結(jié)果有誤差)123.46,-567.12 (列寬為7,小數(shù)點(diǎn)后取兩位)1.234567e+002, -5.67e+002A,65,101,411234567,4553207,12d68765535,177777,ffffcomputer, com (按%5.3s格式輸出“computer, 取“computer前3個(gè)字符, 列寬為5) 第22頁(yè)3.3 數(shù)據(jù)的輸入與輸出 3.3.2 scanf函數(shù)格式輸入函數(shù)scanf( )的作用是在終端設(shè)備上,以指定的格式輸入一個(gè)或多個(gè)恣意類(lèi)型的
13、數(shù)據(jù)。第23頁(yè)3.3 數(shù)據(jù)的輸入與輸出1scanf()函數(shù)的普通格式scanf( )函數(shù)的調(diào)用格式scanf“格式控制串,&變量1,&變量2,;“格式控制串用于指定輸入格式,它必需用雙引號(hào)括起來(lái),由格式闡明符、普通字符組成。格式闡明符由%和格式字符組成,用于闡明輸入數(shù)據(jù)的格式。如“%d表示按十進(jìn)制整型輸入,“%c表示按字符型輸入。普通字符是指在輸入數(shù)據(jù)時(shí)按原樣輸入的字符。而“&變量1、“&變量2等那么是當(dāng)用戶(hù)由鍵盤(pán)上輸入數(shù)據(jù)并按下回車(chē)鍵后,數(shù)據(jù)內(nèi)容就會(huì)傳送到相應(yīng)變量的內(nèi)存單元中。運(yùn)用scanf()函數(shù)時(shí)要留意的是,在變量名前面必需加上地址運(yùn)算符“&第24頁(yè)3.3 數(shù)據(jù)的輸入與輸出例3.7 由鍵
14、盤(pán)輸入兩個(gè)整數(shù)并求其平均值及總和。# include int main ( )int a,b;scanf(“%d %d, &a,&b); /*由鍵盤(pán)輸入兩個(gè)數(shù)并賦給變量a、b*/printf(“a+b=%dn,a+b); /*計(jì)算總和并輸出內(nèi)容*/printf(“(a+b)/2=%1f n,(float) (a+b)/2); /*輸出平均值*/return 0;第25頁(yè)3.3 數(shù)據(jù)的輸入與輸出第26頁(yè)3.3 數(shù)據(jù)的輸入與輸出3. 運(yùn)用scanf()函數(shù)必需留意的問(wèn)題(1)在scanf()函數(shù)“格式控制串部分中的每個(gè)格式闡明符,都必需有一個(gè)變量與之對(duì)應(yīng)。而且,格式闡明符必需求與相應(yīng)變量的類(lèi)型一致
15、。(2)scanf()中要求給出變量地址,如只給出變量名那么會(huì)出錯(cuò)。如語(yǔ)句“scanf(“%d,a);是非法的,應(yīng)改為“scanf(“%d,&a);才是合法的。(3)當(dāng)格式闡明符之間沒(méi)有任何字符時(shí),在輸入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間運(yùn)用“空格、“tab或“回車(chē)鍵作間隔;假設(shè)格式闡明符之間包含其他字符,那么輸入數(shù)據(jù)時(shí),應(yīng)輸入與這些字符一樣的字符作間隔。第27頁(yè)3.3 數(shù)據(jù)的輸入與輸出(4)可以在格式闡明符的前面指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)將自動(dòng)按此列數(shù)截取所需的數(shù)據(jù),如:scanf (“%2d%3d,&x,&y);當(dāng)用戶(hù)輸入12345時(shí),系統(tǒng)將自動(dòng)地把12賦給變量x,將345賦給變量y。這種方式也可用于
16、字符型數(shù)據(jù)的輸入。第28頁(yè)3.3 數(shù)據(jù)的輸入與輸出3.3.3 getchar、putchar及getch函數(shù)除了可以運(yùn)用scanf()函數(shù)和printf()函數(shù)進(jìn)展輸入輸出外,還可以運(yùn)用另外一些輸入與輸出字符的函數(shù)進(jìn)展輸入輸出字符。如getchar()、putchar()、getch()函數(shù)。第29頁(yè)3.3 數(shù)據(jù)的輸入與輸出1getchar()和putchar()函數(shù)利用getchar()函數(shù)可以從鍵盤(pán)上輸入一個(gè)字符,使所輸入的字符會(huì)立刻顯示出來(lái),并且當(dāng)按下回車(chē)鍵后,這個(gè)字符才會(huì)被變量接納。假設(shè)是同時(shí)輸入數(shù)個(gè)字符,getchar()函數(shù)會(huì)把第一個(gè)讀取的字符放到指定的變量中,假設(shè)是程序中運(yùn)用到其
17、它的getchar()函數(shù),這些剩余的字符那么會(huì)被其它的getchar()函數(shù)陸續(xù)傳送到其指定的變量中。第30頁(yè)3.3 數(shù)據(jù)的輸入與輸出getchar()函數(shù)的格式如下: ch=getchar( );假設(shè)要將字符變量的內(nèi)容輸出在屏幕上,可以運(yùn)用前面引見(jiàn)過(guò)的printf()函數(shù),也可以利用putchar()函數(shù)來(lái)實(shí)現(xiàn)。putchar()函數(shù)會(huì)把字符變量、常量等當(dāng)成參數(shù)傳送到函數(shù)后再輸出。putchar()函數(shù)的格式如下: putchar(ch);第31頁(yè)3.3 數(shù)據(jù)的輸入與輸出例3.8 闡明getchar()函數(shù)和putchar()函數(shù)的運(yùn)用方法。#include int main( )char
18、 ch;printf(“Input a character:);ch=getchar( ); /*輸入一個(gè)字符,并賦給變量ch*/printf(“nThe character you input is:);putchar(ch); return 0; 第32頁(yè)3.3 數(shù)據(jù)的輸入與輸出2getch()函數(shù)利用getch()函數(shù),可以從鍵盤(pán)上輸入一個(gè)字符,而不需求按下回車(chē)鍵,變量會(huì)馬上接納這個(gè)字符,屏幕上也看不到這個(gè)被輸入的字符。getch()函數(shù)經(jīng)常用于用戶(hù)不希望看到所輸入的內(nèi)容的時(shí)候,如輸入密碼等。getch()函數(shù)的格式如下: ch=getch();第33頁(yè)3.3 數(shù)據(jù)的輸入與輸出例3.9 闡明getch()函數(shù)的運(yùn)用方法。#include int main( ) char ch;printf(“Input a character:);ch=getch(); /*輸入一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)村土地流轉(zhuǎn)與購(gòu)房權(quán)益保障合同
- 2025年度農(nóng)機(jī)購(gòu)置與農(nóng)田水利建設(shè)合同3篇
- 2025年度幼兒園園所文化建設(shè)合同3篇
- 2025年度全新出售房屋買(mǎi)賣(mài)智能家居照明控制系統(tǒng)合同3篇
- 2025年度兒童主題公園墻繪項(xiàng)目合同3篇
- 2025年度公司代持協(xié)議:關(guān)于企業(yè)資產(chǎn)管理的專(zhuān)項(xiàng)合同3篇
- 二零二五年度房屋維修與節(jié)能改造綜合服務(wù)合同2篇
- 2025年工業(yè)項(xiàng)目土地使用權(quán)流轉(zhuǎn)合同范本3篇
- 二零二五年度農(nóng)機(jī)銷(xiāo)售與培訓(xùn)服務(wù)合同3篇
- 二零二五年度航空航天零部件供貨合同范本3篇
- 家用除濕機(jī)產(chǎn)業(yè)規(guī)劃專(zhuān)項(xiàng)研究報(bào)告
- 雇人放牛合同模板
- 節(jié)能降耗知識(shí)培訓(xùn)
- 人教版(2024秋)數(shù)學(xué)一年級(jí)上冊(cè) 期末綜合測(cè)試卷課件
- 牛頓迭代的并行化算法
- 2024秋期國(guó)家開(kāi)放大學(xué)本科《國(guó)際私法》一平臺(tái)在線(xiàn)形考(形考任務(wù)1至5)試題及答案
- 2023-2024學(xué)年安徽省淮北市烈山區(qū)八年級(jí)(上)期末物理試卷
- 建筑垃圾清理運(yùn)輸服務(wù)方案
- 2022-2023年北京版數(shù)學(xué)三年級(jí)上冊(cè)期末考試測(cè)試卷及答案(3套)
- 《籃球高運(yùn)球和低運(yùn)球》教案(共三篇)
- 什么是民營(yíng)經(jīng)濟(jì)
評(píng)論
0/150
提交評(píng)論