版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第四章鍵盤輸入與屏幕輸出第四章鍵盤輸入與屏幕輸出 內容提要:字符輸入輸出函數(shù)格式輸入輸出函數(shù)p 所謂輸入輸出是以計算機主機為主體而言的p 輸出:從計算機向外部輸出設備(顯示器,打印機)輸出數(shù)據(jù)。p 輸入:從輸入設備(鍵盤,鼠標,掃描儀)向計算機輸入數(shù)據(jù)。p C語言本身不提供輸入輸出語句,輸入和輸出操作是由C函數(shù)庫p 中的函數(shù)來實現(xiàn)的p 例如:字符輸入函數(shù): getchar 字符輸出函數(shù):putcharp 格式輸入函數(shù): scanf 格式輸出函數(shù): printfp 使用庫函數(shù)時,要用預編譯指令#include將有關的“頭文件”,p 即: stdio.h,包括到用戶源文件中#include 或#i
2、nclude “stdio.h”字符輸出p 字符輸出函數(shù)p- 格式:putchar(c)p- 參數(shù): c為字符或整型常量、變量或表達式p 功能:把字符c輸出到顯示器上例:先后輸出BOY三個字符。 字符輸出#include main () char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); 運行結果:BOY字符輸入p 字符輸入函數(shù)p 格式:getchar() 無參數(shù)p 功能:接收從鍵盤輸入的一個字符p 函數(shù)值為輸入的字符值p 當輸入多個字符時,多余字符作廢例:輸入單個字符。#includevoid main() c
3、har c; c=getchar(); putchar(c); putchar(n);運行程序:從鍵盤輸入字符a按Enter鍵屏幕上將顯示輸出的字符aaa字符輸入字符輸入/輸出例:從鍵盤輸入一個大寫英文字母,將其轉換為小寫字母后,再顯示到屏幕上。 #include main() char ch; printf(“press a key and then press enter:”); ch=getchar(); ch=ch+32; putchar(ch); putchar(n); 運行結果:press a key and then press enter: B bgetchar()沒有參數(shù)沒有
4、參數(shù)getchar(ch) 錯錯例:從鍵盤輸入BOY三個字符,然后把它們輸出到屏幕。解題思路:用3個getchar函數(shù)先后從鍵盤向計算機輸入BOY三個字符用putchar函數(shù)輸出字符輸入/輸出#include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); 運行結果: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();運行結果:BOY字符輸入/輸出格式化輸出p 格式輸出
7、函數(shù):p printf(“格式控制字符串”);p printf(“格式控制字符串”,輸出參數(shù)表);普通字符或轉義序列格式命令:以%開場,%(格式修飾符格式字符,用于指定輸出格式 輸出表列:要輸出的數(shù)據(jù)多個時以“,”分隔) 格式控制字符串:格式化輸出 例:printf(“press a key and then press enter:”); printf(“a=%d b=%fn”, a,b);轉義字符普通字符串格式說明輸出參數(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); 例:從鍵盤輸入一個大寫英文字母,將其轉換為小寫字母后,再將轉換后的小寫字母及十進制ASCII碼值顯示到屏幕上。結果:press a key and then press enter: B b, 98格式字符函數(shù)printf()的格式轉換說明格式字符格式字符用法用法d以帶符號十進制整數(shù)輸出o以無符號八進制整數(shù)輸出(無前導0)x以無符號十六進制整數(shù)(小寫)輸出(無前導0 x)X以無符號十六進制整數(shù)(大寫
9、)輸出(無前導0 x)u以無符號十進制整數(shù)輸出 c以字符形式輸出單個字符s輸出一個字符串f以小數(shù)形式輸出浮點數(shù)(6位小數(shù))e以標準指數(shù)形式(小寫e表示指數(shù)部分)輸出浮點數(shù)(6位小數(shù))E以標準指數(shù)形式(大寫E表示指數(shù)部分)輸出浮點數(shù)(6位小數(shù))g自動選用%f,%e中輸出寬度較小的一種格式%輸出%格式修飾符函數(shù)printf()的附加格式轉換說明格式修飾符格式修飾符用法用法llong型數(shù)據(jù),修飾d,o,x,uLlong double型數(shù)據(jù),修飾f,e,gm數(shù)據(jù)所占用的寬度(m為整數(shù))數(shù)據(jù)寬度大于m,按實際寬度輸出數(shù)據(jù)看度小于m,右靠齊,左邊多余補空格.n對實數(shù)輸出n位小數(shù)對于浮點數(shù),用于指定輸出浮點
10、數(shù)的小數(shù)位對于字符串,用于指定從字符串左側開始截取的子字符串個數(shù)hshort型數(shù)據(jù),修飾d,o,x-輸出的數(shù)據(jù)向左對齊0指定空格填0格式化輸出% - 0 m.n l/h d(x)格式說明引導符號指定左對齊輸出指定空位填0指定輸出域及精度輸出長度修正指定輸出數(shù)據(jù)類型格式字符格式修飾符%格式符格式符用來輸出十進制整數(shù)。幾種用法: :按十進制整型數(shù)據(jù)的實際長度輸出。 md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m, 則左端補以空格,若大于m,則按實際位數(shù)輸出。 例: printf(4d,4d,a, b); 若a123,d12345,則輸出結果為 123,12345 ld:輸出長整型數(shù)據(jù)。 例:
11、 long a135790;/* 定義a為長整型變量*/ printf(ld,a);%格式符格式符以八進制整數(shù)形式輸出。例:int a=-1; printf(%d,%o,a,a); -1在內存單元中的存放形式以補碼形式存放如下: 1111111111111111 輸出為: -1,177777對長整數(shù)long型可以用“l(fā)o格式輸出。還可以指定字段寬度,例:printf(8o,a); 輸出為: 177777。 (數(shù)字前有2個空格)%s格式符格式符 輸出字符串。 s。例如: printf(s,CHINA) 輸出字符串“CHINA”(不包括雙引號)。 %ms,輸出的字符串占m列,若串長大于m,則全部輸
12、出,若串長小于m,則左補空格。 %-ms,若串長小于m,字符串向左靠,右補空格。 %m. ns,輸出占m列,只取字符串中左端n個字符,字符串向右靠,左補空格。 %-m.ns,n個字符輸出在m列的左側,右補空格,若nm,m自動取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ù)包括單雙精度)有以下幾種用法: f。不指定字段寬度,由系統(tǒng)自動指定字段寬度,使整數(shù)部分全部輸出,并輸出6位小數(shù)。應當注意,在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實數(shù)的有效位數(shù)一般為7位。m.nf。指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。假設數(shù)值長度小于m,則左端補空格。-m.nf與m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補空格。 輸出實數(shù)時的有效位數(shù)。#include void main() float ,;111111.111; 222222.222;printf(f,); 例4.8 輸出實數(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ù)VC+給出小數(shù)位數(shù)為6位 指數(shù)部分占5列 小數(shù)點前必須有而且只有1位非零數(shù)字 printf(”%e”,123.456); 輸出:1.234560 e+002%m.ne printf(”%13.2e”,123.456); 輸出: 1.23e+002 (前面有4個空格)例:例: 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 表指定的存儲單元中,并按回車鍵結束例: scanf(“%d ,%f”, &a,&b);普通字符格式說明地址表格式化輸入函數(shù)scanf()的格式轉換說明格式字符格式字符用法用法d以帶符號十進制形式輸入整數(shù)數(shù)據(jù)o以八進制無符號形式輸入(無前導0)x以十六進無符號制形式輸入(無前導0 x)c以字符形式輸入單個字符s輸入字符串,以非空字符開始,遇第一個空格字符結束f以小數(shù)形式輸入
17、浮點數(shù)e以標準指數(shù)形式輸入浮點數(shù)%輸入%格式化輸入函數(shù)scanf()的附加格式轉換說明格式修飾符格式修飾符用法用法l輸入long型數(shù)據(jù),修飾d,o,x,uLlong double型數(shù)據(jù),修飾f,em數(shù)據(jù)所占用的寬度(m為整數(shù))數(shù)據(jù)寬度大于m,按實際寬度輸出數(shù)據(jù)看度小于m,右靠齊,左邊多余補空格hshort型數(shù)據(jù),修飾d,o,x*本輸入項在讀入后不賦給相應的變量留意:(1函數(shù)scanf()沒有精度修飾符.n,即用scanf()輸入實型數(shù)據(jù)時不能規(guī)定精度。 (2數(shù)據(jù)輸入遇到空格、回車符、制表符Tab)、遇到非法字符輸入,或到達輸入域寬度時認為輸入數(shù)據(jù)結束。格式化輸入% * m l/h d(x)格式
18、說明起始符號附加說明符域寬說明符長度修正輸入數(shù)據(jù)類型格式化輸入使用scanf函數(shù)應注意:(1輸入數(shù)據(jù)時不能規(guī)定精度(2如果在“格式控制字符串中儲量格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應該輸入與這些字符相同的字符(3在用%c格式輸入字符時,空格字符和轉義字符都作為有效字符輸入 例:scanf(“%c%c%c”, &c1, &c2, &c3); 輸入:a b c 則c1=a, c2=“”, c3=b 格式化輸入使用scanf函數(shù)時常見錯誤(1scanf(“%f%f%f”,a,b,c); 錯 scanf(“%f%f%f”,&a,&b,&c); 對(2scanf(“a=%f,b=%f,c=%f”&a,&b,&c); 1 3 2 錯 a=1,b=3,c=2 對 a=1 b=3 c=2 錯(3scanf(“%c%c%c”,&c1,&c2,&c3); abc 對 a b c 錯(4scanf(“%7.2f”,&a); 錯格式化輸入例: #include main() int a, b; printf(“please input a and b:”); scanf(“%2d %*2d %2d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版美發(fā)培訓學校師資聘用標準合同4篇
- 2025年度門面租賃合同電子版(含租金遞增與調整機制)
- 2025年度簽競業(yè)協(xié)議打工人財產(chǎn)保全及職業(yè)規(guī)劃合同
- 二零二五年度酒店前臺員工權益保障與勞動合同
- 二零二五年度超市與物流公司貨物扣點運輸合同
- 2025年度復雜地質條件頂管施工安全協(xié)議書
- 2025年度住宅室內裝修工程保修協(xié)議
- 2025年度簽競業(yè)協(xié)議打工人財產(chǎn)保全及心理支持合同
- 2025年度跆拳道青少年運動員培養(yǎng)合作協(xié)議
- 二零二五年度退休人員教育輔助教學勞務合同
- 2024年國家焊工職業(yè)技能理論考試題庫(含答案)
- 特魯索綜合征
- 《向心力》 教學課件
- 結構力學數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 2024年山東省泰安市高考語文一模試卷
- 北師大版物理九年級全一冊課件
- 2024年第三師圖木舒克市市場監(jiān)督管理局招錄2人《行政職業(yè)能力測驗》高頻考點、難點(含詳細答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 盆腔炎教學查房課件
- 110kv各類型變壓器的計算單
- 新概念英語課件NCE3-lesson15(共34張)
評論
0/150
提交評論