格式字符

这一篇我们来介绍一下格式字符,这个是我们在进行代码编写时必须要实用到的。

我们就一个个来介绍。

d格式符

用来输出一个有符号的十进制整数。
在输出时,按十进制整形数据的实际长度输出,正数的符号不输出。

可以在格式声明中指定输出数据的域宽(所占的列数),如用“%5d”,指定输出数据占5列,
输出的数据显示在此5列区域的右侧,就是从最右侧开始占用位置。
就比如下面:
在这里插入图片描述
若输出long(长整型)数据,在格式字符d前加字母l(代表long),即“%ld”。
若输出long long(双长整型)数据,在格式符d前加两个字母ll(代表long long),即“%lld”。

c格式符

用来输出一个字母。
在这里插入图片描述

我们也会遇到把数字转换为字符输出的情况,这个就要求数字是在0~127的范围中,这个是利用ASCII码来进行输出的。

如果我们输入的数据超出127,那么要转换为字符输出时,就把它的最后一个字节的信息以字符形式输出。
因为一个字节占8个位置,每个位置有两种存放数据的形式,就是0和1,那么8个位置一共可以存储128个数据,
超出的数据直接删去了。
例如,
我们输入377,转换成字符输出的时y
377的存储单元是这样的:
00000001 01111001,
这个的最后一个字节对应的就是121,而121的字符表达就是y。

s格式符

用来输出一个字符串。

比如:

printf("%s","CHINA");

这个就是输出字符串CHINA,注意字符串要用双撇号。

f格式符

用来输出实数(包括单,双精度,长双精度),以小数形式输出。
有以下几种用法:
1.基本型,用%f。
不指定输出数据的长度,由系统根据数据的实际情况决定数据所占的列数。
系统处理的一般方法是:实数中的整数部分全部输出,小数部分输出6位。
这个遇到需要高精度的数据时是不准确的。

2.根据数据宽度和小数位数,用%m.nf。
m表示总列数,n表示小数点的列数
这里是将最后一位采取了四舍五入的输出形式,
如果n为0,则不仅小数部分不输出,小数点也不输出。
小数点占一列。

我们在使用%f来进行输出时,要注意数据本身能提供的有效数字,
float型数据只能保证6位有效数字,
double型数据能保证15位有效数字。
超出可能会导致出错。

3.输出的数据向左对齐,用%-m.nf。
当数据长度不超过m时,数据向左靠,右端补空格。

e格式符

用格式声明%e指定以指数形式输出实数。
如果不指定输出数据所占的宽度和数字部分的小数位数,
许多C编译系统会自动给出数字部分的小数位数为 6 位,指数部分占 5 列,
如e+002,e占 1 列,指数符号占 1 列,指数占 3 列。
数值按标准化指数形式输出(即小数点前必须有且只有1位非零数字)。
如:
printf(“%e”,123.456)
输出的结果为:
1.23456 e+002
小数部分6列,指数部分5列
这个也可以用"%m.ne"形式的格式声明。

格式符e也可以写成E的格式,输出时e也会换成E。

其他格式符

1.i格式符。
作用与d格式符相同,按十进制整形数据的实际长度输出。
2.o格式符
以八进制整数形式输出。
将内存单元中各位的值(0或1)按八进制形式输出,
输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。
3.x格式符
以十六进制数形式输出整数
4.u格式符
用来输出无符号(unsigned)型数据,以十进制整数形式输出。
5.g格式符
用来输出浮点数,系统自动选f格式或e格式输出,
选择其中长度较短的格式,不输出无意义的0.

其他

格式声明的一般形式可以表达为
% 附加字符 格式字符
这个附加字符就像是上面说的l,m,n之类的,又称为修饰符。起补充说明的作用。
在这里插入图片描述
在这里插入图片描述
我们可以在printf函数的格式控制字符串中包含转义字符,如\n,\t,\b等

如果要输出%,那么我们就需要在格式控制字符中用连续两个%表示,
如:
printf(“%f%%\n”,1.0/3)
结果为0.333333%

本篇内容到此结束。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值