第2章C語言程序設(shè)計(jì)基礎(chǔ)_基本輸入輸出_第1頁
第2章C語言程序設(shè)計(jì)基礎(chǔ)_基本輸入輸出_第2頁
第2章C語言程序設(shè)計(jì)基礎(chǔ)_基本輸入輸出_第3頁
第2章C語言程序設(shè)計(jì)基礎(chǔ)_基本輸入輸出_第4頁
第2章C語言程序設(shè)計(jì)基礎(chǔ)_基本輸入輸出_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1如何進(jìn)行數(shù)據(jù)的輸入輸出?如何進(jìn)行數(shù)據(jù)的輸入輸出? 輸入:從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計(jì)算機(jī)輸入:從標(biāo)準(zhǔn)輸入設(shè)備上輸入數(shù)據(jù)到計(jì)算機(jī)內(nèi)存內(nèi)存 輸出:將計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出輸出:將計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到標(biāo)準(zhǔn)輸出設(shè)備設(shè)備 C語言中輸入輸出操作通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)語言中輸入輸出操作通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實(shí)現(xiàn)來實(shí)現(xiàn)23printf(a=%d b=%f, a, b); 函數(shù)名函數(shù)名輸出表列輸出表列普通普通字符字符格式格式說明說明4關(guān)于格式控制字符關(guān)于格式控制字符 1.1.一般形式:一般形式: % % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度說明:說明:(1) 中的內(nèi)容為可選項(xiàng)中的內(nèi)容為可選項(xiàng)

2、52)標(biāo)志:)標(biāo)志:為為+、- -、# 等,等,含義如下:含義如下: + 輸出符號(輸出符號(+) 如如i=3;printf(“%+dn”,i);- 輸出結(jié)果左對齊輸出結(jié)果左對齊(缺省右對齊缺省右對齊) # 對對c、s、d、u無影響,對無影響,對o類類輸出時(shí)加輸出時(shí)加前綴前綴0; 對對x類類輸出時(shí)加輸出時(shí)加前綴前綴0 x,對對e、g、f類當(dāng)結(jié)果類當(dāng)結(jié)果 有小數(shù)時(shí)才給出小數(shù)點(diǎn)。有小數(shù)時(shí)才給出小數(shù)點(diǎn)。 如:如:i=3;printf(“%#xn”,i);% % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度0 x3+36(3)輸出最小寬度輸出最小寬度( (域?qū)捰驅(qū)抦,mm,m必須是整數(shù)必須是整數(shù)

3、) ) 域?qū)捰驅(qū)抦 m是輸出項(xiàng)在輸出設(shè)備上所占的列數(shù)。是輸出項(xiàng)在輸出設(shè)備上所占的列數(shù)。 若若m m是正整數(shù)是正整數(shù)當(dāng)實(shí)際位數(shù)多于定義寬度當(dāng)實(shí)際位數(shù)多于定義寬度m m,則按則按實(shí)際位數(shù)輸出;若實(shí)際位數(shù)少于定義寬度,則用定實(shí)際位數(shù)輸出;若實(shí)際位數(shù)少于定義寬度,則用定義寬度輸出義寬度輸出, ,默認(rèn)在域內(nèi)向默認(rèn)在域內(nèi)向右右對齊,左邊多余位補(bǔ)以對齊,左邊多余位補(bǔ)以空格??崭?。如:如:int a=-23, b=4 ; printf( %5d,%-5d ,a,b);% % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度 -23,47(4 4)精度)精度 . .n(nn(n為正整數(shù))為正整數(shù))對于浮點(diǎn)數(shù),

