版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一節(jié) 格式化輸入輸出函數(shù) 標(biāo)準(zhǔn)函數(shù)庫中定義了一些輸入輸出函數(shù),程序在調(diào)用這些庫函數(shù)時,必須在源文件的開始處加上頭文件的“包含命令”。 格式: #include #include 庫函數(shù)頭文件名 不同的函數(shù)其頭文件不同,如輸入輸出函數(shù)所在的頭文件為:stdio.h。在頭文件中包含了與用到的函數(shù)有關(guān)的信息。文件后綴h是head的縮寫。11/4/20211 1C語言程序設(shè)計第1頁/共31頁 一、格式輸出函數(shù)一、格式輸出函數(shù) 格式: printf(“格式控制字符串”,輸出項表) printf(字符串) 功能:將輸出項的值對應(yīng)到格式控制字符串中的對應(yīng)格式說明符位置,輸出格式控制字符串。 如:print
2、f(“Hello,welcome.n”); printf(“a=%d,b=%dn”,a,b);11/4/20212 2C語言程序設(shè)計第2頁/共31頁1 1格式控制字符串格式控制字符串用一對雙引號括起來,包含以下三部分內(nèi)容。(1)按原樣輸出的字符;(2)轉(zhuǎn)義字符;(3)與輸出項對應(yīng)的“格式說明符”:要求以%開頭,格式說明符在個數(shù)和類型上應(yīng)該與輸出項相對應(yīng)。11/4/20213 3C語言程序設(shè)計第3頁/共31頁各種格式控制符列表:11/4/20214 4C語言程序設(shè)計格式符格式符輸出形式輸出形式輸出項類型輸出項類型數(shù)據(jù)輸出方式數(shù)據(jù)輸出方式-md-mo-mx-mud十進制整數(shù)o八進制整數(shù)x十六進制整
3、數(shù)u無符號整數(shù)int, shortunsigned intunsigned shortchar有-,指定的寬度內(nèi)向左對齊;無-,右對齊m表示數(shù)據(jù)的輸出寬度(即:位數(shù))。無 m 或總寬度超過位時按實際寬度輸出;不足m 位時,補空格-mld-mlo-mlx-mluld十進制整數(shù)lo八進制整數(shù)lx十六進制整數(shù)lu 無符號整數(shù)longunsigned long-m.nf-m.nef十進制小數(shù)e十進制指數(shù)自動選定格式floatdouble有-,左對齊;無-,右對齊 ;m表示數(shù)據(jù)的輸出寬度(即:位數(shù)),n 表示小數(shù)位數(shù);無 m.n 或總寬度超過時,則按實際寬度輸出;有 m.n 輸出 m 位,其中小數(shù) n
4、位;不足 m 位時,加空格g自動選定f或e格式floatdouble不輸出尾數(shù)中無效的0 ,以盡可能少地占輸出寬度。-mcc單個字符char有-,左對齊; 無-,右對齊無 m 則輸出單個字符;有 m 則輸出m 位,不足 m 位時補空格-m.nss字符串字符串有-,左對齊;無-,右對齊無 m.n 則按實際輸出全部字符串 有 m.n 則輸出前n 個字符串第4頁/共31頁 附加格式說明符: m、n 均是正整數(shù), m 主要用于控制輸出數(shù)據(jù)的總寬度,n 用于控制輸出實數(shù)的小數(shù)位數(shù)或控制輸出字符串時可以輸出的實際字符數(shù)。 對齊標(biāo)志:“-”,左對齊,右端補空格。缺省時為右對齊,左端補空格。 長度字符“l(fā)”:
5、長整型。11/4/20215 5C語言程序設(shè)計第5頁/共31頁如:long a=135790;printf(%ld,a);如果用%d輸出,就會發(fā)生錯誤,因為整型數(shù)據(jù)的范圍為3276832767,對long型數(shù)據(jù)應(yīng)當(dāng)用%ld格式輸出。對長整型數(shù)據(jù)也可以指定字段寬度,如將上面printf函數(shù)中的%ld改為%8ld,則輸出為: 135790 11/4/20216 6C語言程序設(shè)計第6頁/共31頁2 2輸出項表輸出項表printf函數(shù)中的 “輸出項表”部分由表達式組成,這些表達式應(yīng)與 “格式控制字符串”中的格式說明符的類型一一對應(yīng),若 “輸出項表”中有多個表達式,則每個表達式之間應(yīng)由逗號隔開,各輸出項
6、可以是任意合法的表達式(包括常量、變量和函數(shù)調(diào)用)。因此 printf 函數(shù)也具有計算的功能。11/4/20217 7C語言程序設(shè)計第7頁/共31頁 printf ( %dn , 100) ; /*輸出顯示100*/ printf ( %dn , 1234000+5678) ; /*輸出顯示:1239678*/ printf ( %fn , (x=123.0)+(y=0.4567) ; /*輸出顯示:123.456700*/ printf ( %6.2fn , 123.4567) ; /*輸出顯示:123.46*/ printf ( %.3fn , 123.4567) ; /*輸出顯示:123
7、.457*/ printf(“%d+%d=%d”,a,b,a+b);11/4/20218 8C語言程序設(shè)計第8頁/共31頁 說明: (1)格式控制符,按從左到右的順序,與輸出項表中的每個數(shù)據(jù)數(shù)據(jù)一一對應(yīng),且須與輸出項的數(shù)據(jù)類型一致,輸出項的值在對應(yīng)格式控制符的位置上輸出。 (2)對于實數(shù),可用%e%e,以標(biāo)準(zhǔn)指數(shù)形式標(biāo)準(zhǔn)指數(shù)形式輸出;或使用%g%g,讓系統(tǒng)系統(tǒng)根據(jù)數(shù)值的大小,自動選擇自動選擇%f或%e格式、且不輸出無意義的零。 (3)類型轉(zhuǎn)換字符x x、e e、g g,大小寫均可。大寫時,輸出數(shù)據(jù)中包含的字母也大寫。 其它類型轉(zhuǎn)換字符,必須小寫。例如,%f不能寫成%F。11/4/20219 9
8、C語言程序設(shè)計第9頁/共31頁(4)(4)準(zhǔn)確地使用轉(zhuǎn)義字符。準(zhǔn)確地使用轉(zhuǎn)義字符。特點:通常在輸出時產(chǎn)生一個控制操作。例如,轉(zhuǎn)義字符n,輸出時產(chǎn)生一個“換行”操作。printf函數(shù)實際輸出格式控制字符串的內(nèi)容,只不過將輸出項的值對應(yīng)到格式控制字符串中相應(yīng)的格式字符對應(yīng)的位置即可。11/4/20211010C語言程序設(shè)計第10頁/共31頁例:請寫出下列程序的執(zhí)行結(jié)果。#include main() int a,b; a=10;b=20; printf(“a=%dtb=%dn”,a,b); printf(“a+b=%dna-b=%dna*b=%dna/b=%dn”,a+b,a-b,a*b,a/b)
9、11/4/20211111C語言程序設(shè)計第11頁/共31頁二二. . 格式輸入函數(shù)格式輸入函數(shù)給程序提供數(shù)據(jù),可以使用:(1)賦值語句。只能賦一個固定的值,解決1 1個個特定的問題。(2)輸入函數(shù)scanf() 。能解決1 1類類特定的問題。顯然,采用scanf( )scanf( )函數(shù)函數(shù),使得程序具有更好的適應(yīng)性適應(yīng)性。11/4/20211212C語言程序設(shè)計第12頁/共31頁格式:scanf(格式控制字符串,列表);功能:按格式字符串中規(guī)定的格式,在鍵盤上輸入各輸入項的數(shù)據(jù),并依次賦給各輸入項,且具有對從輸入流中接收到的數(shù)據(jù)進行格式轉(zhuǎn)換的功能。因為要求在內(nèi)存中保存所接收到的數(shù)據(jù),因此,需
10、要提供接收數(shù)據(jù)的變量的地址。int r;scanf(“%d”,&r);11/4/20211313C語言程序設(shè)計第13頁/共31頁1 1格式控制字符串11/4/20211414C語言程序設(shè)計格式符輸入形式輸入項類型數(shù)據(jù)輸入方式mdmomxd十進制整數(shù)o八進制整數(shù)x十六進制整數(shù)int, shortunsigned intunsigned short無 m 按實際位數(shù)輸入 有 m只能輸入 m 位 不足 m 位,以 Enter 鍵或空格結(jié)束mldmlomlxld十進制整數(shù)lo八進制整數(shù)lx十六進制整數(shù)longunsigned longmfmef十進制小數(shù)e十進制指數(shù)floatdoublemlf
11、mlelf十進制小數(shù)le十進制指數(shù)floatdouble mcc單個字符char無 m僅取單個字符,以 Enter 結(jié)束有 m 輸入 m 個字符,僅取第一個 mss字符串字符串無 m 輸入字符至回車或空格結(jié)束 有 m 僅取前 m 個字符 第14頁/共31頁、輸入項地址表、輸入項地址表可以是變量首地址變量首地址、數(shù)組名數(shù)組名,或者指針變量指針變量。變量首地址的表示: & &變量名變量名地址運算符&用于取得指定變量的地址。相鄰2個輸入項首地址,用逗號分開。當(dāng)以數(shù)值格式從輸入流中讀取數(shù)據(jù)時,scanf()可以跳過空格、換行及跳格符(在輸入流中,數(shù)值型數(shù)據(jù)須以這些空白字符分隔)
12、。11/4/20211515C語言程序設(shè)計地址運算符第15頁/共31頁scanf(“%d%f”,&a,&b);當(dāng)程序執(zhí)行到輸入語句時,會停止運行,等待用戶輸入。11/4/20211616C語言程序設(shè)計第16頁/共31頁3 3說明說明(1)在 scanf函數(shù) “格式控制”部分中的每個格式說明符都必須在“地址表”中有一個變量與之對應(yīng),且類型一致。輸入的數(shù)據(jù)必須是常量,不能是表達式,而且按輸入項的前后次序順序輸入數(shù)據(jù)。 (2)在輸入數(shù)值型數(shù)據(jù)時,各數(shù)據(jù)之間要使用 “空格”、“Tab”或 “回車”鍵(Enter 鍵)作為分隔;如果格式說明符之間包含其他字符,則輸入數(shù)據(jù)時,應(yīng)輸入與這些字
13、符相同的字符做間隔(如逗號)。11/4/20211717C語言程序設(shè)計第17頁/共31頁 (3)在輸入字符型數(shù)據(jù)時,由于“空格”也作為有效字符輸入,因此,不需要用“空格”做分隔,只要輸入一個字符即可。故輸入字符型數(shù)據(jù)時,數(shù)據(jù)之間不用分隔符。 (4)在格式說明符的前面指定輸入數(shù)據(jù)所占的列數(shù)時,系統(tǒng)將自動按此列數(shù)來截取所需的數(shù)據(jù)。 (5)如果在格式控制字符串中,含有不屬于格式說明的其他字符,在輸入數(shù)據(jù)時,必須在對應(yīng)位置上原樣輸入這些字符,盡量不要包含其它字符。11/4/20211818C語言程序設(shè)計第18頁/共31頁 (6)如果在% 后有一個 “*”附加說明符,表示跳過輸入流中它對應(yīng)的數(shù)據(jù)(P29
14、)。 (7)在scanf函數(shù)中不使用u說明符,對unsigned型數(shù)據(jù),以d或o、x格式輸入。 (8)在用scanf函數(shù)輸入數(shù)據(jù)時,不能規(guī)定精度。 11/4/20211919C語言程序設(shè)計第19頁/共31頁三、字符輸入、輸出函數(shù)三、字符輸入、輸出函數(shù)1 1字符輸入函數(shù)字符輸入函數(shù) 格式: 變量=getchar() 頭文件:stdio.h 變量=getch() 頭文件:conio.h 功能:用于從鍵盤輸入一個字符。 前者的執(zhí)行過程:執(zhí)行到此將等待輸入,只有當(dāng)用戶輸入字符,并按 Enter鍵后,才接收輸入的第 1 個字符,并在屏幕上回顯該字符,同時送到內(nèi)存的緩沖區(qū),賦給指定的變量。并且對空格符、制
15、表符(Tab 鍵)和回車符(Enter 鍵)都被當(dāng)作有效字符讀入。11/4/20212020C語言程序設(shè)計第20頁/共31頁 getch()函數(shù)是立即接收用戶來自鍵盤上的輸入(不等按下回車),不把字符回顯到屏幕上。2 2字符輸出函數(shù)字符輸出函數(shù) 格式:putchar(字符表達式) 功能:將指定字符表達式的值在標(biāo)準(zhǔn)輸出設(shè)備(通常是顯示器)上輸出??梢允亲址A俊⒆址兞炕蛘捅磉_式,其功能等價于:printf(%c,ch)。 11/4/20212121C語言程序設(shè)計第21頁/共31頁#include main() char c; c=getchar(); /*從鍵盤讀入字符直到回車結(jié)束*/ pu
16、tchar(c); /*顯示輸入的第一個字符*/ printf(Press any key to continue.); getch(); /*等待按任一健*/ 11/4/20212222C語言程序設(shè)計第22頁/共31頁 第二節(jié)順序結(jié)構(gòu)程序設(shè)計第二節(jié)順序結(jié)構(gòu)程序設(shè)計 一、順序結(jié)構(gòu)程序一、順序結(jié)構(gòu)程序 一般包括兩部分: 1程序開頭的編譯預(yù)處理命令編譯預(yù)處理命令。 如果要在程序中使用標(biāo)準(zhǔn)庫函數(shù),則必須使用編譯預(yù)處理命令#include#include,將相應(yīng)的頭文件包含進來。11/4/20212323C語言程序設(shè)計第23頁/共31頁2函數(shù)體(1)變量定義語句;(2)輸入語句;(3)運算語句;(4)
17、輸出語句。 3執(zhí)行流程各語句是按照出現(xiàn)的次序,被順序執(zhí)行,且每個語句都會被執(zhí)行到11/4/20212424C語言程序設(shè)計第24頁/共31頁二、賦值語句賦值語句是由賦值表達式加上一個分號構(gòu)成。一個程序用得最多的語句是賦值語句。例:輸入三角形的三邊長,求三角形面積。設(shè)輸入的三邊長a、b、c能構(gòu)成三角形。從數(shù)學(xué)知識已知求三角形面積的公式為:area=(s*(s-a)*(s-b)*(s-c);其中s=(a+b+c)/2。11/4/20212525C語言程序設(shè)計第25頁/共31頁 #include #include main() float a,b,c,s,area; scanf(“%f,%f,%f”,
18、&a,&b,&c);/*注意輸入數(shù)據(jù)的分隔*/ s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area); 11/4/20212626C語言程序設(shè)計第26頁/共31頁 運行情況如下: 3,4,6 a= 3.00,b= 4.00,c= 6.00,s= 6.50 area= 5.33 程序說明:程序中sqrt()是求平方根的函數(shù)。 由于要調(diào)用數(shù)學(xué)函數(shù)庫中的函數(shù),必須在程序的開頭加一條#include命令,把文件math.h包含到程序中。 請注意,以后凡在程序中要用到數(shù)學(xué)函數(shù)庫中的函數(shù),都應(yīng)當(dāng)包含math.h頭文件。11/4/20212
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版八年級物理下冊《7.1力》同步測試題有答案
- 云南省昭通市2024年中考模擬預(yù)測數(shù)學(xué)模擬預(yù)測題附答案
- 科學(xué)育種技術(shù)優(yōu)化作物抗病蟲害能力
- 繼續(xù)教育八大員施工員(設(shè)備安裝)考試題目+答案資料
- 中國糧食生產(chǎn)現(xiàn)狀及需求預(yù)測
- 高一化學(xué)鞏固練習(xí):第一章從實驗學(xué)化學(xué)全章復(fù)習(xí)與鞏固提高
- 2024屆金昌市重點中學(xué)高考仿真卷化學(xué)試卷含解析
- 2024高中地理第2章區(qū)域可持續(xù)發(fā)展第5節(jié)礦產(chǎn)資源合理開發(fā)和區(qū)域可持續(xù)發(fā)展學(xué)案湘教版必修3
- 2024高中物理第三章傳感器第一節(jié)認(rèn)識傳感器第二節(jié)傳感器的原理達標(biāo)作業(yè)含解析粵教版選修3-2
- 2024高中語文第5單元莊子蚜第5課惡乎往而不可訓(xùn)練含解析新人教版選修先秦諸子蚜
- 八年級散文閱讀專題訓(xùn)練-八年級語文上冊知識梳理與能力訓(xùn)練
- 2024年杭州市中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024-2025學(xué)年人教版八年級數(shù)學(xué)上冊期末測試模擬試題(含答案)
- 《環(huán)境感知技術(shù)》2024年課程標(biāo)準(zhǔn)(含課程思政設(shè)計)
- GB/T 45079-2024人工智能深度學(xué)習(xí)框架多硬件平臺適配技術(shù)規(guī)范
- GB/T 25772-2010滾動軸承鐵路客車軸承
- GB 31247-2014電纜及光纜燃燒性能分級
- 士卓曼種植系統(tǒng)外科植入流程課件
- 二年級下冊《一起長大的玩具》導(dǎo)讀教學(xué)-一場別樣的童年之旅
- 二尖瓣狹窄并關(guān)閉不全共17張課件
- 心臟瓣膜病護理課件
評論
0/150
提交評論