版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)主編:連衛(wèi)民 何 櫻第3章 順序結(jié)構(gòu)程序設(shè)計(jì)本章主要內(nèi)容:3.1 格式化輸出printf()(重點(diǎn))3.2 格式化輸入scanf()(重點(diǎn))3.3 字符的輸入輸出3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例本章教學(xué)要求:熟悉順序結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn) 掌握格式化輸入輸出函數(shù)的使用方法3.1 格式化輸出printf()3.1.1 printf的一般格式格式:printf(格式控制,輸出表列);1格式控制 格式控制是用雙引號括起來的字符串,它包括格式說明和普通字符兩部分。(1)格式說明 格式說明由“%”和格式字符組成,它的作用是說明計(jì)算機(jī)中的數(shù)值將以何種形式顯示在屏幕上。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1
2、格式化輸出printf()(2)普通字符 普通字符是需要原樣輸出的字符。如:x=、y= 。普通字符的使用使輸出結(jié)果更加清晰、易懂。比如,輸出結(jié)果x=5就比只輸出5更容易使人理解。例如: float x; printf(x=%fn,x);第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()2 輸出表列 輸出表列是需要輸出的數(shù)據(jù),它可以是常量、變量或表達(dá)式,各輸出項(xiàng)之間以逗號作為間隔。執(zhí)行printf函數(shù)時(shí)輸出項(xiàng)將按格式符指定的格式輸出?!纠?-1】分析下列程序的執(zhí)行結(jié)果。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()3.1.2 格式字符C語言中的格式字符主要有以下幾種,如表3-
3、1所示。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf() 1輸出整型數(shù)據(jù)的格式字符d:按整型數(shù)據(jù)的實(shí)際長度輸出。md:m為指定的輸出寬度。若數(shù)據(jù)位數(shù)小于m,當(dāng)m為正數(shù)時(shí),則左端補(bǔ)空格;當(dāng)m為負(fù)數(shù)時(shí),則右端補(bǔ)空格。若數(shù)據(jù)位數(shù)大于m,按實(shí)際位數(shù)輸出。ld:用于輸出長整型數(shù)據(jù)。o:以八進(jìn)制數(shù)形式輸出。x:以十六進(jìn)制數(shù)形式輸出。u:以無符號型整數(shù)形式輸出。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-2】#include int main() int a,b; a=123,b=12345; printf(*%d*,*%d*n,a,b); printf(*%5d*,*%4d
4、*n,a,b); printf(*%-5d*,*%-4d*n,a,b); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-3】#include int main() long x; x=123456; printf(%ldn,x); return 0;程序運(yùn)行結(jié)果:123456第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-4】 #include int main() int a,b,c; a=10;b=010;c=0 x10; printf(%d,%o,%xn,a,b,c); printf(%d,%d,%dn,a,b,c); return
5、 0; 程序運(yùn)行結(jié)果:10,10,1010,8,16第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-5】#include int main() unsigned int a; a=4294967295; printf(%u,%dn,a,a); return 0;程序運(yùn)行結(jié)果:4294967295,-1第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()2輸出實(shí)型數(shù)據(jù)的格式字符f:以小數(shù)形式輸出實(shí)數(shù),保留6位小數(shù)。m.nf:輸出數(shù)據(jù)共占m位,其中有n位小數(shù),小數(shù)點(diǎn)占1位。如果數(shù)據(jù)長度小于m,則左端補(bǔ)空格,即數(shù)據(jù)右對齊;-m.nf: 當(dāng)數(shù)據(jù)長度小于m時(shí),右端補(bǔ)空格,即數(shù)據(jù)左
6、對齊?!纠?-6】第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-7】 #include int main() float x=123.456; printf(%fn,x); printf(*%-10.3f*n,x); printf(*%10.1f*n,x); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf()【例3-8】#include int main() float r=2.5,s; s=3.14*r*r; printf(s=%fn,s); printf(s=%.2fn,s); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出pri
7、ntf() 3輸出字符型數(shù)據(jù)的格式符c:輸出單個(gè)字符。mc:按指定寬度m輸出字符。若m為正值,則輸出字符右對齊;若m為負(fù)值,則輸出字符左對齊?!纠?-9】第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.1 格式化輸出printf() 4輸出字符串的格式符s:按實(shí)際長度輸出字符串。ms:按指定寬度m輸出字符串。當(dāng)m為正數(shù)時(shí),字符串右對齊輸出;m為負(fù)數(shù)時(shí),字符串左對齊輸出;如果m小于字符串長度,則按實(shí)際長度輸出。m.ns:只輸出字符串的前n個(gè)字符,共占m列。當(dāng)m為正數(shù)時(shí),字符串右對齊輸出;m為負(fù)數(shù)時(shí),字符串左對齊輸出。【例3-10】第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()3.2.1 scanf的一般格
8、式格式:scanf(格式字符,地址表列); 例如:scanf(%d,&a);說明:(1)“地址表列”是變量的內(nèi)存地址,它是通過對變量的“求地址”運(yùn)算得到的,“”就是求地址運(yùn)算符。(2)scanf函數(shù)也使用格式符,格式符的作用是表示用戶想要將輸入的文本轉(zhuǎn)換為何種形式存儲在內(nèi)存中。第3章 順序結(jié)構(gòu)的程序設(shè)計(jì)第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()3.2.2 scanf的用法1整型、實(shí)型數(shù)據(jù)的輸入scanf(“%d,%d,%d”,&a,&b,&c);scanf(%d%d%d,&a,&b,&c); 如果格式符之間以逗號間隔,則輸入的數(shù)據(jù)間也要以逗號間隔。 比如,要給變量a、b、c分別賦
9、值1、2、3,則在執(zhí)行時(shí)輸入數(shù)據(jù)如下: 1,2,3第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-11】#include int main()int a,b;float c,d;scanf(%d,%d,&a,&b);scanf(%f,%f,&c,&d);printf(%d,%d,%.1f,%.1fn,a,b,c,d); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-12】#include int main()float a,b;scanf(%f%f,&a,&b);printf(a=%.1f b=%.1fn,a,b); return 0;程序運(yùn)
10、行結(jié)果:2.5凵 2.6a=2.5 b=2.6第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()(3)scanf(a=%d,b=%d,&a,&b); 若要給a、b分別賦值為1、2,則運(yùn)行時(shí)輸入: a=1,b=2【例3-13】#include int main()int a,b,c,d;scanf(a=%d,b=%dn,&a,&b);scanf(c:%d,d:%d,&c,&d);printf(%d %d %d %dn,a,b,c,d); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-14】#include int main()int a;printf(輸
11、入年齡:);scanf(%d,&a);printf(年齡:%dn,a); return 0;程序運(yùn)行結(jié)果:輸入年齡:10年齡:10第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()2字符型數(shù)據(jù)的輸入scanf(%c,%c,%c,&a,&b,&c); 在字符輸入時(shí),如果scanf中的格式符間以逗號間隔,輸入數(shù)據(jù)時(shí),字符間也以逗號間隔。scanf(“%c%c%c”,&a,&b,&c); 在字符輸入時(shí),如果scanf中的格式符間沒有間隔,輸入數(shù)據(jù)時(shí),字符要連續(xù)輸入。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-15】#include int main()char a,b,c;
12、scanf(%c,%c,%c,&a,&b,&c);printf(%c%c%cn,a,b,c); return 0;第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-16】#include int main()char a,b,c;scanf(%c%c%c,&a,&b,&c);printf(%c%c%cn,a,b,c); return 0;程序運(yùn)行結(jié)果:youyou第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.2 格式化輸入scanf()【例3-17】編寫程序,求圓面積。分析:圓面積的計(jì)算公式為:s=r2,因?yàn)殒I盤上不能輸入,所以用3.14代替。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.3 字符的輸入輸出getc
13、har()和putchar()3.3.1 getchar函數(shù)格式:變量=getchar();【例3-18】第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.3 字符的輸入輸出getchar()和putchar()3.3.2 putchar函數(shù)格式:putchar(c);【例3-19】第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例【例3-20】求一元二次方程ax2+bx+c=0的根。 分析: 要用計(jì)算機(jī)解方程,必須給出求解方程的算法,對于一元二次方程ax2+bx+c=0來說,就是要給出求根公式。給公式中的變量賦值,計(jì)算機(jī)就可以求出方程的根了。 因?yàn)榍蟾街杏玫搅似椒礁瘮?shù)sqrt(x),所以程序必須將數(shù)學(xué)頭文
14、件:math.h包含到程序中。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 【例3-21】輸入任意三個(gè)整數(shù),求和及平均值。分析: 編寫該程序時(shí),有兩個(gè)地方需要注意: 定義變量時(shí),平均值變量aver要定義為實(shí)型,不能定義為整型,否則誤差太大。求平均值時(shí),sum除以實(shí)數(shù)3.0,而不是除以整數(shù)3,如果除數(shù)和被除數(shù)都是整數(shù),那么商也將是一個(gè)整數(shù),這樣也會造成誤差大的錯(cuò)誤。第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 【例3-22】從鍵盤輸入一個(gè)小寫字母,將其轉(zhuǎn)換為大寫字母輸出。分析: 大寫字母的ASCII碼值等于小寫字母的ASCII碼值減32。 第3章 順序結(jié)構(gòu)程序設(shè)計(jì)3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 【例3-23】輸入三角形的三條邊,求三角形面積。三角形面積的計(jì)算公式為:分析: 為簡單起見,設(shè)輸入的三條邊a
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院滿意度培訓(xùn)
- 光伏發(fā)電培訓(xùn)資料
- 福建省莆田市涵江區(qū)實(shí)驗(yàn)小學(xué)2023-2024學(xué)年三年級上學(xué)期期末檢測數(shù)學(xué)試題
- T-XMSSAL 0110-2024 供廈食品 蘆筍
- 期中模擬試卷(1-4單元) (試題)-2024-2025學(xué)年六年級上冊數(shù)學(xué)北師大版
- 語文學(xué)習(xí)任務(wù)群的解讀及設(shè)計(jì)要領(lǐng)
- 余靜無機(jī)化學(xué)酸堿平衡
- 部編版六年級語文上冊第七單元《京劇趣談》教學(xué)課件
- 高中語文第11課師說課件5新人教版必修
- 路基石方填筑試驗(yàn)路段施工總結(jié)-
- 《外科縫合術(shù)》教學(xué)課件
- 小學(xué)數(shù)學(xué)西南師大三年級上冊四兩位數(shù)除以一位數(shù)的除法 兩位數(shù)除以一位數(shù)的除法問題解決
- 無機(jī)及分析化學(xué)考試題(附答案)
- 一年級數(shù)學(xué)找規(guī)律練習(xí)題
- 農(nóng)業(yè)生態(tài)學(xué)全套課件
- 普通高校大學(xué)生信息素養(yǎng)大賽考試題庫(濃縮500題)
- 湘教湘科版科學(xué)(2017)六年級上冊期中測試卷及答案
- 模板支撐體系工程施工方案
- 部編版五年級上冊語文閱讀理解及答案
- 江蘇省蘇州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 整體道床施工作業(yè)指導(dǎo)書模板
評論
0/150
提交評論