版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)的輸入和輸出 一個(gè)通用的程序往往需要包含對(duì)數(shù)據(jù)的輸入和輸出的處理過程,數(shù)據(jù)的輸入和輸出部分是程序和用戶之間的界面部分。語言本身沒有提供輸入和輸出語句,而是由語言編譯系統(tǒng)在標(biāo)準(zhǔn)函數(shù)庫中定義了一些有用的輸入和輸出函數(shù),程序中的輸入和輸出是通過調(diào)用庫函數(shù)來實(shí)現(xiàn)的。 由于語言編譯系統(tǒng)中的由于語言編譯系統(tǒng)中的“stdio.h”stdio.h”頭文件中包含了與標(biāo)準(zhǔn)輸入和輸出有關(guān)的變量頭文件中包含了與標(biāo)準(zhǔn)輸入和輸出有關(guān)的變量定義及相應(yīng)的宏定義,所以,在利用標(biāo)準(zhǔn)庫函定義及相應(yīng)的宏定義,所以,在利用標(biāo)準(zhǔn)庫函數(shù)進(jìn)行輸入和輸出時(shí),一般需要用編譯預(yù)處理數(shù)進(jìn)行輸入和輸出時(shí),一般需要用編譯預(yù)處理命令命令#includ
2、e#include將文件將文件“stdio.h”stdio.h”包含到用戶源包含到用戶源文件中文件中 用法如下所示:用法如下所示: #include stdio.h 本章將介紹幾個(gè)最基本的輸入和輸出函數(shù),本章將介紹幾個(gè)最基本的輸入和輸出函數(shù),它們都是以終端鍵盤和終端屏幕(或系統(tǒng)隱含指它們都是以終端鍵盤和終端屏幕(或系統(tǒng)隱含指定的輸入和輸出設(shè)備)為處理對(duì)象的。定的輸入和輸出設(shè)備)為處理對(duì)象的。3.1數(shù)據(jù)的輸入數(shù)據(jù)的輸入一般是以終端鍵盤為處理對(duì)象的。3.1.1 字符輸入函數(shù)getchar getchar函數(shù)的作用是接收從鍵盤輸入的一個(gè)字符。當(dāng)程序執(zhí)行到getchar函數(shù)時(shí),將等待用戶從鍵盤輸入一個(gè)
3、字符,然后程序再繼續(xù)執(zhí)行。其一般調(diào)用形式如下所示: char c; c=getchar( );c是字符型或整型是字符型或整型變變量,量,它將接收從它將接收從鍵盤輸鍵盤輸入入的一個(gè)字符。需要注意的一個(gè)字符。需要注意的是,在利用的是,在利用getchar函函數(shù)來數(shù)來輸輸入字符入字符時(shí)時(shí),在從,在從鍵盤鍵盤上打入一個(gè)字符上打入一個(gè)字符后,后,還還需要按一次需要按一次“ “回回車車” ”鍵鍵,才能,才能夠繼續(xù)執(zhí)夠繼續(xù)執(zhí)行。行?!纠?.13.1】從鍵盤輸入一個(gè)字符,并把其存入字符型變從鍵盤輸入一個(gè)字符,并把其存入字符型變量量x x中。中。 #include stdio.h“void main( ) c
4、har x; x=getchar( );3.1.2 格式輸入函數(shù)scanf getchar getchar函數(shù)只能輸入一個(gè)字符,要想輸入其函數(shù)只能輸入一個(gè)字符,要想輸入其它類型的數(shù)據(jù)就需要使用它類型的數(shù)據(jù)就需要使用scanfscanf函數(shù)了。函數(shù)了。 scanfscanf函數(shù)是具有格式控制的輸入函數(shù),它可以函數(shù)是具有格式控制的輸入函數(shù),它可以用來輸入語言中的任何類型的數(shù)據(jù),而且可以同時(shí)用來輸入語言中的任何類型的數(shù)據(jù),而且可以同時(shí)輸入多個(gè)同類型的或不同類型的數(shù)據(jù)。其一般調(diào)用形輸入多個(gè)同類型的或不同類型的數(shù)據(jù)。其一般調(diào)用形式如下所示:式如下所示:scanf(格式控制,地址表格式控制,地址表); ;
5、 1. 格式控制 “ “格式控制格式控制”部分是由雙引號(hào)括起來的字符部分是由雙引號(hào)括起來的字符串,它主要是由格式說明符組成的,而格式說明符串,它主要是由格式說明符組成的,而格式說明符是由是由“%”%”和格式字符組成的。如,和格式字符組成的。如,%c,%d%c,%d等,它的等,它的作用是將輸入的數(shù)據(jù)轉(zhuǎn)換為指定的格式后存入到由作用是將輸入的數(shù)據(jù)轉(zhuǎn)換為指定的格式后存入到由地址表所指向的相應(yīng)的變量中。地址表所指向的相應(yīng)的變量中。 scanf函數(shù)中使用的格式字符主要包括如下幾個(gè): d,id,i:用來輸入十進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用:用來輸入十進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用 ld ld; 輸入短整
6、型數(shù)據(jù)時(shí),使用輸入短整型數(shù)據(jù)時(shí),使用hdhd。o o: 用來輸入八進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用用來輸入八進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用 lo lo; 輸入短整型數(shù)據(jù)時(shí),使用輸入短整型數(shù)據(jù)時(shí),使用hoho。x,Xx,X:用來輸入十六進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用:用來輸入十六進(jìn)制整數(shù)。輸入長整型數(shù)據(jù)時(shí),使用lxlx; 輸入短整型數(shù)據(jù)時(shí),使用輸入短整型數(shù)據(jù)時(shí),使用hxhx。c c: 用來輸入單個(gè)字符。用來輸入單個(gè)字符。f f: 用來輸入浮點(diǎn)數(shù)。可以用小數(shù)形式或指數(shù)形式輸入用來輸入浮點(diǎn)數(shù)。可以用小數(shù)形式或指數(shù)形式輸入e,E,g,Ge,E,g,G:用來輸入浮點(diǎn)數(shù),對(duì)于輸入來講,其作用與:用來輸
7、入浮點(diǎn)數(shù),對(duì)于輸入來講,其作用與f f相同。相同。s s: 用來輸入以用來輸入以00為結(jié)束標(biāo)志的字符串。以非空白字符開始為結(jié)束標(biāo)志的字符串。以非空白字符開始, , 以第一個(gè)空白字符結(jié)束。以第一個(gè)空白字符結(jié)束。( (如輸入:如輸入:AB CDAB CD,則只讀入,則只讀入ABAB)u: u: 用來輸入無符號(hào)十進(jìn)制數(shù)。無符號(hào)長整型用用來輸入無符號(hào)十進(jìn)制數(shù)。無符號(hào)長整型用lulu2. 地址表 scanf scanf函數(shù)中的函數(shù)中的“地址表地址表”是由變量的地址是由變量的地址組成的,如果組成的,如果“地址表地址表”中有多個(gè)變量,則每個(gè)變中有多個(gè)變量,則每個(gè)變量之間應(yīng)由逗號(hào)隔開。在語言中,變量的地址可量
8、之間應(yīng)由逗號(hào)隔開。在語言中,變量的地址可由取地址運(yùn)算符由取地址運(yùn)算符“&”&”得到,例如,變量得到,例如,變量a a的地址可的地址可寫為寫為&a&a。 【例例3.23.2】利用利用scanfscanf函數(shù),從鍵盤輸入一個(gè)整型數(shù)函數(shù),從鍵盤輸入一個(gè)整型數(shù)(十進(jìn)制)、一個(gè)浮點(diǎn)型數(shù)和一個(gè)字符,并分別存入(十進(jìn)制)、一個(gè)浮點(diǎn)型數(shù)和一個(gè)字符,并分別存入變量變量i i、f f和和c c中。中。 #include stdio.hvoid main( ) int i; float f; char c; scanf(%d%f%c,&i,&f,&c);程序執(zhí)
9、行到程序執(zhí)行到scanf函函數(shù)時(shí),需要用戶從數(shù)時(shí),需要用戶從鍵盤輸入一個(gè)整型鍵盤輸入一個(gè)整型數(shù)據(jù)、一個(gè)浮點(diǎn)型數(shù)據(jù)、一個(gè)浮點(diǎn)型數(shù)據(jù)和一個(gè)字符后,數(shù)據(jù)和一個(gè)字符后,才能夠繼續(xù)執(zhí)行。才能夠繼續(xù)執(zhí)行。輸入格式如下:輸入格式如下: 12 23.5f(5和和f之間沒有空格之間沒有空格) 使用scanf函數(shù)時(shí),需要注意如下幾個(gè)問題: (1) (1) 在在scanfscanf函數(shù)函數(shù)“格式控制格式控制”部分中的每個(gè)部分中的每個(gè)格式說明符,都必須在格式說明符,都必須在“地址表地址表”中有一個(gè)變量與之中有一個(gè)變量與之對(duì)應(yīng)。對(duì)應(yīng)。上述程序中上述程序中“%d”%d”與與&i&i對(duì)應(yīng),對(duì)應(yīng),“%f”%f
10、”與與&f&f對(duì)應(yīng),對(duì)應(yīng),“%c”%c”與與&c&c對(duì)應(yīng)。而且,格式說明符必須要與相應(yīng)對(duì)應(yīng)。而且,格式說明符必須要與相應(yīng)變量的類型一致。變量的類型一致。 例如:例如: (2) (2) 當(dāng)格式說明符之間沒有任何字符時(shí),在輸當(dāng)格式說明符之間沒有任何字符時(shí),在輸入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間使用入數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間使用“空格空格”、tabtab或或“回車回車”鍵作間隔;如果格式說明符之間包含其它字符,則輸鍵作間隔;如果格式說明符之間包含其它字符,則輸入數(shù)據(jù)時(shí),應(yīng)輸入與這些字符相同的字符作間隔。入數(shù)據(jù)時(shí),應(yīng)輸入與這些字符相同的字符作間隔。 scanf(%d,%f,&i
11、,&f);例如:例如:在輸入數(shù)據(jù)時(shí),應(yīng)采用如下形式:在輸入數(shù)據(jù)時(shí),應(yīng)采用如下形式: 10,2.5其中其中表示表示“回車回車”鍵。鍵。在輸入字符型數(shù)據(jù)時(shí),由于在輸入字符型數(shù)據(jù)時(shí),由于“空格空格”也作為有效也作為有效字符輸入,因此,不需要用字符輸入,因此,不需要用“空格空格”作間隔,只要輸作間隔,只要輸入一個(gè)字符即可。例如入一個(gè)字符即可。例如: : scanf(“%c%c%c”,&c1,&c2,&c3); scanf(“%c%c%c”,&c1,&c2,&c3);若輸入若輸入: a b c: a b c 則則: a=c1,: a=c1,空格字符
12、空格字符=c2,b=c3=c2,b=c3若輸入若輸入:abc:abc 則則: a=c1,b=c2,c=c3: a=c1,b=c2,c=c3如果采用如下如果采用如下語語句句: scanf(a=%d,b=%d,c=%d,&a,&b,&c);則輸則輸入入應(yīng)為應(yīng)為以下形式以下形式: a=1,b=2,c=3 (3) (3) 可以在格式說明符的前面指定輸入數(shù)據(jù)所占可以在格式說明符的前面指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)將自動(dòng)按此列數(shù)來截取所需的數(shù)據(jù)。的列數(shù),系統(tǒng)將自動(dòng)按此列數(shù)來截取所需的數(shù)據(jù)。 scanf(%2d%3d,&x,&y);例如:例如:當(dāng)用戶輸入當(dāng)用戶輸入987
13、65時(shí),系統(tǒng)將時(shí),系統(tǒng)將自動(dòng)地把自動(dòng)地把98賦給變量賦給變量x,將,將765賦給變量賦給變量y。這種方式也可用。這種方式也可用于字符型數(shù)據(jù)的輸入。于字符型數(shù)據(jù)的輸入。 char s100, s1200;scanf(%2s%3s,s,s1)當(dāng)用戶輸入當(dāng)用戶輸入ABCDEFG時(shí),系統(tǒng)將自動(dòng)地把時(shí),系統(tǒng)將自動(dòng)地把AB賦給變量賦給變量s,將,將CDE賦給變量賦給變量s1。 scanf(%2c%3c%c,&c,&c1,&c2);當(dāng)用戶輸入當(dāng)用戶輸入ABCDEFG時(shí),系統(tǒng)將把時(shí),系統(tǒng)將把A賦給變量賦給變量c,將,將C賦給賦給變量變量c1,將,將F賦給變量賦給變量c2 。 (6) (
14、6) 應(yīng)該特別注意的是,應(yīng)該特別注意的是,scanfscanf函數(shù)中的函數(shù)中的“地地址表址表”部分應(yīng)當(dāng)是變量的地址,而不是變量名,如果部分應(yīng)當(dāng)是變量的地址,而不是變量名,如果只寫出變量名,一般在編譯階段是檢查不出錯(cuò)誤的,只寫出變量名,一般在編譯階段是檢查不出錯(cuò)誤的,但當(dāng)程序執(zhí)行時(shí),就會(huì)出現(xiàn)混亂。但當(dāng)程序執(zhí)行時(shí),就會(huì)出現(xiàn)混亂。 (4)在在輸輸入數(shù)據(jù)入數(shù)據(jù)時(shí)時(shí),不能,不能規(guī)規(guī)定精度。例如定精度。例如: scanf(%7.2f,&a); /是是錯(cuò)誤錯(cuò)誤的的 ( (5) )對(duì)對(duì)unsigned型型變變量所需的數(shù)據(jù),可以用量所需的數(shù)據(jù),可以用%u、 、%d、 、%o、 、%x格式格式輸輸入入(7
15、)(7)如果在如果在% %后有一個(gè)后有一個(gè)* *附加說明符附加說明符, ,表示跳過它指定的表示跳過它指定的列數(shù)列數(shù), ,即不賦給相應(yīng)的變量。例如:即不賦給相應(yīng)的變量。例如: scanf(“2d % scanf(“2d %* *3d %2d”,&a,&b);3d %2d”,&a,&b); 如果輸入以下信息:如果輸入以下信息: 12u345u67(12u345u67(回車回車) ),其中,其中u u表示空格符表示空格符 系統(tǒng)會(huì)將系統(tǒng)會(huì)將1212賦給整型變量賦給整型變量a,a,而而% %* *3d3d表示讀入表示讀入3 3位整位整數(shù)但不賦給任何變量。然后,再讀入數(shù)但不
16、賦給任何變量。然后,再讀入2 2位整數(shù)位整數(shù)6767賦給正型賦給正型變量變量b b。3.2 數(shù)據(jù)的輸出 數(shù)據(jù)的輸出一般是以終端顯示器(屏幕)數(shù)據(jù)的輸出一般是以終端顯示器(屏幕)為處理對(duì)象的。為處理對(duì)象的。3.2.1 字符輸出函數(shù)putcharputchar函數(shù)的作用是向屏幕(顯示器)輸出一個(gè)字符。其一般調(diào)用形式如下所示:char c=A; putchar(c);其作用是將變量其作用是將變量c中的字中的字符輸出到屏幕上當(dāng)前光符輸出到屏幕上當(dāng)前光標(biāo)的位置上,其中標(biāo)的位置上,其中c既可既可以是字符型變量,也可以是字符型變量,也可以是整型變量。以是整型變量?!纠?.33.3】從鍵盤輸入一字符,并顯示
17、到屏幕上。從鍵盤輸入一字符,并顯示到屏幕上。 #include stdio.hvoid main( ) char c; c=getchar( ); putchar(c); putchar函數(shù)也可函數(shù)也可以以輸輸出一些特殊字出一些特殊字符(控制字符)。符(控制字符)。 例如:putchar(n)putchar(n)putchar(007);它的作用是輸出一它的作用是輸出一個(gè)個(gè)“換行換行”字符。字符。 又如:又如:它的作用是輸出一它的作用是輸出一個(gè)個(gè)“響鈴響鈴”字符。字符。 3.2.2 格式輸出函數(shù)printf putchar putchar函數(shù)只能輸出一個(gè)字符,而不能輸出函數(shù)只能輸出一個(gè)字符,而
18、不能輸出整型或浮點(diǎn)型數(shù)據(jù)。整型或浮點(diǎn)型數(shù)據(jù)。printfprintf函數(shù)是具有格式控制的輸函數(shù)是具有格式控制的輸出函數(shù),它可以用來輸出語言中任何類型的數(shù)據(jù),出函數(shù),它可以用來輸出語言中任何類型的數(shù)據(jù),而且可以同時(shí)輸出多個(gè)同類型的或不同類型的數(shù)據(jù)。而且可以同時(shí)輸出多個(gè)同類型的或不同類型的數(shù)據(jù)。其一般調(diào)用形式如下所示:其一般調(diào)用形式如下所示: printf(格式控制,(格式控制,輸輸出表);出表);1. 格式控制 “ “格式控制格式控制”部分與部分與scanfscanf函數(shù)相似,也是由函數(shù)相似,也是由雙引號(hào)括起來的字符串,其中主要包括格式說明符和雙引號(hào)括起來的字符串,其中主要包括格式說明符和需要原
19、樣輸出的字符。格式說明符是由需要原樣輸出的字符。格式說明符是由“%”%”和格式字和格式字符組成的,如,符組成的,如,%c%c和和%f%f等,它的作用是將要輸出的數(shù)等,它的作用是將要輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式后輸出。據(jù)轉(zhuǎn)換為指定的格式后輸出。printf函數(shù)中使用的格式字符主要包括如下幾個(gè): d,id,i:以十進(jìn)制形式輸出帶符號(hào)的整數(shù),輸出長整型數(shù)據(jù)時(shí),使用:以十進(jìn)制形式輸出帶符號(hào)的整數(shù),輸出長整型數(shù)據(jù)時(shí),使用ldld。o o: 以八進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)時(shí),使用以八進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)時(shí),使用lolo。x,Xx,X:以十六進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)
20、時(shí),使用:以十六進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)時(shí),使用lxlx。u u: 以十進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)時(shí),使用以十進(jìn)制無符號(hào)形式輸出整數(shù),輸出長整型數(shù)據(jù)時(shí),使用lulu。c c: 以字符形式輸出一個(gè)字符。以字符形式輸出一個(gè)字符。f f: 以十進(jìn)制形式輸出單、雙精度浮點(diǎn)數(shù)。以十進(jìn)制形式輸出單、雙精度浮點(diǎn)數(shù)。e,E: e,E: 以指數(shù)(科學(xué)記數(shù)法)形式輸出單、雙精度浮點(diǎn)數(shù)。用以指數(shù)(科學(xué)記數(shù)法)形式輸出單、雙精度浮點(diǎn)數(shù)。用“e”e”時(shí)指數(shù)以時(shí)指數(shù)以e e表示(如表示(如1.8e+41.8e+4),用),用“E”E”時(shí)指數(shù)以時(shí)指數(shù)以E E表示。表示。g,G: g,G: 選用選用
21、%f%f或或e e格式中輸出寬度較短的一種格式,不輸出無用的格式中輸出寬度較短的一種格式,不輸出無用的0 0。s s: 輸出以輸出以00結(jié)尾的字符串。結(jié)尾的字符串。o o和和x x格式輸出的數(shù)值不帶符號(hào),符號(hào)位也作為八格式輸出的數(shù)值不帶符號(hào),符號(hào)位也作為八/ /十六進(jìn)制數(shù)一起顯示十六進(jìn)制數(shù)一起顯示出來(補(bǔ)碼形式)。如:出來(補(bǔ)碼形式)。如:a=-1;printf(a=-1;printf(%o%o,a);,a);在整數(shù)占在整數(shù)占1616位的計(jì)算位的計(jì)算機(jī)上,將顯示:機(jī)上,將顯示:177777177777。這是由于。這是由于-1-1補(bǔ)碼是:補(bǔ)碼是:1111111111111111111111111
22、11111112. 輸出表 printf printf函數(shù)中的函數(shù)中的“輸出表輸出表”是由變量名是由變量名組成的(與組成的(與scanfscanf函數(shù)不同),這些變量應(yīng)當(dāng)與函數(shù)不同),這些變量應(yīng)當(dāng)與 格式控制格式控制 字符串中的格式說明符的類型一一對(duì)應(yīng),字符串中的格式說明符的類型一一對(duì)應(yīng),如果如果“輸出表輸出表”中有多個(gè)變量,則每個(gè)變量之間中有多個(gè)變量,則每個(gè)變量之間應(yīng)由逗號(hào)隔開。應(yīng)由逗號(hào)隔開。【例例3.43.4】從鍵盤輸入一整型數(shù)和一浮點(diǎn)數(shù),并顯示到從鍵盤輸入一整型數(shù)和一浮點(diǎn)數(shù),并顯示到屏幕上。屏幕上。 #include stdio.hvoid main( ) int i; float f;
23、 scanf(%d%f,&i,&f); printf(i=%d,f=%f,i,f); 程序執(zhí)行時(shí)按下列程序執(zhí)行時(shí)按下列格式輸入數(shù)據(jù):格式輸入數(shù)據(jù):10 2.5那么,程序的輸出那么,程序的輸出結(jié)果將如下所示:結(jié)果將如下所示: i=10,f=2.5使用printf函數(shù)時(shí),應(yīng)注意如下幾個(gè)問題: (1) printf (1) printf函數(shù)中的函數(shù)中的“格式控制格式控制”字符串字符串中的每一個(gè)格式說明符,都必須與中的每一個(gè)格式說明符,都必須與“輸出表輸出表”中的中的某一個(gè)變量相對(duì)應(yīng),例如,上述程序中的某一個(gè)變量相對(duì)應(yīng),例如,上述程序中的“%d”%d”與與i i對(duì)應(yīng),對(duì)應(yīng),“%f”%f
24、”與與f f對(duì)應(yīng),而且格式說明符應(yīng)當(dāng)與其對(duì)應(yīng),而且格式說明符應(yīng)當(dāng)與其所對(duì)應(yīng)的變量的類型一致。所對(duì)應(yīng)的變量的類型一致。 (2) (2) 若要利用若要利用printfprintf函數(shù)來顯示函數(shù)來顯示“%”%”字符,字符,則應(yīng)在則應(yīng)在“格式控制格式控制”字符串中連寫兩個(gè)字符串中連寫兩個(gè)“%”%”。 printf(X=%d%,100/4);例如:例如:將顯示:將顯示:X=25%(3) 對(duì)格式說明符c、d、s和f等可以指定輸出字段的寬度。 %md%md:m m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)大于大于m m,則按實(shí)際的位數(shù)輸出,否則,輸出時(shí)向右對(duì)齊,則按實(shí)際的位
25、數(shù)輸出,否則,輸出時(shí)向右對(duì)齊,左端補(bǔ)以左端補(bǔ)以“空格空格”符。符。 %-md: %-md: 同上,向左對(duì)齊,右端補(bǔ)以同上,向左對(duì)齊,右端補(bǔ)以“空格空格”符。符。 %mc:m為指定的輸出字段的寬度。若為指定的輸出字段的寬度。若m大于一大于一個(gè)字符的寬度,則輸出時(shí)向右對(duì)齊,左端補(bǔ)以個(gè)字符的寬度,則輸出時(shí)向右對(duì)齊,左端補(bǔ)以“空格空格”符。符。 %-mc:同上,向左對(duì)齊,右端補(bǔ)以:同上,向左對(duì)齊,右端補(bǔ)以“空格空格”符。符。 %ms%ms:m m為輸出時(shí)字符串所占的列數(shù)。如果字符串的為輸出時(shí)字符串所占的列數(shù)。如果字符串的長度(字符個(gè)數(shù))大于長度(字符個(gè)數(shù))大于m m,則按字符串的本身長度輸出,則按字符
26、串的本身長度輸出,否則,輸出時(shí),字符串向右對(duì)齊,左端補(bǔ)以否則,輸出時(shí),字符串向右對(duì)齊,左端補(bǔ)以“空格空格”符。符。 %-ms:m的意義同上。如果字符串的長度小于的意義同上。如果字符串的長度小于m,則輸出時(shí)字符串向左對(duì)齊,右端補(bǔ)以則輸出時(shí)字符串向左對(duì)齊,右端補(bǔ)以“空格空格”符。符。 %m.nf%m.nf:m m為浮點(diǎn)型數(shù)據(jù)所占的總列數(shù)(包括小數(shù)為浮點(diǎn)型數(shù)據(jù)所占的總列數(shù)(包括小數(shù)點(diǎn)),點(diǎn)),n n為小數(shù)點(diǎn)后面的位數(shù)。如果數(shù)據(jù)的長度小于為小數(shù)點(diǎn)后面的位數(shù)。如果數(shù)據(jù)的長度小于m m,則輸出時(shí)向右對(duì)齊,左端補(bǔ)以則輸出時(shí)向右對(duì)齊,左端補(bǔ)以“空格空格”符。符。 %-m.nf:m、n的意義同上。如果數(shù)據(jù)的長度
27、小于的意義同上。如果數(shù)據(jù)的長度小于m,則輸出時(shí)向左對(duì)齊,右端補(bǔ)以,則輸出時(shí)向左對(duì)齊,右端補(bǔ)以“空格空格”符。符。 float b=12345.6789; printf(U=%11.2f,b);結(jié)結(jié)果:果:U=uuu12345.68 float b=12345.6789; printf(U=%3.3f,b);結(jié)結(jié)果:果:U=12345.679注:整數(shù)部分顯示位數(shù)不受格式限制注:整數(shù)部分顯示位數(shù)不受格式限制(4) 除了格式說明符及其輸出字段的寬度外,在“格式控制”字符串中的其它字符,將按原樣輸出。一般來講,除非特殊需要,否則,在顯示數(shù)據(jù)時(shí),可以不指定輸出字段的寬度,而直接利用系統(tǒng)隱含的輸出寬度。(
28、 (5)在格式符)在格式符o和和x前如果有一個(gè)前如果有一個(gè) #附加附加說說明符,明符,則則在在顯顯示的八示的八進(jìn)進(jìn)制或十六制或十六進(jìn)進(jìn)制數(shù)的前面將分制數(shù)的前面將分別別加上加上0或或0 x(沒有(沒有#時(shí)時(shí)不加)。例如:不加)。例如:int x=10;printf(“%#o,%#x”,x,x);顯顯示示結(jié)結(jié)果:果: 012, ,0 xa(若格式符的若格式符的X為為大寫的,大寫的,則顯則顯示示0XA)(5)不同類型的整型數(shù)據(jù)之間的賦值都是采用“按存儲(chǔ)單元中的存儲(chǔ)形式直接傳送”的方式來進(jìn)行的。例如:unsigned a;int b=-1;a=b;printf(“a=%d,a=%un”,a,a);printf(“b=%d,b=%un”,b,b);在整數(shù)在整數(shù)為為16位的位的計(jì)計(jì)算機(jī)上,其算機(jī)上,其顯顯示示結(jié)結(jié)果果為為:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)盤點(diǎn)制度
- 嚴(yán)格落實(shí)請(qǐng)休假制度
- 企業(yè)環(huán)保法規(guī)知識(shí)培訓(xùn)課件
- 2025-2030中國電警棍行業(yè)供給變化趨勢與發(fā)展現(xiàn)狀調(diào)研研究報(bào)告
- 2025-2030中國非那唑酮(安替比林)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國腹膜透析(PD) 市場運(yùn)營風(fēng)險(xiǎn)與未來建設(shè)現(xiàn)狀研究研究報(bào)告
- 2025至2030中國工業(yè)型材市場需求變化與產(chǎn)能布局研究報(bào)告
- 2025-2030中國牛蛙飼料行業(yè)現(xiàn)狀調(diào)查與營銷策略分析研究報(bào)告
- 2025-2030中文教育機(jī)構(gòu)運(yùn)營效率提升措施研究及海外招生渠道拓展計(jì)劃制定效果分析報(bào)告
- 2025至2030中國光伏發(fā)電行業(yè)政策支持力度與平價(jià)上網(wǎng)時(shí)代盈利模式研究報(bào)告
- 25年軍考數(shù)學(xué)試卷及答案
- 化工儲(chǔ)存設(shè)備知識(shí)培訓(xùn)課件
- 血透室水處理維護(hù)課件
- 服裝企業(yè)庫存優(yōu)化管理方案
- 低壓作業(yè)實(shí)操科目三安全隱患圖片題庫
- DB1331-T 114-2025 雄安新區(qū)近零碳變電站技術(shù)標(biāo)準(zhǔn)
- 面部血管解剖講解
- c1學(xué)法減分考試題庫及答案
- 恩施排污管理辦法
- 柔性引才協(xié)議書
- 廠區(qū)雜草施工方案(3篇)
評(píng)論
0/150
提交評(píng)論