C 语言输入输出(I/O)精通:scanf() 与 printf() 详解
C 语言输入输出(I/O)精通
本教程通过清晰示例与最佳实践,带你掌握用 scanf() 获取用户输入、用 printf() 格式化输出的核心技巧。
视频:C 语言获取用户输入
观看配套视频见 scanf() 实战演示。
C 语言输出
printf() 是向控制台输出格式化文本的主要工具。以下举例说明。
示例 1:基本文本输出
#include <stdio.h>
int main() {
printf("C Programming");
return 0;
}
输出
C Programming
要点:
main()为程序入口,必须存在。- 需包含
stdio.h使用printf()。 return 0;可选,表示成功退出。
示例 2:整数输出
#include <stdio.h>
int main() {
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
输出
Number = 5
%d 将整数值插入输出字符串。
示例 3:浮点数输出
#include <stdio.h>
int main() {
float number1 = 13.5;
double number2 = 12.4;
printf("number1 = %f\n", number1);
printf("number2 = %lf", number2);
return 0;
}
输出
number1 = 13.500000 number2 = 12.400000
%f 用于 float,%lf 用于 double。
示例 4:字符输出
#include <stdio.h>
int main() {
char chr = 'a';
printf("character = %c", chr);
return 0;
}
输出
character = a
%c 输出单字符。
C 语言输入
scanf() 从标准输入(通常是键盘)读取格式化数据。以下实例演示。
示例 5:整数输入/输出
#include <stdio.h>
int main() {
int testInteger;
printf("Enter an integer: ");
scanf("%d", &testInteger);
printf("Number = %d", testInteger);
return 0;
}
输出
Enter an integer: 4 Number = 4
地址运算符 & 将变量地址传给 scanf() 存储用户输入。
示例 6:浮点数输入/输出
#include <stdio.h>
int main() {
float num1;
double num2;
printf("Enter a number: ");
scanf("%f", &num1);
printf("Enter another number: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}
输出
Enter a number: 12.523 Enter another number: 10.2 num1 = 12.523000 num2 = 10.200000
示例 7:字符输入/输出
#include <stdio.h>
int main() {
char chr;
printf("Enter a character: ");
scanf("%c", &chr);
printf("You entered %c.", chr);
return 0;
}
输出
Enter a character: g You entered g.
字符内部以 ASCII 整数存储;用 %c 打印还原原字符。
示例 8:显示 ASCII 值
#include <stdio.h>
int main() {
char chr;
printf("Enter a character: ");
scanf("%c", &chr);
printf("You entered %c.\n", chr);
printf("ASCII value is %d.", chr);
return 0;
}
输出
Enter a character: g You entered g. ASCII value is 103.
处理多输入
单次 scanf() 读取多值高效简洁:
#include <stdio.h>
int main() {
int a;
float b;
printf("Enter an integer and then a float: ");
scanf("%d%f", &a, &b);
printf("You entered %d and %f", a, b);
return 0;
}
输出
Enter an integer and then a float: -3 3.4 You entered -3 and 3.400000
I/O 格式说明符速查表
%d–int%f–float%lf–double%c–char
| 数据类型 | 格式说明符 |
|---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsigned long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
C语言
- Axiomtek IPS960-511-PoE:面向工业检测的一体化坚固视觉控制器
- acceed EDAM-4200 系列:集成 I/O 模块,实现可扩展、可靠的数据通信
- C# 基础:输入输出核心技巧完全指南
- 掌握 C++ 输入输出:cin/cou 完整实战指南
- C++ 流精通:cout、cin、cerr、clog 实战指南
- C 语言输入输出完全掌握:标准 I/O 与格式化控制
- C 语言文件 I/O 实战:创建、打开、读写与二进制操作
- C# 文件 I/O 完全指南:流、读写操作与文件系统管理
- 掌握 D 锁存器:设计、工作原理与关键差异
- 精通Python输入输出与模块导入:实战指南
- Python 文件 I/O:掌握文件操作、读写与管理
- 精通 Java 输入输出:打印、读取与格式化数据