11.5

发布时间 2023-11-05 23:52:43作者: 威猛彪悍大甜妹

11.5printfscanf介绍

占位符

scanfprintf中可以使用,意思是这个位置是有占位符占用,可以在双引号时候使用逗号分隔开需要替换的值,其与占位符一一对应

"%d%c%d",21,a,22
--->21a22

常用占位符列举

  • %a:⼗六进制浮点数,字⺟输出为⼩写
  • %A:六进制浮点数,字⺟输出为⼤写
  • %c:字符
  • %d:⼗进制整数
  • %e:使⽤科学计数法的浮点数,指数部分的 e 为小写
  • %E:使⽤科学计数法的浮点数,指数部分的 E 为大写
  • %i:整数,基本等同于 %d
  • %f:⼩数(包含 float 类型和 double 类型)
  • %g:6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写
  • %G:等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写
  • %hd:⼗进制 short int 类型
  • %ho:⼋进制 short int 类型
  • %hx:⼗六进制 short int 类型
  • %hu:unsigned short int 类型
  • %ld:⼗进制 long int 类型
  • %lo:⼋进制 long int 类型
  • %lx:⼗六进制 long int 类型
  • %lu:unsigned long int 类型
  • %lld:⼗进制 long long int 类型
  • %llo:⼋进制 long long int 类型
  • %llx:⼗六进制 long long int 类型
  • %llu:unsigned long long int 类型
  • %Le:科学计数法表⽰的 long double 类型浮点数
  • %Lf:long double 类型浮点数
  • %n:已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中
  • %o:⼋进制整数
  • %p:指针
  • %s:字符串
  • %u:⽆符号整数(unsigned int
  • %x:⼗六进制整数
  • %zd:size_t 类型
  • %% :输出⼀个百分号

printf

将参数文本输出到屏幕,它里面的f代表format(格式化),表示可以定制文本格式。

经典:

#include<stdio.h>
int main()
{
    printf("Hello World");
    return 0;
}

如果希望换行,可以在想要换行的地方添加\n(换行符)

printf()是标准库的头文件stdio.h定义的,在使用之前,必须在源码文件头部引入这个头文件

stdio->>standard input output

限定宽度
"%5d"-->表示这个占位符宽度至少为5,如果不为5则在前面补空格,可补充‘0’,‘+/-’等符号
例:
    数字
printf("%5d",123);//"  123"
printf("%-5d",123);//"123  "
printf("%12f",123.45);//"  123.450000"-->小数的默认显示精度是小数后6位,所以前面补2个空格
printf("%+d",12);//"+12"
printf("%+d",-12);//"-12"-->显示符号
printf("%.2f",0.5);//"0.50"
printf("%6.3f",0.5);//"  0.500"
printf("%*.*f",6,2,0.5);//与上一个等价,即可以通过传参实现
	字符串
printf("%.5s","hello world");//"hello"