基本輸入輸出
若需要使用輸入輸出函數(shù),則需要包含頭文件。
輸出
printf
printf是最常用的輸出函數(shù),可以格式化輸出任意的基本數(shù)據(jù)類型的變量。
int printf(const char*format,...)
- format:"格式控制符"是用雙引號(hào)括起來的字符串(格式控制符,也叫占位符)
- ...:"輸出列表"中的數(shù)據(jù)可以是合法的常量、變量和表達(dá)式,要與“格式控制字符串”中的格式一一對(duì)應(yīng)。
格式控制符表:
格式控制符可選格式:
%[-][0][m][l]*
%d 按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出
%[0]md以m指定的字段寬度輸出,若數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)空格;若m前面有“0”,則左端補(bǔ)以0。
%-md以m指定的字段寬度輸出,左對(duì)齊
%ld輸出long int
示例:
//一般
printf("hello world");
printf("圓周率為:%lf", 3.1415);
printf("一周有%d天", 7);
//使用可選格式
printf("%d\\n", 52);
printf("%3d\\n", 52); //輸出的內(nèi)容占3個(gè)字符寬度,默認(rèn)右對(duì)齊,用空格填充
printf("%03d\\n", 52); //同上,只不過填充字符從空格換成了0
//只需要在%后面加上負(fù)號(hào)即可表示左對(duì)齊
printf("%-3d\\n", 52);
注意事項(xiàng):
很多同學(xué)在輸出的時(shí)候,會(huì)遇到很多啊問題,大概就是以下幾點(diǎn):
- 格式字符中,除了X、E、G外,其他均用小寫字母,如“%d”不能寫成“%D”。
- 不同類型的數(shù)據(jù)應(yīng)使用相應(yīng)類型的格式字符說明其輸出形式。
- 如需輸出雙引號(hào),應(yīng)在“格式控制”中表示為轉(zhuǎn)義字符的形式并用單引號(hào)引起來,即“\\””。
- 如需輸出字符“%”,在“格式控制”中用連續(xù)兩個(gè)“%”即可。 如:printf(“%d%%”,s);
- 當(dāng)“格式控制”中格式符個(gè)數(shù)少于輸出表中的輸出項(xiàng)時(shí),多余的輸出項(xiàng)不予輸出。
- 當(dāng)“格式符”多于輸出項(xiàng)時(shí),結(jié)果為不定值。
putchar
有些時(shí)候,僅僅為了打印一個(gè)字符在顯示器屏幕上,此時(shí)動(dòng)用功能強(qiáng)大的printf函數(shù),則頗有高射炮打蚊子之嫌,C提供了一個(gè)庫函數(shù)putchar來完成這個(gè)簡(jiǎn)單的任務(wù)。
int putchar(int ch);
//使用
putchar('A');
putchar(65);
puts
而有些時(shí)候僅僅是為了輸出一個(gè)字符串,使用printf函數(shù)也稍顯麻煩,可以使用C提供的一個(gè)庫函數(shù)puts,而且puts函數(shù)會(huì)在輸出字符串之后,自動(dòng)進(jìn)行換行。
int puts(const char*str);
//使用
puts("hello world");
輸入
scanf
scanf是最常用的輸入函數(shù),可以格式化輸入任意基本數(shù)據(jù)類型的變量。
int scanf(const char* format,...);
- format:"格式控制符"是用雙引號(hào)括起來的字符串
- ...:"輸入列表"中的數(shù)據(jù)必須是合法變量的地址表(即變量前面加&符),要與“格式控制字符串”中的格式一一對(duì)應(yīng)。
- 如果輸入的輸入不止一個(gè),在format格式控制字符串中,必須以空格間隔。
示例:
const double PI = 3.1415;
int radius = 0;
printf("請(qǐng)輸入半徑:\\n");
scanf("%d", &radius);
printf("圓的面積為:%lf", PI * radius * radius);
scanf函數(shù)注意事項(xiàng)
scanf函數(shù)的格式字符串由以下三類字符組成:
- 1>格式符(也叫占位符)和printf函數(shù)類似,scanf函數(shù)的格式字符串以%開始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符。格式符告訴了scanf函數(shù)該讀取什么樣的數(shù)據(jù)。
- 2>空白符空白符可以是空格(用空格鍵輸入)、制表符(用Tab鍵輸入)和新行符(用回車鍵輸入)。
- 3>非空白符除去格式說明符合空白符之外,就是非空白符。非空白符在用戶輸入的時(shí)候,也必須一并輸入。
getchar
可以非常方便的輸入一個(gè)字符。
int getchar();
//使用
int ch =getchar();
putchar(ch);
gets_s
可以非常方便的輸入一個(gè)字符串。
char* gets_s(char* _Buffer,size_t _Size);
//使用
char name[50]="";
gets_s(name,50);
puts(name);
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4331瀏覽量
62633 -
數(shù)據(jù)類型
+關(guān)注
關(guān)注
0文章
236瀏覽量
13624 -
Printf
+關(guān)注
關(guān)注
0文章
83瀏覽量
13662
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論