4、表示輸出的小數(shù)的位數(shù);對于浮點(diǎn)數(shù),表示輸出的小數(shù)的位數(shù);對于字符串,指定從字符串左側(cè)所截取的子串字符的個(gè)數(shù);對于字符串,指定從字符串左側(cè)所截取的子串字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。如:如: float k=65.678; printf(%.2f, k); 輸出結(jié)果為輸出結(jié)果為% % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度65.688( 5 )( 5 )長度長度 長度格式符為長度格式符為h h、l l兩種,兩種,h h表示按短整型量表示按短整型量輸出,輸出,l l表示按長整型量輸出表示按長整型量輸出 ( 6

5、) 類型是指輸出數(shù)據(jù)的類型類型是指輸出數(shù)據(jù)的類型% % 標(biāo)志標(biāo)志輸出最小寬度輸出最小寬度.精度精度長度長度910Format for character: Example:printf(“%c %c %c”, U, K, M);U K M_11Example:printf(“%c%c%c”, U, K, M);UKM_Format for character: 12Example:char1 = U;char2 = K;char3 = M;printf(“%c %c %c”, char1, char2, char3);U K M_char1Uchar2?char3?char1Uchar2Kch

6、ar3?char1Uchar2Kchar3M13Example: printf( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_Output format14Example: printf( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_15Format for float: General format:Example:printf(“Value is

7、:%10.4f”, 32.6784728); Value is: 32.6785 4 digits10 characters16Example:printf(“Value is:%10f”, 32.6784728); Value is: 32.678473 10 characters6 digits (default)17Example:printf(“Value is:%10.5f”, 32.6784); Value is: 32.67840 10 characters5 digits18Example:printf(“Value is:%5f”, 32.6784728); Value is

8、:32.678473 6 digits (default)9 charactersMin 5 characters19Example:printf(“Value is:%.3f”, 32.6784728); Value is:32.678 3 digits20#include void main( ) int age; float height; age = 21; height = 1.73; printf(“Ali is %d years old and his height is %.5f metersn”, age, height);Ali is 21 years old and hi

9、s height is 1.73000 meters_age?height?211.73Example:21d,ix,Xoucse,Efg%小結(jié)小結(jié)十六進(jìn)制無符號整數(shù)十六進(jìn)制無符號整數(shù)不帶符號十進(jìn)制整數(shù)不帶符號十進(jìn)制整數(shù)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符單一字符字符串字符串八進(jìn)制無符號整數(shù)八進(jìn)制無符號整數(shù)小數(shù)形式浮點(diǎn)小數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和和f中較短一種中較短一種百分號本身百分號本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“

10、%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+002567.789000567.789%22 非格式字符非格式字符輸入數(shù)據(jù)以輸入數(shù)據(jù)以,分隔分隔沒有時(shí)可以沒有時(shí)可以空格空格、Tab或或回車回車分隔分隔格式字符格式字符指定輸入指定輸入數(shù)據(jù)格式數(shù)據(jù)格式輸入數(shù)據(jù)輸入數(shù)據(jù)地址表列地址表列23

11、一般格式:一般格式:%* *輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度長度長度 說明:說明:(1)“*”號:號:表示該輸入項(xiàng)讀入后,不賦予相應(yīng)的表示該輸入項(xiàng)讀入后,不賦予相應(yīng)的變量,即跳過該輸入值。變量,即跳過該輸入值。 如:如:scanf( %d%*d%d ,&a,&b);當(dāng)輸入當(dāng)輸入1 2 3時(shí),時(shí), 1a 3b,2被跳過被跳過24(2)輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度 :用十進(jìn)制整數(shù)指定輸入用十進(jìn)制整數(shù)指定輸入 的寬度。的寬度。 如:如:scanf( %5d ,&a); 輸入輸入12345678后后僅把僅把12345賦予賦予a,其余截去。其余截去。又如:又如:scanf( %4d%4d ,

12、&a,&b); 輸入輸入12345678后后 1234賦予賦予a,5678賦予賦予b,按寬度自動截取。按寬度自動截取。 %* *輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度長度長度 25(3)長度長度 長度格式符為長度格式符為l、h l表示長整型和雙精度浮點(diǎn)數(shù)表示長整型和雙精度浮點(diǎn)數(shù) h表示短整型數(shù)據(jù)。表示短整型數(shù)據(jù)。 %* *輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度長度長度 26(4)類型類型輸入數(shù)據(jù)的類型輸入數(shù)據(jù)的類型. 格式字符格式字符 含義含義d 以十進(jìn)制整數(shù)形式輸入以十進(jìn)制整數(shù)形式輸入o 以八進(jìn)制整數(shù)形式輸入以八進(jìn)制整數(shù)形式輸入x 以十六進(jìn)制整數(shù)形式輸入以十六進(jìn)制整數(shù)形式輸入u 以十進(jìn)制無符號整數(shù)形式輸

13、入以十進(jìn)制無符號整數(shù)形式輸入f/e 以以 實(shí)數(shù)形式輸入實(shí)數(shù)形式輸入c 輸入單個(gè)字符輸入單個(gè)字符s 輸入字符串輸入字符串%* *輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度長度長度 27Example:printf(“Key-in a character and a number: ”);scanf(“%c%d”, &char, &num);printf(“Character: %cn”, char);printf(“Number: %dn”, num);Key-in a character and a number: char?num?mKey-in a character and a numbe

14、r: m103 103Key-in a character and a number: m103Character: m_ Key-in a character and a number: m103Character: mNumber: 103_28#include void main( ) int day, month, year; scanf(“%d %d %d”, &day, &month, &year); printf(“Day: %d, Month: %d, Year: %d”, day, month, year);16 12 2005month?year?d

15、ay? 1612200516 12 2005Day: 16, Month: 12, Year: 2005_29#include#include void main()void main() intint a,b,ca,b,c; ; scanf(“%d%d%d”,&a,&b,&cscanf(“%d%d%d”,&a,&b,&c);); printf(“%d,%d,%dn”,a,b,cprintf(“%d,%d,%dn”,a,b,c);); 3 4 5 (3 4 5 (輸入輸入a,b,ca,b,c的值的值) )3 3,4 4,5 5 (輸出(輸出a,b

16、,ca,b,c的值)的值)a a在內(nèi)存中的地在內(nèi)存中的地址址& &是地址運(yùn)算符是地址運(yùn)算符用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)30 使用使用scanf函數(shù)時(shí)應(yīng)注意的問題函數(shù)時(shí)應(yīng)注意的問題 : :(1)scanf(1)scanf函數(shù)中的函數(shù)中的“格式控制格式控制”后面應(yīng)當(dāng)是后面應(yīng)當(dāng)是變量地址變量地址,而不應(yīng),而不應(yīng) 是變量名。是變量名。 (2) (2) 如果在如果在“格式控制格式控制”字符串中除了格式說明以外還有其他字符,字符串中除了格式說明以外還有其他字符, 則在輸入數(shù)據(jù)時(shí)在對應(yīng)位置應(yīng)輸入與這些字符相同的字符。則在輸入數(shù)據(jù)時(shí)在對應(yīng)位置應(yīng)輸入與這些字符相同的字符。 scanf(“%d,%d,%d”,&a,&b,&c);輸入應(yīng)為:輸入應(yīng)為:5,6,7scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);輸入應(yīng)為:輸入應(yīng)為:a=5,b=6,c=731 使用使用scanf函數(shù)時(shí)應(yīng)注意的問題函數(shù)時(shí)應(yīng)注意的問題 : :(3) (3) 在用在用“”格式輸入字符時(shí),格式輸入字符時(shí),空格字符空格字符和和“轉(zhuǎn)義字符轉(zhuǎn)義字符”都作為都作為 有效字符輸入有效字符輸入 (4) (4) 在在輸入數(shù)據(jù)輸入數(shù)據(jù)時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。時(shí),遇以下情況時(shí)認(rèn)為該數(shù)據(jù)結(jié)束。 遇空格,或按遇空格,或按“回車回車”或或“跳格跳格

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論