
【計】 formatted I/O statement
在計算機編程領域,"格式化輸入輸出語句"指通過特定格式控制符讀寫數據的命令,其核心在于規範數據的表示形式與轉換規則。以下是漢英對照解析及技術要點:
格式化輸出(Formatted Output)
将數據按指定格式轉換為文本輸出的過程,如 C 語言的 printf
或 Python 的 format
函數。
例: printf("溫度: %.1f°C", 23.5)
→ 輸出 溫度: 23.5°C
格式化輸入(Formatted Input)
将文本輸入按預定格式解析為程式變量的過程,如 C 的 scanf
函數。
例: scanf("%d-%d-%d", &year, &month, &day)
可解析輸入 2023-10-01
類型 | 符號 | 功能 | 示例 |
---|---|---|---|
整數 | %d |
十進制整數 | printf("%d", 42) |
浮點數 | %f |
小數(默認6位精度) | %.2f → 3.14 |
字符串 | %s |
字符序列 | scanf("%s", str) |
十六進制 | %x |
無符號十六進制數 | printf("%x", 255) → ff |
類型安全
格式符需與變量類型嚴格匹配,否則引發未定義行為(如用 %d
輸出浮點數将導緻數據錯誤)。
寬度與精度控制
%10s
:字符串最小寬度10字符,不足補空格%5.2f
:總寬5字符,保留2位小數(如 _3.14
)跨語言差異
printf
/scanf
,需手動管理緩沖區f-string
(f"{value:.2f}"
)或 str.format
System.out.printf
兼容C風格語法scanf
易導緻緩沖區溢出,建議改用 fgets
+ sscanf
權威參考來源:
- C語言标準庫規範 The C Programming Language (K&R), 第7章
- ISO/IEC 9899:2018 §7.21.6 格式化輸入輸出函數
- Python官方文檔 格式化字符串語法
- CERT C編碼标準 FIO30-C. 避免格式化字符串漏洞
格式化輸入輸出語句是編程中用于控制數據讀取或顯示格式的核心機制,主要作用是将數據按照特定模式轉換為可讀文本或解析用戶輸入。以下是詳細解釋:
通過占位符和格式說明符控制數據顯示樣式:
基本語法:如C語言的printf("姓名:%s 年齡:%d", name, age)
,其中%s
和%d
分别對應字符串和整型
格式控制參數:
%-10s
表示左對齊并占10字符寬度%.2f
保留兩位小數%x
顯示十六進制數現代語言實現:
Python的f-string:print(f"價格:{price:.2f}¥")
Java的String.format()
:System.out.printf("%,d", 1000000)
顯示為1,000,000
将用戶輸入解析為指定數據類型:
int num;
scanf("%d", &num);// 讀取整數
user_input = input("輸入日期(YYYY-MM-DD): ")
year, month, day = map(int, user_input.split('-'))
$12.00
而非12
12,345.67
vs 12.345,67
)printf("%d", "abc")
)%20s
)不同語言實現細節有所差異,但核心思想都是通過預定義模闆控制數據表示形式,在數據處理和交互設計中具有重要作用。
【别人正在浏覽】