C语言的格式符
%d 输出数字长度为变量数值的实际长度
%md 输出m位(不足补空格,大于m位时按实际长度输出)
%ld,%mld l(小写字母L)表示输出“长整型”数据
%0md,%0mld 0(数字0)表示位数不足m时补0
注:%后面的m(位数控制)、0(位数不足补0)对于其他格式符也适用。
例:(□表示空格)
int i=123;
long j=123456;
printf("%d□5d□05d,□ld□8ld□08ld",i,i,i,j,j,j);
输出:123□□□123□00123,□123456□□□123456□00123456
2、o(字母)格式符:按八进制格式输出。(不会出现负数格式)
3、x格式符:按十六进制格式输出。(不会出现负数格式)
4、u格式符:用于输出unsigned类型数据。
例:main()
unsigned int a=65535;
int b=-2;
printf("a=%d,%o,%x,%u\n",a,a,a,a);
printf("a=%d,%o,%x,%u\n",b,b,b,b);
输出:a=-1,177777,ffff,65535
b=-2,177776,fffe,65534
5、c格式符:以字符形式输出。
6、s格式符:以字符串格式输出。
例:printf("%s","CHINA");
%ms m指定宽度(不足时左补空格,大于时按实际宽度输出)
%-ms 左对齐,不足m时右补空格
%m.ns 输出占m个字符位置,其中字符数最多n个,左补空格
%-m.ns 同上,右补空格
7、f格式符:按实数格式输出。
%f 按实数格式输出,整数部分按实际位数输出,6位小数
%m.nf 总位数m(含小数点),其中n位小数
%-m.nf 同上,左对齐
例:main()
{ float x, y;
x=111111.111; y=222222.222;
printf("%f", x+y);
程序输出: 333333.328152(实数运算中误差不可避免)
例:main()
{ double x,y; double x2,y2;
x=1111111111111.111111111; y=2222222222222.222222222;
x2=1111111111111.111; y2=2222222222222.222;
printf("%f %f", x+y, x2+y2); /*
13位整数,9位小数 */
程序输出: 3333333333333.333010 3333333333333.333010(相同)
注意
例:
{ float f=123.456;
printf("%f□□%10f□□%10.2f□□%.2f□□%-10.2f",f,f,f,f,f);
}
输出结果:
123.455994□□123.455994□□□□□□123.46□□123.46□□123.46
8、e格式符:以指数形式输出实数。%e 输出13位,其中:1位整数,1位小数点,6位小数,5位指数(含字符e和指数的符号)
9、g格式符:根据数值大小,自动选择f或e格式输出。
二、使用注意
1、%是printf()的格式说明符,若要直接输出字符%,在格式控制中使用两个连续的%。
例:printf("%f%%", 1.0/3) 输出: 0.333333%。
2、通常在有格式字符o和x按八进制和十六进制形式输出整数时,在数值前不出现0和0x,可在%和格式字符间插入#来实现。
例:printf(“%o,%#o,%x,%#x\n”,10,10,10,10);
输出:12,012,a,0xa
3、指定输出宽度的同时指定左对齐可在宽度前插入“—”来实现
C语言的格式符的更多相关文章
- 【C语言】09-字符串
一.字符串简介 * 在Java中,一个字符串可以用String类型来存储 String s = "MJ"; C语言中没有String这种类型.其实字符串就是字符序列,由多个字符组成 ...
- C语言Printf格式
使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的. 这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类 ...
- C语言中格式字符串
C语言中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为可选项. 一.类型 我们用一定的字符用以表示输出数据的类型,其格式符和意义下表所示: 字符 ...
- C语言输入输出格式符
C语言输入输出格式符 printf函数(格式输出函数) 1.一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: ( ...
- C语言的格式控制符
1. 格式控制符 格式输出printf 作用是向终端输出若干个类型任意的数据. 格式:printf (格式控制符,输出列表) 1) 格式控制符 l % ...
- C#格式符
在输出字符串时,使用格式说明 使字符串显示适当的格式,比如:货币格式,或者科学计数法.百分比等. 以下是格式化的数字字符串 格式. {index, alignment: format} 例如: ; ...
- python的占位格式符 %
# 格式化输出name = "sz"age = 18# 我的名字是xxx,年龄是xxxprint("我的名字是%s,年龄是%d"%(name,age)) 这是我 ...
- [c/c++] programming之路(10)、格式符后续
一.格式符 1. f格式符 #include<stdio.h> #include<stdlib.h> void main(){ printf("%f",10 ...
- C语言进阶—— 接续符和转义符13
接续符的意义: C语言中的接续符 (\) 是指示编译器行为的利器 我们来看一个案例: #in\ clud\ e <st\ dio.h> in\ t m\ ain(\ ) { pri\ nt ...
随机推荐
- 初识DJango——MTV模型
一.Django—MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻 ...
- WPF Binding学习(二)
Binding作为数据的桥梁,连通业务逻辑层的对象(源对象)和UI的控件对象(目标对象).在这座桥梁上,我们不仅可以控制在源对象与目标对象是双向通行还是单向通行.还可以控制数据的放行时机,甚至可以在这 ...
- hackerrank DFS Edges
瞬间移动 题意:要求构造一个图,使其dfs树中有t条树边,b条返祖边,f条前向边,c条其他边. 膜了题解才会,好神啊. 考虑所有结点的深度之和,这个值必须介于$[max(b,f+t),C^{2}_{n ...
- 我的第一次Pascal程序
今天刚刚来学点Pascal语言,都怪我买的书大多是用Pascal语言写的,所以我只能试着学一点咯! 来一段程序员最经典的Hello World! ; begin write('Hello World! ...
- BZOJ 3038: 上帝造题的七分钟2【线段树区间开方问题】
3038: 上帝造题的七分钟2 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1469 Solved: 631[Submit][Status][Dis ...
- Vijos P1786 质因数分解【暴力】
质因数分解 背景 NOIP2012普及组第一题 描述 已知正整数n是两个不同的质数的乘积试求出较大的那个质数. 格式 输入格式 输入只有一行包含一个正整数n. 输出格式 输出只有一行包含一个正整数p, ...
- [bzoj4411] [Usaco2016 Feb]Load balancing
先离散化一下(也可以不用 枚举横坐标,用线段树维护两边纵坐标上的节点数. 每次在线段树上二分...(感觉似乎树状数组也行? #include<cstdio> #include<ios ...
- WERTYU(getchar()用法)
题目连接:http://acm.tju.edu.cn/toj/showp.php?pid=13681368. WERTYU Time Limit: 1.0 Seconds Memory Lim ...
- MVC 统一异常处理
在出现异常时,我们不希望将错语的原因让客户看见,常常会做一个404错误页面,将所有发生的异常都跳至该页面,并把异常信息写在日志中.步骤如下: 1.让我们看看Global.asax页面Applicati ...
- 开始使用 HBuilder 和 Mui - 1 - 分析 index.html ;
转自:http://ask.dcloud.net.cn/article/240 好吧,在比较了 Codenameone 和 HBuilder 以后,俺反复考虑后,终于还是决定使用 HBuilder 这 ...