首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
3.4 常用输出格式符表中格式符的意义
d或i 整型数据以十进制形式输出
o 无符号整型数据以八进制形式输出
X 无符号整型数据以十六进制形式输出
U 元符号整型数据以十进制形式输出
C 字符的ASCll码数据,输出对应的字符
S 输出字符串
f 以“整数部分.小数部分”形式输出实型数据
e 以[-]n.nnnnne±xx输出实型数据
g 以f或e格式输出
说明:
(1)x格式符同。格式符一样,把符号位作为数的一部分输出。对于x格式,用字符a、b、c、d、e、f(或A、B、C、D、E、F)表示9之后的六个十六进制数字符。
(2)一个整数,只要它的位在0-255范围内,也可以用字符形式输出,输出以该整数为ASCII代码的字符。反之,一个字符数据也可以用整数形式输出,输出该字符的ASCII代码值。
(3)f、e和g格式符用于输出实型数据,格式转换时有四舍五人处理。对于f格式,小数点后的数字个数可由格式修饰说明p指定,若p为0,不显示小数点。用e格式输出时,对于非0实数,小数点前有一位非零数字,输出格式中的有效位数可由格式修饰说明p指定;字符e(或E)之后是指数,指数部分至少包含两个数字。若输出值的绝对值不小于 1E+100,则指数部分多于两位数字。
g格式能根据表示数据所需字符的多少自动选择f格式或e(或E) 格式输出实数,选择是以输出时所需字符数多少为标准。
格式修饰说明有七种,教材只介绍其中四种,它们的意义分别说明如下:
(1)W域宽说明,W是一个十进制整数,表示输出字段的字符数。若转换后需要的字符个数比给出的W多,则以实际需要为准;若转换后需要的字符数比W少,就在左边用填充字符补足(若给出左边对齐标志(-),则在右边补填充字符人通常用空白符作填充字符,若十进制整数W之前有前导0(此0不表示以八进制数给出字段宽度),则以字符0作填充字符。
(2)- 左对齐标志,当转换后字符个数少于W时,在W所限定的字段宽度内,转换所得字符列左对齐,右边补填充符。缺省时,右对齐,左边补填充符。
(3).p,其中p也是十进制整数。
对于g或e格式输出,p指明输出精度(有效数字位数),可以缺省,缺省值依赖于系统的规定(下面的例子设p的缺省值为6)。
对于f格式输出,p指明输出字符列的小数点之后的数字个数,可以缺省。
对于S格式输出,p指明最多输出字符率的前p个字符,多余截断。缺省时,字符串的内容全部输出。
对于d.i、O、u、x和X,表示至少出现的数字个数。
同域宽说明一样,p也可以是字符*,而实际值由后面一个输出项的整数值给出,若该值为负值,相当于没有给出p。
(4) l指明输出项的类型。
长度修饰符l用于格式符d、i、o、u、X,表示对应的输出项是长整型或无符号长整型。
以下是格式输出的一些例子。例如,
int i=1234; long j=1234567L;
printf(”%d,%+6d,%06d,%-6d, %5ld”,i,i,i,i,j)
将输出:
1234,+1234,00l234,1234,1234567
注意:对于long型数据输出,必须在格式符之前有长度修饰符l,表明输出long型数据。
若 int k=045;long p=-1L;printf(”%#o,%4o,%6lo”,k,k,p)
将输出:
045, 45, 37777777777
而printf("%#x,%4x,%6lx”,k,k,p)将输出:
0x25, 25, FFFFFFFF
若 unsigned int u= 65535u;prinif(”%d,%4u,%ln’,u,u,p)
将输出:
-l, 65535, 4294967295
若 char ch1= 045, ch2=’a’;printf(”%c,%-3c,%2c”,ch1,ch2,ch2)
将输出:
%,a, a
若 char s[]==”ABCDEF’;printf(”%3s,%4.2s,%-7.4s,%.5s”,s,s,s,s)
将输出:
ABCDEF, AB, ABCD, ABCDE
若 float f=123.4567f; double d=123.456789;
printf(”%.4f,%8.3f,%-7.2f,%.7f",f,f,f,d)
将输出:
123.4567, 123.457, 123.46, 123.4567890
而 printf(”%.6e,%10.2e,%-10.2e,%.2e,%.9e”,f,f, f,f,d)
将输出:
1.23457e+02, 1.2e+02,1.2e+02,l.2e+02, 1.23456789e+02
注意:实型数据的有效位数,不要以为凡是打印(显示)的数字都是准确的。一般地,float型只有7位有效数字,double型有15位有效数字。实际上,因计算过程中的误差积累,通常不能达到所说的有效位数。
另外,要注意%g格式的特殊性,当它选择“整数部分.小数部分”形式时,因格式修饰说明.p在e格式中的意义是指明精度,所以p的值是整数部分位数与小数部分位数之和(不是f
格式中的小数位数)。如有
float g1=12.34f,g2=0.0f;
double d=123.456789, g=123456.789;
printf("%g,%G",g1,g2);
printf("%f,%g,%g,%g,%.8g"’,g1,g1,d,g,g)
将输出:
12.34,0
12.340000,12.34,123.457,123457,123456.79
相关推荐:计算机软考程序员备考:程序设计知识点(1)北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |