- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.. . . ..
学习好帮手
C语言中Printf和Scanf 的使用方法详细
Printf和Scan函数的使用方法
一?printf()函数是格式化输出函数,?一般用于向标准输出设备按规定格式输出?
信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:?
??????printf(格式化字符串,?参量表);?
????其中格式化字符串包括两部分内容:?一部分是正常字符,??这些字符将按原?
样输出;?另一部分是格式化规定字符,?以%开始,?后跟一个或几个规定字符,?
用来确定输出内容格式。?
????参量表是需要输出的一系列参数,?其个数必须与格式化字符串所说明的输出?
参数个数一样多,?各参数之间用,分开,?且顺序一一对应,??否则将会出现意想?
不到的错误。?
????格式化字符串的格式是:
??????%[标志][输出最小宽度][.精度][长度]格式字符
1.???标志:标志字符为-、+、#、空格四种,其意义下表所示:
?????标志???????????????意义
?????-?????????????????结果左对齐,右边填空格
?????+?????????????????输出符号(正号或负号)
?????空格??????????????输出值为正时冠以空格,为负时冠以负号
?????#?????????????????对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f?类当结果有小数????????????????????????时才给出小数点(??????)
例1:
#i?nclude
main()
{
int?a=100;
float?b=123.255;
printf(a=%d?,a);
printf(a=d?,a);
printf(a=%-10d?,a);
printf(a=%+d?,a);
printf(a=%?d?,a);
printf(a=%#o?,a);
printf(a=%#x?,a);
printf(b=%#f?,b);
}?
运行结果
a=100
a=???????100
a=100
a=+100
a=?100
a=0144
a=0x64
b=123.254997??(?????)
2.输出最小宽度:用十进制整数来表示输出的最少位数。(至少要输出这么多位!)
???????????????若实际位数多于定义的宽度:则按实际位数输出。
???????????????若实际位数少于定义的宽度:则右对齐,左边留空。
?????????????????????????????????????????有负号,左对齐,右边留空
?????????????????????????????????????????表示宽度的数字以0开始,则右对齐,左边留空。
例2?#i?nclude
main()
{
int?a=3456;
printf(a==?,a);????//若实际位数多于定义的宽度:则按实际位数输出
printf(a=d?,a);???//若实际位数少于定义的宽度:则右对齐,左边留空
printf(a=%-10d?,a);??//若实际位数少于定义的宽度:有负号,左对齐,右边留空
printf(a=0d?,a);??//若实际位数少于定义的宽度:表示宽度的数字以0开始,则右对齐,左边留空
printf(a=%-010d?,a);?//左对齐,0无意义。
}?
运行结果:
a=3456
a=??????3456
a=3456
a=0000003456
a=3456
3.精度:精度格式符以“.”开头,后跟十进制整数。意义是:
????如果输出数字,则表示小数的位数;若实际位数大于所定义的精度数,则四舍五入。若不足则补0;
????如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
例3:
#i?nclude
main()
{
printf(%.3f?,12.3456);
printf(%.9f?,12.3456);
printf(%.3s?,abcdefg);
printf(%.9s?,abcdefg);
}?
运行结果:
12.346??????????//四舍五入到小数点后三位
12.345600000????//不足补0
abc
abcdefg
4.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出?????
5.Turbo?C2.0提供的格式字符如下:?
━━━━━━━━━━━━━━━━━━━━━━━━━━?
???符
文档评论(0)