c 语言控制输出格式,C语言通用输出格式控制,常用,的

C语言里面,输出是调用printf()这个函数,在

stdio.h

定义在这个头文件中。这里简单总结一下printf函数的几种常见用法。

printf函数原型

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

# include

int printf(const char *format, ...);

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

#include

int main(){

int a=printf("%d\n",123);

printf("%d",a);

}

常用的格式说明符

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

%f

392.65

G

使用最短的表示:

%E

%F

392.65

a

十六进制浮点,小写

-0xc.90fep-2

A

十六进制浮点,大写

-0XC.90FEP-2

c

字符

a

s

字符串字符

样本

p

指针地址

8000000

n

没有印刷。

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

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

%

输出字符%

%

代码示例如下

#include

int main(){

printf("%c\n",'a');

printf("%d\n",123);

printf("%f\n",123.4567);

printf("%%\n");

printf("%s","hello world");

// …………………… 剩下的照着上面的样例自己试试。

}

补充说明

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

%xd

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

#include

int main(){

printf("%3d\n",1);

printf("%3d",123);

}

%0xd

这个用法跟上面

%md

用法类似,区别在于,当输出不足x位时,则使用0去补齐。

#include

int main(){

printf("%03d\n",1);

printf("%03d",123);

}

%x.mf

这个是控制小数位数的输出格式,m表示输出的小数位数。x用法则跟上面

%xd

一样。不过这个如果不要求整数部分的位数时,可以省略写成

.mf

#include

int main(){

printf("%3.4f\n",123.4567);

printf("%.4f\n",123.4567);

printf("%4.6f\n",123.4567);

}

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

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

#include

int main(){

printf("%+3.4f\n",123.4567);

printf("%+d\n",123);

printf("%+f\n",12113.4567);

}

%-x.mf、%-xd 等

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

#include

int main(){

printf("%-3.4f\n",123.4567);

printf("%-10d\n",12113);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值