基本輸入輸出
若需要使用輸入輸出函數,則需要包含頭文件。
輸出
printf
printf是最常用的輸出函數,可以格式化輸出任意的基本數據類型的變量。
int printf(const char*format,...)
- format:"格式控制符"是用雙引號括起來的字符串(格式控制符,也叫占位符)
- ...:"輸出列表"中的數據可以是合法的常量、變量和表達式,要與“格式控制字符串”中的格式一一對應。
格式控制符表:
格式控制符可選格式:
%[-][0][m][l]*
%d 按整型數據的實際長度輸出
%[0]md以m指定的字段寬度輸出,若數據的位數小于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); //輸出的內容占3個字符寬度,默認右對齊,用空格填充
printf("%03d\\n", 52); //同上,只不過填充字符從空格換成了0
//只需要在%后面加上負號即可表示左對齊
printf("%-3d\\n", 52);
注意事項:
很多同學在輸出的時候,會遇到很多啊問題,大概就是以下幾點:
- 格式字符中,除了X、E、G外,其他均用小寫字母,如“%d”不能寫成“%D”。
- 不同類型的數據應使用相應類型的格式字符說明其輸出形式。
- 如需輸出雙引號,應在“格式控制”中表示為轉義字符的形式并用單引號引起來,即“\\””。
- 如需輸出字符“%”,在“格式控制”中用連續兩個“%”即可。 如:printf(“%d%%”,s);
- 當“格式控制”中格式符個數少于輸出表中的輸出項時,多余的輸出項不予輸出。
- 當“格式符”多于輸出項時,結果為不定值。
putchar
有些時候,僅僅為了打印一個字符在顯示器屏幕上,此時動用功能強大的printf函數,則頗有高射炮打蚊子之嫌,C提供了一個庫函數putchar來完成這個簡單的任務。
int putchar(int ch);
//使用
putchar('A');
putchar(65);
puts
而有些時候僅僅是為了輸出一個字符串,使用printf函數也稍顯麻煩,可以使用C提供的一個庫函數puts,而且puts函數會在輸出字符串之后,自動進行換行。
int puts(const char*str);
//使用
puts("hello world");
輸入
scanf
scanf是最常用的輸入函數,可以格式化輸入任意基本數據類型的變量。
int scanf(const char* format,...);
- format:"格式控制符"是用雙引號括起來的字符串
- ...:"輸入列表"中的數據必須是合法變量的地址表(即變量前面加&符),要與“格式控制字符串”中的格式一一對應。
- 如果輸入的輸入不止一個,在format格式控制字符串中,必須以空格間隔。
示例:
const double PI = 3.1415;
int radius = 0;
printf("請輸入半徑:\\n");
scanf("%d", &radius);
printf("圓的面積為:%lf", PI * radius * radius);
scanf函數注意事項
scanf函數的格式字符串由以下三類字符組成:
- 1>格式符(也叫占位符)和printf函數類似,scanf函數的格式字符串以%開始,以一個格式字符結束,中間可以插入附加的字符。格式符告訴了scanf函數該讀取什么樣的數據。
- 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);
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
函數
+關注
關注
3文章
4362瀏覽量
63704 -
數據類型
+關注
關注
0文章
236瀏覽量
13751 -
Printf
+關注
關注
0文章
83瀏覽量
13989
發布評論請先 登錄
相關推薦
CCS3.3的標準輸入輸出函數像printf()函數怎么不起作用
請教一下各位大神。。。最近CCS3.3的標準輸入輸出函數怎么不起作用了,譬如像printf("OK。E2prom-->E2promImageNow.tg \n"); 這段
發表于 12-03 16:02
什么是輸入輸出模塊_輸入輸出模塊有什么作用
輸入輸出模塊也稱為控制模塊,在有控制要求時可以輸出信號,或者提供一個開關量信號,使被控設備動作,同時可以接收設備的反饋信號,以向主機報告,是火災報警聯動系統中重要的組成部分。市場上的輸入輸出
發表于 05-21 10:28
?12w次閱讀
實現重定向printf()和scanf() 函數案例分析
要想printf()和scanf() 函數工作,我們需要把printf()和scanf() 重新定向到串口中。重定向是指用戶可以自己重寫C 的庫函數,當連接器檢查到用戶編寫了與C 庫函
發表于 06-23 08:26
?9522次閱讀

51單片機C51語言的scanf和printf是如何使用的詳細程序說明
本文檔的主要內容詳細介紹的是51單片機C語言的scanf和printf是如何使用的詳細程序說明。
發表于 08-26 17:30
?26次下載

GPIO通用輸入輸出
GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業現場需要用到數字量輸入/輸出的場合。例如:
發表于 12-20 18:58
?6次下載

AT32講堂006 | AT32 MCU Printf的功能使用方法
具體內容IAR環境下經TerminalI/O虛擬終端輸出簡介IAR提供的鏈接到其Terminal的驅動內就包含有常用的scanf和printf等標準輸入輸出驅動函

plc帶模擬量輸入輸出和不帶模擬量輸入輸出有什么區別啊?
plc帶模擬量輸入輸出和不帶模擬量輸入輸出有什么區別??? PLC是一種廣泛應用的自動化控制器,它可通過輸入和輸出控制信號來管理各種自動化過程。PLC的“模擬量”
c語言怎么用scanf輸入字符串
: # include int main () { char name[ 20 ]; printf ( "請輸入您的姓名: " ); scanf ( "%s" , name); printf
寄存器的輸入輸出方式
寄存器的輸入輸出方式是數字電路設計中至關重要的部分,它決定了數據如何在寄存器中進出以及處理的效率。下面將詳細探討寄存器的幾種主要輸入輸出方式,包括并行輸入輸出、串行輸入輸出以及雙向
評論