当前位置:   article > 正文

C语言常用的输出格式控制_c语音如何控制整数的输出长度

c语音如何控制整数的输出长度

C语言里面,输出是调用printf()这个函数,在stdio.h定义在这个头文件中。这里简单总结一下printf函数的几种常见用法。

printf函数原型

printf函数是一个返回值为int类型的函数,返回的值是输出的字符长度。

# include <stdio.h>
int printf(const char *format, ...);
  • 1
  • 2

比如下面这个程序,a的值为4。因为输出了123,还有一个换行符,总共四个字符。

#include<stdio.h>
int main(){
    int a=printf("%d\n",123);
    printf("%d",a);
}
  • 1
  • 2
  • 3
  • 4
  • 5

常用的格式说明符

C语言里面有浮点型,整形,字符,等类型的数据,那么要输出这些类型的变量,就要使用相应的各式控制符,常用的具体如下表所示。

说明符输出量
d i有符号十进制整数392
u无符号十进制整数7235
o无符号八进制610
x无符号十六进制整数7FA
X无符号十六进制整数(大写)7FA
f十进制浮点数,小写392.65
F十进制浮点数,大写392.65
e科学表示法(尾数/指数),小写3.9265 e+2
E科学表示法(尾数/指数),大写3.9265 E+2
g使用最短的表示:%e%f392.65
G使用最短的表示:%E%F392.65
a十六进制浮点,小写-0xc.90fep-2
A十六进制浮点,大写-0XC.90FEP-2
c字符a
s字符串字符样本
p指针地址8000000
n没有印刷。

相应的参数必须是指向有符号整数的指针。

到目前为止写入的字符数存储在指定的位置。
%输出字符%%

代码示例如下

#include<stdio.h>
int main(){
    printf("%c\n",'a');
    printf("%d\n",123);
    printf("%f\n",123.4567);
    printf("%%\n");
    printf("%s","hello world");
    // …………………… 剩下的照着上面的样例自己试试。
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

补充说明

除了上述格式外,还有一些比较常用的。

%xd

意思是当输出字符总共占x个宽度(一个字符一个宽度,例如数字123456,则是六个字符串宽度)。但输出字符宽度少于x时,用空格补齐,当输出字符多余x个时,按原本内容输出。

#include<stdio.h>
int main(){
   printf("%3d\n",1);
   printf("%3d",123);
}
  • 1
  • 2
  • 3
  • 4
  • 5

%0xd

这个用法跟上面%md用法类似,区别在于,当输出不足x位时,则使用0去补齐。

#include<stdio.h>
int main(){
   printf("%03d\n",1);
   printf("%03d",123);
}
  • 1
  • 2
  • 3
  • 4
  • 5

%x.mf

这个是控制小数位数的输出格式,m表示输出的小数位数。x用法则跟上面%xd一样。不过这个如果不要求整数部分的位数时,可以省略写成.mf

#include<stdio.h>
int main(){
    printf("%3.4f\n",123.4567);
    printf("%.4f\n",123.4567);
    printf("%4.6f\n",123.4567);

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

%+d、%+f、%+x.mf 等

这个输出格式跟上面的区别在于多了一个+号。在C语言里面,输出数值类型的变量时,如果为正数,是默认省略数字前面的+号。而这里加了+号之后,就可以在输出的时候,带上+号

#include<stdio.h>
int main(){
    printf("%+3.4f\n",123.4567);
    printf("%+d\n",123);
    printf("%+f\n",12113.4567);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

%-x.mf、%-xd 等

这个输出格式跟上面的区别在于多了一个-号。这个表示左对齐。原本输出时不足x位,则会用空格补齐,不过空格是放在左边的,加了-号之后,空格会补在右边。

#include<stdio.h>
int main(){
    printf("%-3.4f\n",123.4567);
    printf("%-10d\n",12113);
}
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/itdef/article/detail/62595
推荐阅读
相关标签
  

闽ICP备14008679号