携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
printf()和scanf()函数能让用户可以和程序有更好的交流,它们是输入和输出函数,简称I/O函数。虽然scanf()是输入函数,printf()是输出函数,但实际工作原理差不多。
printf()
请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如,打印整数使用%d,打印字符使用%c。这些符号称为转换说明,它们指定了如何把数据转化成可显示的形式。下面这个表格介绍了一些转换说明和各自对应的输出类型。
| 转换说明 | 输出 |
|---|---|
| %a | 浮点数,十六进制数 |
| %c | 单个字符 |
| %d | 有符号的十进制整数 |
| %e | 浮点数 |
| %f | 浮点数,十进制记数法 |
| %i | 有符号十进制整数 |
| %o | 无符号八进制整数 |
| %p | 指针 |
| %s | 字符串 |
| %u | 无符号十进制整数 |
| %x | 无符号十六进制整数 |
| %% | 打印一个百分号 |
举个简单例子使用printf()
#include <stdio.h>
#define PI 3.141593
int main(){
int number = 7;
float pies = 12.75;
int cost = 7800;
printf("The %d contestants ate %f berry pies.\n",number,pies);
printf("The value of pi is %f.\n",PI);
printf("Farewell! thou art too dear for my possessing,\n");
printf("%c%d\n",'$',2*cost);
return 0;
}
运行结果
格式
printf(格式字符串,待打印项1,待打印项2,……);
- 格式字符串应包含每个待打印项对应的转换说明。例如例子中:
printf("The %d contestants ate %f berry pies.\n",number,pies);
且格式字符串是双引号括起来的内容。这个语句的格式字符串包含两个待打印值:number,pies 对应两个转换说明。
printf("The value of pi is %f.\n",PI);
这个例中,只有一个项需要打印。所以,打印项数量任意。
- 待打印项1,待打印项2等都是要打印项。它们可以是变量,常量,甚至是在打印之前先要计算的表达式。
注意事项
- 格式字符串中的转换说明需要和后面的项匹配
- 如果只打印短语或句子,就不需要使用任何转换。如果只打印数据,也不用加入说明文字。
- printf()使用的是值,变量或者表达示的值
- 想要打印%,可以写两个%来表示。例如:
pc=2*5;
printf("Only %d%% of Sally's qribbles were edible.\n",pc);