C及C++格式控制符
来源:互联网 发布:如何在手机淘宝上开店 编辑:程序博客网 时间:2024/06/06 01:29
算法题中经常要求按照某种固定的格式输出
C语言中主要的使用printf()
1.d格式:用来输出十进制整数。主要有以下几种用法:
% - 0 m.n l或h 格式字符
%-:表示左对齐输出,如省略表示右对齐输出
0:有0表示指定空位填0,如省略表示指定空位不填
m.n m指域宽,即对应的输出项在输出设备上的所占的字符数。n指精度,用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=6位。
l或h:l对整型指long型,对实型指double型。
h用于将整型的格式字符修正为short型
对实型指double型。
%d 按整型数据的实际长度输出
%md m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld 输出长整型数据
2.o格式:以无符号八进制形式输出整数。对长整型可以用“%lo"格式输出。同样也可以指定字段宽度用“%mo"格式输出、
main(){ int a = -1; printf("%d %o",a,a);}运行结果为-1,177777
因为-1在内存中以补码形式存放为(1111111111111111)2,转换为八进制数为(177777)8。注意此编译器int为16位,我的电脑上int型占32位。
3.x格式:以无符号十六进制形式输出整数。对长整型可以适用”lx“格式输出。
4.u格式:以无符号十进制形式输出整数。对长整型可以适用”lu“格式输出。
5.c格式,输出一个字符
6.s格式:输出一个字符串,
%s:printf("%s","China");输出china字符串,没有”“。
%ms,输出的字符串占m列,如本身长度大于m,全部输出。若小于m,则左补空格。
其余控制符如m.n
其余注意
输出%,则使用%%
对于单精度数,使用%f,格式输出时,仅前7位是有效数字,小数6位
对于双精度数,使用%lf,格式输出时,仅前16位是有效数字,小数6位
进阶
对于m.n的格式还可以用如下方法表示
char ch[20];
printf("%*.*s\n",m.n.ch);
前面一个*对应后面的m,定义的是中的输出宽度,后面*对应于后面的n,定义输出的字符个数。好处,可以对m,n赋值
main()
{ int a = -1;
printf("%d, %o", a, a);
}
"格式描述串"是由一系列的"格式转换说明符号"组成,格式转换说明符号的描述形式如下:
% [+][-] 0 m[.n] [输出精度] <形式字母>
(1)形式字母:制定输出格式,如表
d:十进制整型数
i:十进制整型数
x:十六进制整型数
o:八进制整型数
u:无符号十进制整型数
c:单个字符;
s:字符串
e:指数形式的浮点数
f:小数形式的浮点数
g:e和f中比较短的一种
p:显示变量所在的内存地址
n:它不是向printf()传递格式化信息,而是令printf()把自己已经输出的字符总数放到相应变元指
的整形变量中
%:符号%本身;
(2):输出精度如果形式字母是d,x,o.u,则可以指定如下两类精度
l:long型输出精度
h:short型输出精度
默认时为int型精度
如:long x=123454578;printf("%d",x);
如果形式字母为e,f,g的时候,则指定l的 时候为double精度,不指定为float精度;
(3):m[.n]指定输出长度,如果输出的是实例,则m表示该项输出占用字符位置的总长度,n表示小数部分的字
符长度,如float x=4.56;printf("%7.4f",x);
(4)0:指定不被使用的空位置填写0,入股不指定使用0,则不使用的位置为空白.该项仅仅对树枝输出时才可
以指定,对字符串输出不用指定.例如
int x=234;
printf("%05d",x);//00234
printf("%5d",x);//**234
(5)[+][-]:指定输出位置,如果指定+或者缺省时为右对齐,如果为"-"的时候为左对齐;
- C及C++格式控制符
- C 格式控制符
- c语言格式控制符
- C语言:格式控制符
- C格式控制符整理
- C语言格式控制符
- C语言格式控制符
- 【C语言】格式控制符
- [c/c++] printf格式控制符的完整格式
- [c/c++] printf格式控制符的完整格式【转】
- C输出格式控制
- C输出格式控制
- 【C++】printf格式控制
- c++----关于格式控制
- C语言格式控制符(一)
- C语言中的格式控制符
- C语言的格式控制符问题
- 关于格式控制符里带*的学习(C、C++)
- 22、MySQL-对查询结果排序(ORDER BY)
- LeetCode之Pascal’s Triangle II
- 一切成功源于积累——20150305 典型美日上拉200点 高位盘整2小时 再上拉200点
- Error:No suitable device found: no device found for connection "System eth0"
- 23、MySQL-限制显示结果
- C及C++格式控制符
- PAT A1033 To Fill or Not To Fill 看了书才知道自己的思维不严谨,即使算法大概对,还少了很多
- 最新 AppStore上传流程
- 24、MySQL-子查询
- sublime text3配置java环境
- jquery 操作 相同name 的 单选按钮 查看选定值
- Python中subprocess模块的使用
- 上课地点安排-2015年北邮《海量数据处理中的云计算》课程公告
- zookeeper hadoop-ha znode丢失导致hadoop不能failover的解决办法