C語言實例教程(第3版)課件 單元四 格式化輸入輸出_第1頁
C語言實例教程(第3版)課件 單元四 格式化輸入輸出_第2頁
C語言實例教程(第3版)課件 單元四 格式化輸入輸出_第3頁
C語言實例教程(第3版)課件 單元四 格式化輸入輸出_第4頁
C語言實例教程(第3版)課件 單元四 格式化輸入輸出_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C程序設計單元四格式化輸入輸出格式化輸入scanf()函數(shù)介紹scanf()格式控制符0102CONTENT格式化輸入案例03格式化輸入是什么?scanf()函數(shù)是通用終端格式化輸入函數(shù),按指定格式依次讀取用戶從鍵盤上輸入的一系列數(shù)據(jù),并按對應的格式賦值給一系列內存變量。scanf()函數(shù)介紹:

scanf("<格式化字符串>",<地址表>);scanf()語法格式:案例1:輸入abc三個值1:#include<stdio.h>或#include“stdio.h”

在使用C語言庫函數(shù)時,要用預編譯命令#include將有關“頭文件”引入源文件中,使用標準輸入輸出時要用到“stdio.h”文件,因此如需引入如上預編譯指令。

兩種寫法的區(qū)別:

前者:系統(tǒng)將直接在系統(tǒng)的庫文件目錄下去找stdio.h文件;后者:先在用戶當前目錄下找,沒有再去系統(tǒng)庫文件目錄下找。

案例1解析:2:scanf("%d%d%d",&a,&b,&c);

格式化字符串沒有非格式化字符作為輸入數(shù)據(jù)的間隔,則可以使用空格、TAB、回車作為輸入數(shù)據(jù)的間隔。格式化字符串“%d%d%d”沒有指定數(shù)據(jù)間隔,因此輸入數(shù)據(jù)時,我們用空格分隔。如果使用“

,

”來分隔格式串,“%d,%d,%d”

相應的輸入時也要添加“

,”。案例1解析:3:scanf("%d%d%d",&a,&b,&c);&a,&b,&c,其中&表示地址運算符,&a表示變量a的地址,例如x=666;x是變量名,666是變量值,&x表示存值的。為什么scanf的輸入變量需要加&?因為scanf需要的是指針變量(因此指針變量不需要地址符),而普通變量需要通過地址符轉譯為指針使用。案例1解析:格式控制符的一般形式:%【*】【輸入數(shù)據(jù)寬度】【長度】【類型】格式控制符:“*”:用來表示跳過相應寬度的數(shù)據(jù)。格式控制符:將“12”賦給a,“67”賦給b。第二個數(shù)據(jù)“345”被跳過不賦給任何變量?!癿”:表示輸入的寬度,系統(tǒng)自動按它截取所需數(shù)據(jù)。格式控制符:系統(tǒng)自動將123賦給a,456賦給b?!伴L度”:格式符為l和h,l表示長整性數(shù)據(jù)(如%ld)和雙精度浮點數(shù)(如%lf),h表示短整型數(shù)據(jù)。格式控制符:數(shù)據(jù)類型:部分常用字符格式如下:%d:讀入十進制整數(shù)%f:讀入一個浮點數(shù)%s:讀入一個字符串%c:讀入一個字符

%x,%X

讀入十六進制整數(shù)%o:

讀入八進制整數(shù)%p:讀入一個指針

練習題:1.根據(jù)格式字符的含義從輸入流中獲取數(shù)據(jù),當輸入流中數(shù)據(jù)類型與格式字符要求不符時,就認為這一項結束。

練習題:2.根據(jù)格式項中指定的域寬分隔出數(shù)據(jù)項。

則scanf函數(shù)在接收數(shù)據(jù)時根據(jù)域寬把12賦值給a,345賦值給b,6789賦值給c。練習題:3.隱示分隔符的使用空格、制表符('\t')、換行符('\n')都是C語言認定的數(shù)據(jù)分隔符。

輸入整數(shù)12和34之間,我們用空格分隔開。練習題:4.顯示分隔符。在scanf函數(shù)的兩個格式說明項間有一個或多個普通字符,那么在輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間也必須以這一個或多個字符分隔。

輸入數(shù)據(jù)的時候,用“|”分隔數(shù)據(jù)。練習題:5.在用“%c”格式輸入字符時,空格字符和轉義字符都作為有效字符輸入。

輸入:abc。字符‘a’賦給c1,字符‘

’賦給c2,字符'b'

賦給c3。。注意事項:scanf函數(shù)中的“格式控制”后面應當是變量地址,而不應是變量名。例如,如果a、b為整型變量,則

scanf("%d,%d",a,b);

是不對的,應將“a,b”改為“&a,&b”。

