格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。
格式字符有d,o,x,u,c,s,f,e,g等。
如
%d整型输出,%ld长整型输出,
%o以八进制数形式输出整数,
%x以十六进制数形式输出整数,或输出字符串的地址。
%u以十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。
%c用来输出一个字符,
%s用来输出一个字符串,
%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。
%.100f用来输出实数,保留小数点100位。
%e以指数形式输出实数,
%g根据大小自动选f格式或e格式,且不输出无意义的
格式字符有d,o,x,u,c,s,f,e,g等。
如
%d整型输出,%ld长整型输出,
%o以八进制数形式输出整数,
%x以十六进制数形式输出整数,或输出字符串的地址。
%u以十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。
%c用来输出一个字符,
%s用来输出一个字符串,
%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。
%.100f用来输出实数,保留小数点100位。
%e以指数形式输出实数,
%g根据大小自动选f格式或e格式,且不输出无意义的
【格式化输入输出】
#include <stdio.h> int main() { int a = 0, b = 0; scanf("%*d%d", &a);//%*d中的*表示禁止字符,即输入的第一个数据被跳过,不进行赋值 printf("a = %d, b = %d\n", a, b); printf("%10d,%-10d,%d\n", 100, 200, 300);//%10d表示该数据如果不足//10位左边补空格,%-10d表示该数据如果不足10位右边补空格 printf("%08d\n", 100);//%08d中的08表示数据如果不足8位则左边补0 printf("%0*d\n", 8, 100);//%0*d中的0*表示数据不足后面第一个参数,//即8,所含的位数,则左边补0 printf("0%o,0x%x\n", 8, 16);//0%o表示将数据按8进制输出;0x%x表示//将数据按16进制输出 printf("%.2f\n", 12.34567); printf("%10.2f\n", 12.34567); return 0; }
【时间函数的使用】
#include <stdio.h> #include <time.h> int main() { time_t t = time(0);//使用函数time获取当前系统时间。 struct tm * local = localtime(&t);//将系统时间转换成本地时间 printf("%d年%d月%d日 %d:%d:%d\n", \ 1900 + local->tm_year, local->tm_mon + 1, local->tm_mday,\ local->tm_hour, local->tm_min, local->tm_sec); return 0; }