版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章鍵盤輸入與屏幕輸出第四章鍵盤輸入與屏幕輸出 內(nèi)容提要:字符輸入輸出函數(shù)格式輸入輸出函數(shù)p 所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的p 輸出:從計(jì)算機(jī)向外部輸出設(shè)備(顯示器,打印機(jī))輸出數(shù)據(jù)。p 輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計(jì)算機(jī)輸入數(shù)據(jù)。p C語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入和輸出操作是由C函數(shù)庫(kù)p 中的函數(shù)來實(shí)現(xiàn)的p 例如:字符輸入函數(shù): getchar 字符輸出函數(shù):putcharp 格式輸入函數(shù): scanf 格式輸出函數(shù): printfp 使用庫(kù)函數(shù)時(shí),要用預(yù)編譯指令#include將有關(guān)的“頭文件”,p 即: stdio.h,包括到用戶源文件中#include 或#i
2、nclude “stdio.h”字符輸出p 字符輸出函數(shù)p- 格式:putchar(c)p- 參數(shù): c為字符或整型常量、變量或表達(dá)式p 功能:把字符c輸出到顯示器上例:先后輸出BOY三個(gè)字符。 字符輸出#include main () char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); 運(yùn)行結(jié)果:BOY字符輸入p 字符輸入函數(shù)p 格式:getchar() 無參數(shù)p 功能:接收從鍵盤輸入的一個(gè)字符p 函數(shù)值為輸入的字符值p 當(dāng)輸入多個(gè)字符時(shí),多余字符作廢例:輸入單個(gè)字符。#includevoid main() c
3、har c; c=getchar(); putchar(c); putchar(n);運(yùn)行程序:從鍵盤輸入字符a按Enter鍵屏幕上將顯示輸出的字符aaa字符輸入字符輸入/輸出例:從鍵盤輸入一個(gè)大寫英文字母,將其轉(zhuǎn)換為小寫字母后,再顯示到屏幕上。 #include main() char ch; printf(“press a key and then press enter:”); ch=getchar(); ch=ch+32; putchar(ch); putchar(n); 運(yùn)行結(jié)果:press a key and then press enter: B bgetchar()沒有參數(shù)沒有
4、參數(shù)getchar(ch) 錯(cuò)錯(cuò)例:從鍵盤輸入BOY三個(gè)字符,然后把它們輸出到屏幕。解題思路:用3個(gè)getchar函數(shù)先后從鍵盤向計(jì)算機(jī)輸入BOY三個(gè)字符用putchar函數(shù)輸出字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); 運(yùn)行結(jié)果:BOY字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putch
5、ar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();putchar(getchar();字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putch
6、ar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();putchar(getchar();putchar(getchar();字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();putchar(getchar();putchar(getchar();運(yùn)行結(jié)果:BOY字符輸入/輸出格式化輸出p 格式輸出
7、函數(shù):p printf(“格式控制字符串”);p printf(“格式控制字符串”,輸出參數(shù)表);普通字符或轉(zhuǎn)義序列格式命令:以%開場(chǎng),%(格式修飾符格式字符,用于指定輸出格式 輸出表列:要輸出的數(shù)據(jù)多個(gè)時(shí)以“,”分隔) 格式控制字符串:格式化輸出 例:printf(“press a key and then press enter:”); printf(“a=%d b=%fn”, a,b);轉(zhuǎn)義字符普通字符串格式說明輸出參數(shù)表 例:printf(“welcomentonBeijing!n”);輸出:welcome to Beijing!格式化輸出# include main() char c
8、h; printf(“press a key and then press enter:”); ch=getchar(); ch=ch+32; printf(“%c, %dn”, ch, ch); 例:從鍵盤輸入一個(gè)大寫英文字母,將其轉(zhuǎn)換為小寫字母后,再將轉(zhuǎn)換后的小寫字母及十進(jìn)制ASCII碼值顯示到屏幕上。結(jié)果:press a key and then press enter: B b, 98格式字符函數(shù)printf()的格式轉(zhuǎn)換說明格式字符格式字符用法用法d以帶符號(hào)十進(jìn)制整數(shù)輸出o以無符號(hào)八進(jìn)制整數(shù)輸出(無前導(dǎo)0)x以無符號(hào)十六進(jìn)制整數(shù)(小寫)輸出(無前導(dǎo)0 x)X以無符號(hào)十六進(jìn)制整數(shù)(大寫
9、)輸出(無前導(dǎo)0 x)u以無符號(hào)十進(jìn)制整數(shù)輸出 c以字符形式輸出單個(gè)字符s輸出一個(gè)字符串f以小數(shù)形式輸出浮點(diǎn)數(shù)(6位小數(shù))e以標(biāo)準(zhǔn)指數(shù)形式(小寫e表示指數(shù)部分)輸出浮點(diǎn)數(shù)(6位小數(shù))E以標(biāo)準(zhǔn)指數(shù)形式(大寫E表示指數(shù)部分)輸出浮點(diǎn)數(shù)(6位小數(shù))g自動(dòng)選用%f,%e中輸出寬度較小的一種格式%輸出%格式修飾符函數(shù)printf()的附加格式轉(zhuǎn)換說明格式修飾符格式修飾符用法用法llong型數(shù)據(jù),修飾d,o,x,uLlong double型數(shù)據(jù),修飾f,e,gm數(shù)據(jù)所占用的寬度(m為整數(shù))數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)看度小于m,右靠齊,左邊多余補(bǔ)空格.n對(duì)實(shí)數(shù)輸出n位小數(shù)對(duì)于浮點(diǎn)數(shù),用于指定輸出浮點(diǎn)
10、數(shù)的小數(shù)位對(duì)于字符串,用于指定從字符串左側(cè)開始截取的子字符串個(gè)數(shù)hshort型數(shù)據(jù),修飾d,o,x-輸出的數(shù)據(jù)向左對(duì)齊0指定空格填0格式化輸出% - 0 m.n l/h d(x)格式說明引導(dǎo)符號(hào)指定左對(duì)齊輸出指定空位填0指定輸出域及精度輸出長(zhǎng)度修正指定輸出數(shù)據(jù)類型格式字符格式修飾符%格式符格式符用來輸出十進(jìn)制整數(shù)。幾種用法: :按十進(jìn)制整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。 md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m, 則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。 例: printf(4d,4d,a, b); 若a123,d12345,則輸出結(jié)果為 123,12345 ld:輸出長(zhǎng)整型數(shù)據(jù)。 例:
11、 long a135790;/* 定義a為長(zhǎng)整型變量*/ printf(ld,a);%格式符格式符以八進(jìn)制整數(shù)形式輸出。例:int a=-1; printf(%d,%o,a,a); -1在內(nèi)存單元中的存放形式以補(bǔ)碼形式存放如下: 1111111111111111 輸出為: -1,177777對(duì)長(zhǎng)整數(shù)long型可以用“l(fā)o格式輸出。還可以指定字段寬度,例:printf(8o,a); 輸出為: 177777。 (數(shù)字前有2個(gè)空格)%s格式符格式符 輸出字符串。 s。例如: printf(s,CHINA) 輸出字符串“CHINA”(不包括雙引號(hào))。 %ms,輸出的字符串占m列,若串長(zhǎng)大于m,則全部輸
12、出,若串長(zhǎng)小于m,則左補(bǔ)空格。 %-ms,若串長(zhǎng)小于m,字符串向左靠,右補(bǔ)空格。 %m. ns,輸出占m列,只取字符串中左端n個(gè)字符,字符串向右靠,左補(bǔ)空格。 %-m.ns,n個(gè)字符輸出在m列的左側(cè),右補(bǔ)空格,若nm,m自動(dòng)取n值。例例4.54.5字符串的輸出。字符串的輸出。#include#includevoid main()void main() printf(“%3sn%7.2sn%.4sn%-5.3sn”, printf(“%3sn%7.2sn%.4sn%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”);“CHINA”, “CHINA”, “CH
13、INA”, “CHINA”); %格式符格式符用來以小數(shù)形式輸出實(shí)數(shù)包括單雙精度)有以下幾種用法: f。不指定字段寬度,由系統(tǒng)自動(dòng)指定字段寬度,使整數(shù)部分全部輸出,并輸出6位小數(shù)。應(yīng)當(dāng)注意,在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實(shí)數(shù)的有效位數(shù)一般為7位。m.nf。指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。假設(shè)數(shù)值長(zhǎng)度小于m,則左端補(bǔ)空格。-m.nf與m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。 輸出實(shí)數(shù)時(shí)的有效位數(shù)。#include void main() float ,;111111.111; 222222.222;printf(f,); 例4.8 輸出實(shí)數(shù)時(shí)指定小數(shù)位數(shù)。
14、#include void ain() float f=123.456; printf(“%fn%10fn%10.2fn%.2fn%-10.2fn”,f,f,f,f,f); %e%e格式符格式符指定以指數(shù)形式輸出實(shí)數(shù)VC+給出小數(shù)位數(shù)為6位 指數(shù)部分占5列 小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字 printf(”%e”,123.456); 輸出:1.234560 e+002%m.ne printf(”%13.2e”,123.456); 輸出: 1.23e+002 (前面有4個(gè)空格)例:例: m.n m.n格式化輸出例:int a=1234; float f=123.456; char ch=a;
15、printf(“%8dn%2dn”,a,a); printf(“%fn%8fn%8.1fn%.2fn%.2en”,f,f,f,f,f); printf(“%3cn”,ch);例:例: - -格式化輸出 int a=1234; float f=123.456; static char c=“Hello,world!”; printf(“%8dn%-8dn”,a,a); printf(“%10.2fn%-10.1fn”,f,f); printf(“%10.5sn%-10.3sn”,c,c);格式化輸出printf(”%f”,1.0/3);printf(%20.15f,1/3);printf(%.0
16、f”,10000/3.0);printf(%e,123.456);格式化輸入p 格式輸入函數(shù):p 格式:scanf(“格式控制字符串”,&參數(shù)地址表);p 功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址 p 表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束例: scanf(“%d ,%f”, &a,&b);普通字符格式說明地址表格式化輸入函數(shù)scanf()的格式轉(zhuǎn)換說明格式字符格式字符用法用法d以帶符號(hào)十進(jìn)制形式輸入整數(shù)數(shù)據(jù)o以八進(jìn)制無符號(hào)形式輸入(無前導(dǎo)0)x以十六進(jìn)無符號(hào)制形式輸入(無前導(dǎo)0 x)c以字符形式輸入單個(gè)字符s輸入字符串,以非空字符開始,遇第一個(gè)空格字符結(jié)束f以小數(shù)形式輸入
17、浮點(diǎn)數(shù)e以標(biāo)準(zhǔn)指數(shù)形式輸入浮點(diǎn)數(shù)%輸入%格式化輸入函數(shù)scanf()的附加格式轉(zhuǎn)換說明格式修飾符格式修飾符用法用法l輸入long型數(shù)據(jù),修飾d,o,x,uLlong double型數(shù)據(jù),修飾f,em數(shù)據(jù)所占用的寬度(m為整數(shù))數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)看度小于m,右靠齊,左邊多余補(bǔ)空格hshort型數(shù)據(jù),修飾d,o,x*本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量留意:(1函數(shù)scanf()沒有精度修飾符.n,即用scanf()輸入實(shí)型數(shù)據(jù)時(shí)不能規(guī)定精度。 (2數(shù)據(jù)輸入遇到空格、回車符、制表符Tab)、遇到非法字符輸入,或到達(dá)輸入域?qū)挾葧r(shí)認(rèn)為輸入數(shù)據(jù)結(jié)束。格式化輸入% * m l/h d(x)格式
18、說明起始符號(hào)附加說明符域?qū)捳f明符長(zhǎng)度修正輸入數(shù)據(jù)類型格式化輸入使用scanf函數(shù)應(yīng)注意:(1輸入數(shù)據(jù)時(shí)不能規(guī)定精度(2如果在“格式控制字符串中儲(chǔ)量格式說明以外還有其它字符,則在輸入數(shù)據(jù)時(shí)應(yīng)該輸入與這些字符相同的字符(3在用%c格式輸入字符時(shí),空格字符和轉(zhuǎn)義字符都作為有效字符輸入 例:scanf(“%c%c%c”, &c1, &c2, &c3); 輸入:a b c 則c1=a, c2=“”, c3=b 格式化輸入使用scanf函數(shù)時(shí)常見錯(cuò)誤(1scanf(“%f%f%f”,a,b,c); 錯(cuò) scanf(“%f%f%f”,&a,&b,&c); 對(duì)(2scanf(“a=%f,b=%f,c=%f”&a,&b,&c); 1 3 2 錯(cuò) a=1,b=3,c=2 對(duì) a=1 b=3 c=2 錯(cuò)(3scanf(“%c%c%c”,&c1,&c2,&c3); abc 對(duì) a b c 錯(cuò)(4scanf(“%7.2f”,&a); 錯(cuò)格式化輸入例: #include main() int a, b; printf(“please input a and b:”); scanf(“%2d %*2d %2d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手注塑機(jī)2024年度購(gòu)銷合同范本2篇帶眉腳
- 2025版冷鏈物流貨車承包經(jīng)營(yíng)合同范本3篇
- 2025年高端裝備制造業(yè)貨物采購(gòu)運(yùn)輸合同3篇
- 二零二五年度2025場(chǎng)現(xiàn)代農(nóng)業(yè)科技應(yīng)用推廣合同3篇
- 二零二五年度城市綠化項(xiàng)目承包經(jīng)營(yíng)合同賠償細(xì)則3篇
- 2025版建筑工程施工安全管理技術(shù)咨詢合同示范文本
- 二零二五年度彩鋼板房拆除工程廢棄物處置與資源化利用協(xié)議2篇
- 二零二五年度隧道工程安裝施工合同6篇
- 二零二五年度人工智能倫理與隱私保護(hù)合同法解讀
- 2025年度新型木材加工鋼材買賣居間服務(wù)與技術(shù)支持合同4篇
- 特魯索綜合征
- 《向心力》 教學(xué)課件
- 結(jié)構(gòu)力學(xué)數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 2024年山東省泰安市高考語(yǔ)文一模試卷
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 110kv各類型變壓器的計(jì)算單
- 新概念英語(yǔ)課件NCE3-lesson15(共34張)
評(píng)論
0/150
提交評(píng)論