謝謝THANKYOU主講人:何雪鋒C程序設計精品在線開放課程單元四格式化輸入輸出格式化輸出printf()函數(shù)介紹printf()函數(shù)的字符格式0102CONTENT格式化輸出是什么?在程序的使用中,我們經??梢钥吹倪@么一個場景:用戶需要輸入數(shù)據(jù),經過程序運算,得到結果后輸出。在C語言中,輸入數(shù)據(jù)和輸出數(shù)據(jù)都是由庫函數(shù)完成的。比如printf()、scanf()。輸出輸入:C語言程序運算的結果在內存中,我們需要將其輸出到指定設備中,我們才可以看到數(shù)據(jù)。printf是printformat的縮寫,意思是“格式化打印”?!按蛴 钡囊馑季褪窃谄聊簧巷@示內容,所以我們稱printf是格式化輸出。printf()函數(shù)介紹:printf("<格式化字符串>",<輸出列表>);格式化字符串:用雙引號括起來普通字符,將其原樣輸出到屏幕上;以"%"開頭的格式字符,將數(shù)據(jù)轉換為指定的格式輸出到屏幕上。輸出列表:需要輸出到屏幕的數(shù)據(jù),數(shù)據(jù)可以是常量、變量或者表達式。printf()語法格式:輸出變量a的值#include<stdio.h>intmain(){ inta=2; printf("a的值是%d",a); return0;}printf()案例:執(zhí)行以上程序,輸出結果為:

a的值是2printf()函數(shù)的字符格式:格式化字符串中如果包含以“%”開頭的格式字符,printf()函數(shù)將數(shù)據(jù)轉換為指定的格式輸出到屏幕上。格式化字符串中包含三部分:原樣輸出內容、控制字符、轉義字符。printf()函數(shù)的字符格式:常見的轉義字符:\n:換行,將當前位置移到下一行開頭\t:水平制表,跳到下一個Tab位置\\:代表一個反斜線字符'\'轉義字符常見的字符格式:%d:輸出十進制整數(shù)%ld:輸出十進制長整數(shù)%f:輸出浮點數(shù)%c:輸出單個字符%s:輸出字符串%p:輸出指針值等%x,%X

以十六進制無符號表示的整數(shù)

%0

以八進制無符號表示的整數(shù)printf()函數(shù)的字符格式:控制字符:類型符printf()函數(shù)的字符格式:printf()中的格式控制符可以控制輸出數(shù)據(jù)在屏幕上對齊方式和輸出寬度。例如:%md:表示輸出整數(shù)占m位,右對齊;%-md:表示輸出整數(shù)占m位,左對齊;%m.nf:表示輸出共占m位,其中n位小數(shù),右對齊;%-m.nf:表示輸出共占m位,其中n位小數(shù),左對齊;-表示左對齊,+或沒有表示右對齊控制字符:寬度和對齊printf()函數(shù)的案例:案例:輸出下面由數(shù)字組成的圖形。6 6666666.666.6printf()函數(shù)的案例:#include<stdio.h>intmain(){ printf("%10d\t%-10d\n",6,6); printf("%10d\t%-10d\n",66,66); printf("%10.1f\t%-10.1f\n",66.6,66.6); return0;}%10d:輸出整數(shù),占10位,右對齊\t:制表符%-10d:輸出整數(shù),占10位,左對齊\n:換行%10.1f:輸出浮點數(shù),共10位,其中1位小數(shù)點,右對齊%-10.1f:輸出浮點數(shù),共10位,其中1位小數(shù)點,左對齊謝謝THANKYOU主講人:張瑋C程序設計精品在線開放課程單元四格式化輸入/輸出非格式化I/O非格式化輸入函數(shù)非格式化輸出函數(shù)0102CONTENT1.非格式化輸入函數(shù)函數(shù)功能:函數(shù)格式:getch();getche();getchar();從標準輸入設備輸入一個字符。格式功能回顯功能結束輸入方式頭文件getch()從標準輸入設備輸入一個字符。無無需回車conio.hgetche()從標準輸入設備輸入一個字符。有無需回車conio.hgetchar()從標準輸入設備輸入一個字符。有需回車stdio.h非格式化輸入函數(shù)對比注意說明:(1)該類函數(shù)沒有參數(shù),函數(shù)的返回值是從輸入設備得到的字符。(2)getch()函數(shù)的另一功能是還可用于程序暫停。(3)getchar()函數(shù)也可以接收回車符。運行結果getchar()函數(shù)舉例intmain(){}

ch=YY↙ch=getchar();charch;

printf("ch=%c\n",ch);ch1=getchar();charch1,ch2;

printf("ch1=%c,ch2=%c\n",ch1,ch2);ch2=getchar();ch1=X,ch2=↙X↙getchar();ch1=X,ch2=YX↙Y↙運行結果getch()和getche()函數(shù)舉例intmain(){}

ch=YYch=getche();charch;printf("ch=%c\n",ch);charch;printf(“\nPressanykeytocontinue…");Pressanykeytocontinue…getch();2.非格式化輸出函數(shù)函數(shù)功能:函數(shù)格式:putchar(ch);其中:ch可以是一個字符型常量、變量或者是一個不大于127的整型常量或者變量,也可以是一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論