1 函数简介
printf()函数和scanf()函数能让用户可以与程序交流,它们是输入/输出函数,或简称为I/O函数。虽然printf()是输出函数,scanf()是输入函数,但是它们的工作原理几乎相同。两个函数都使用格式字符串和参数列表。
2 scanf()函数
C库包含了多个输入函数,scanf()是最通用的一个,因为它可以读取不同格式的数据,scanf()把输入的字符串转换成整数、浮点数、字符或字符串
2.1 scanf()函数的转换说明
转换说明 | 功能含义 |
---|---|
%c | 把输入内容转换为字符 |
%d | 把输入内容转换为有符号十进制整数 |
%u | 把输入内容转换为无符号十进制整数 |
%o | 把输入内容转换为有符号八进制整数 |
%x | 把输入内容转换为有符号十六进制整数 |
%f | 把输入内容转换为浮点数 |
%s | 把输入内容转换为字符串 |
%p | 把输入内容转换为指针 |
2.2 scanf()函数转换说明中修饰符的使用
修饰符 | 功能含义 |
---|---|
数字 | 最小字段宽度 |
2.3 scanf()函数的使用
scanf()函数使用指向变量的指针:
- 如果用scanf()读取基本变量类型的值,在变量名前加上一个&:
int age; // 变量
float assets; // 变量
scanf("%d %f", &age, &assets); // 这里要使用&
- 如果用scanf()把字符串读入字符数组中,不要使用&:
char pet[30]; // 字符数组,用于储存字符串
scanf("%s", pet); // 字符数组不使用&
当输入多个参数时,scanf()函数使用空白(换行符、制表符和空格)把输入分成多个字段
3 printf()函数
请求printf()函数打印数据的指令要与待打印数据的类型相匹配
3.1 printf()函数的转换说明
转换说明 | 功能含义 |
---|---|
%c | 输出单个字符 |
%d | 输出有符号十进制整数 |
%u | 输出无符号十进制整数 |
%o | 输出八进制整数 |
%x | 输出十六进制整数0f |
%X | 输出十六进制整数0F |
%f | 输出十进制浮点数 |
%s | 输出字符串 |
%p | 输出指针 |
%% | 输出% |
3.2 printf()函数转换说明中修饰符的使用
修饰符 | 功能含义 |
---|---|
数字 | 最小字段宽度,如“%4d” |
.数字 | 精度,如“%.2f” |
- | 左对齐 |
+ | 有符号值若为正,则显示+;有符号值若为负,则显示- |
空格 | 有符号值若为正,则显示空格;有符号值若为负,则显示- |
3.3 printf()函数的使用
格式:printf( 格式字符串, 待打印项1, 待打印项2,...);