文章目錄
- 1. 什么是輸入輸出?
- 2. 標準輸入輸出函數
- 2.1 `printf` 函數
- 2.2 `scanf` 函數
- 3. 格式化占位符
- 4. 示例代碼
- 代碼解析:
- 輸出結果:
- 5. 常見問題
- 問題 1:`scanf` 中的 `&` 是什么作用?
- 問題 2:`printf` 和 `scanf` 的格式化字符串必須匹配嗎?
- 問題 3:如何讀取字符串?
- 6. 擴展練習
1. 什么是輸入輸出?
在 C 語言中,輸入輸出(I/O)是指程序與用戶或外部設備之間的數據交互。常見的輸入輸出操作包括從鍵盤讀取數據(輸入)和將數據打印到屏幕(輸出)。
2. 標準輸入輸出函數
C 語言提供了標準庫函數 printf
和 scanf
,分別用于輸出和輸入。
2.1 printf
函數
printf
用于將數據格式化輸出到屏幕。語法如下:
printf("格式化字符串", 參數列表);
例如:
int age = 25;
printf("年齡: %d\n", age);
%d
是格式化占位符,表示輸出整數。\n
是換行符,表示輸出后換行。
2.2 scanf
函數
scanf
用于從鍵盤讀取數據。語法如下:
scanf("格式化字符串", &變量);
例如:
int age;
scanf("%d", &age);
%d
是格式化占位符,表示讀取整數。&
是取地址運算符,用于獲取變量的地址。
3. 格式化占位符
以下是一些常用的格式化占位符:
占位符 | 數據類型 | 示例 |
---|---|---|
%d | 整數 | int age = 25; |
%f | 浮點數 | float price = 99.99; |
%c | 字符 | char letter = 'A'; |
%s | 字符串 | char name[] = "Alice"; |
%lf | 雙精度浮點數 | double pi = 3.14159; |
4. 示例代碼
以下是一個使用 printf
和 scanf
的示例程序:
#include <stdio.h>int main() {int age;float height;// 輸入年齡和身高printf("請輸入年齡: ");scanf("%d", &age);printf("請輸入身高 (米): ");scanf("%f", &height);// 輸出結果printf("年齡: %d\n", age);printf("身高: %.2f 米\n", height);return 0;
}
代碼解析:
-
輸入部分:
- 使用
scanf
從鍵盤讀取用戶的年齡和身高。
- 使用
-
輸出部分:
- 使用
printf
將輸入的年齡和身高格式化輸出到屏幕。 %.2f
表示保留兩位小數的浮點數。
- 使用
輸出結果:
請輸入年齡: 25
請輸入身高 (米): 1.75
年齡: 25
身高: 1.75 米
5. 常見問題
問題 1:scanf
中的 &
是什么作用?
&
是取地址運算符,用于獲取變量的內存地址。scanf
需要知道變量的地址才能將輸入的值存儲到變量中。
問題 2:printf
和 scanf
的格式化字符串必須匹配嗎?
- 是的。格式化字符串中的占位符必須與變量的數據類型匹配,否則會導致錯誤或意外行為。
問題 3:如何讀取字符串?
- 使用
%s
占位符讀取字符串。例如:char name[50]; scanf("%s", name);
- 注意:
scanf
讀取字符串時遇到空格會停止。
- 注意:
6. 擴展練習
- 修改程序,讀取用戶的名字并輸出。
- 嘗試讀取多個值(如年齡、身高、體重)并輸出。
- 使用
printf
輸出一個表格,包含姓名、年齡和身高。