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