当前位置:   article > 正文

printf函数详解_printf对齐打印

printf对齐打印

一、printf()函数详解

1.1函数作用

printf()的作用就是将参数文本中的信息输出到屏幕。其中print知道是打印,f是format(格式化),表示可以定制输出文本的格式。

我来举个例子让大家直观感受一下:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("hello world");
  5. return 0;
  6. }

下图结果结果是:

我们可以看这串代码,在printf()函数中加入了“hello world ”," "和hello world都不可少,并且这串代码引入了头文件<stdio.h>,我们在使用printf函数时应该包含这个头文件。如果没有添加的话

 

就会显示printf没有定义,<stdio.h>头文件在我们呢日常使用的时候几乎都能用到,所以在写代码前养成写这个头文件的习惯。

1.2  \n

\n指的是换行符,它是一个转义字符,转移字符以后我们会提到,现在我们只要知道它的作用就是实现换行输入。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("hello world\n");
  5. return 0;
  6. }

结果为:

我们可以看到在正常输出hello world的基础上,它又在后边换行了。这里需要注意一下 \n不能在” “外边。当然,\n也可以用在文本中间,用来实现文本间的换行。

1.2占位符

占位符,指的就是可被其他值代替。下面请看这个代码:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("there is %d apples", 3);
  5. return 0;
  6. }

运行结果为:

我们可以看到原本%d的位置被3替代了,这个%d就是一个占位符。

占位符有两个部分组成,第一个字符必须是%,第二个字符表示占位符的类型,%d表示这里代入的值必须是整数。

占位符含义
%d以十进制形式输出整数
%u以十进制形式输出无符号整数
%x以十六进制形式输出整数(小写字母)
%X以十六进制形式输出整数(大写字母)
%o以八进制形式输出整数
%f以浮点数形式输出实数
%e以指数形式输出实数
%g自动选择 %f 或 %e 输出实数
%c输出单个字符
%s输出字符串
%p输出指针的地址
%n输出已经输出的字符数
%%输出百分号本身
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a = 10;
  5. unsigned int b = 20;
  6. int c = 'a';
  7. char arr[] = "hello world";
  8. float f = 0.5;
  9. double lf = 3.14;
  10. printf("a=%d\n", a);
  11. printf("b=%u\n", b);
  12. printf("c=%c\n", c);
  13. printf("arr=%s\n", arr);
  14. printf("f=%f\n", f);
  15. printf("lf=%lf\n", lf);
  16. return 0;
  17. }

下面是结果:

1.3限定小数位数

在上面我们可以看到%f与%lf打印出来的数据都自动保留了6位小数,那有没有办法限定小数的未熟呢?当然有,请看以下代码:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. float a = 3.14;
  5. printf("%.2f is not %f\n", a,a);
  6. return 0;
  7. }

结果为:

我们可以看到,想要限定小数的位数为2位,我们可以将%f改为%.2f,也就是说你想要限定小鼠的位数,你就要改为%几f。限定小数位数也可以与限定宽度结合使用。

那么什么是限定宽度呢?请大家来跟我看一下。

1.4 限定宽度

  printf() 允许限定占位符的最⼩宽度。 
  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("%5d", 123);
  5. return 0;
  6. }

结果为:

可能不好看出来,但输出的结果是在123前面加入两个空格,使其宽度为5位,如果不满5位就会在前面补上空格。输出的结果是默认右对齐。如果想达到左对齐的效果只需要把5改为-5。

对于小数,这个限定符会限定所有数字的最小显示宽度。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("%12f", 123.45);
  5. return 0;
  6. }
上⾯⽰例中, %12f 表⽰输出的浮点数最少要占据12位。由于⼩数的默认显⽰精度是⼩数点后6位, 所以 123.45 输出结果的头部会添加2个空格。
与限定小数位数结合为:
  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("%6.2f",0.5);
  5. return 0;
  6. }
上⾯⽰例中, %6.2f 表⽰输出字符串最⼩宽度为6,⼩数位数为2。所以,输出字符串的头部有两个空格。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/899855
推荐阅读