printf()函数和scanf()函数都能让用户可以与程序交流,它们是输入/输出函数,或简称为 I/O函数。本节介绍printf()函数的用法。
Hello,World!
最基础的输出
#include<stdio.h>
int main(){
printf("Hello,World!");
}
函数格式
printf(格式字符串,待打印项1,待打印项2,… . ) ;
格式字符串的组成
- 实际要打印的字符
- 转换说明
转换说明
请求printf()函数打印数据的指令要与待打印数据的类型相匹配。打印整数时使用%d,打印字符时使用%c。
#include<stdio.h>
int main(){
int a=3;
char b='c';
printf("a=%d,b=%c",a,b);
}
这些符号被称为转换说明,它们指定了如何把数据转换成可显示的形式。 ANSI C标准为printf()提供的转换说明如下图所示。
转换说明修饰符
在%和转换字符之间插入修饰符可修饰基本的转换说明。
示例
#include <stdio.h>
int main()
{
printf("a=%+d\n",10);
printf("b=%+d\n",-34);
printf("a=% d\n",10);
printf("b=% d\n",-34);
printf("a=%4d\n",10);
printf("f=%.2f\n",3.256);
}
输出结果为:
printf的输出什么时候会打印
printf( )语句把输出发送到一个叫作缓冲区(buffer)的中间存储区域,然后缓冲区中的内容再不断被发送到屏幕上。
当缓冲区满、遇到换行字符,需要输入或程序结束的时候(从缓冲区把数据发送到屏幕或文件被称为刷新缓冲区)会把缓冲区的内容输出到屏幕上。
如下代码不会输出到屏幕上。
#include <stdio.h>
int main()
{
printf("Hello,World!");
printf("Hello,C!");
printf("Hello,VS!");
while (1) {}
}
在格式字符串的末尾加上换行符能正常打印
#include <stdio.h>
int main()
{
printf("Hello,World!");
printf("Hello,C!");
printf("Hello,VS!\n");
while (1) {}
}