C语言 格式化输出--%m.n
格式字符:格式字符用以指定输出项的数据类型和输出格式。
- ①d格式:用来输出十进制整数(int)。有以下几种用法:
- %d:按整型数据的实际长度输出。
- %m.nd:m为指定的输出字段的宽度,n定义为实际输出的个数。
- m>0时为右对齐,根据n的大小,不足在左边补0;
- m<0时和m>0好像没有区别;
- 如果省略m或者n,则m=n;
- 如果只有m且不指定空位填0,根据m的正负值,空位以空格补齐。
- int main(void)
- {
- int a = ;
- printf("m.nd : %5.5d\n", a); //打印 00123
- printf("-m.nd : %-5.5d\n", a); //打印 00123
- printf(".nd : %.5d\n", a); //打印 00123
- printf("m.d : %5.d\n", a); //打印 123
- printf("md : %5d\n", a); //打印 123
- printf("md : %05d\n", a); //指定空位补0:打印 00123
- system("pause");
- return EXIT_SUCCESS;
- }
- o格式:以无符号八进制形式输出整数。对长整型(long)可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
- int a = ;
- printf("a=%o \n", a); //打印 11 = 1 * 8^0 + 1 * 8^1
- system("pause");
- return EXIT_SUCCESS;
- x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
- u格式:以无符号十进制形式(unsigned int)输出整数。对长整型(unsigned long)可以用"%lu"格式输出。unsigned short 对应%hu。同样也可以指定字段宽度用“%mu”格式输出。
- c格式:输出一个字符。
- %s:例如:printf("%s", "CHINA") //输出"CHINA"字符串(不包括双引号)
- %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
- %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
- %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
- %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
- char * str = "hello world !";
- /* %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。 */
- printf("1 = %5s \n", str); //打印 hello world !
- /* 若串长小于m,则左补空格 */
- printf("2 = %20s \n", str); //打印 空格hello world !
- /* 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 */
- printf("3 = %20.5s \n", str); //打印 hello
- /* 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的左侧,左补空格。 */
- printf("4 = %-20.5s \n", str); //打印 hello
- /* 如果n>m,则自动取n值,即保证n个字符正常输出。 */
- printf("5 = %-5.15s \n", str); //打印 hello world !
- system("pause");
- return EXIT_SUCCESS;
- f格式:用来输出实数(包括单--flaot、双精度--double),以小数形式输出,对双精度可以用"%lf"格式输出。有以下几种用法:
- %f:不指定宽度,整数部分全部输出并输出6位小数。
- %m.nf:m为指定的输出字段的宽度,n定义为小数点后保留n位。
- m>0时为右对齐,根据n的大小,不足在左边补空格;
- m<0时为左对齐,根据n的大小,不足在右边补空格;
- 如果实数本身长度大于m,则突破获m的限制,将实数全部输出。若实数本身长度小于m,则左补空格。
- n为小数点后位数,不够补0,多了四舍五入
- e格式:以指数形式输出实数。可用以下形式:
- %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
- %m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
- 关于printf函数的进一步说明:
- 如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
- printf("%f%%", 1.0/); //输出0.333333%。
C语言 格式化输出--%m.n的更多相关文章
- C语言格式化输出,空位补0,空位补空格
char strTtimeDump[512] = ""; int a = 5; sprintf(strTtimeDump, "%.4d", a); //strT ...
- C语言格式化输出
1.%d 十进制有符号整数int. 2.%u 十进制无符号整数. 3.%ld 输出long整数 . 4.%s 字符串. 5.%c 单个字符. 6.%p 指针的值. 7.%e 指数形式的浮点数. 8.% ...
- 类似C语言格式化输出
java se5引入的format方法可以用于PrintStream或PrintWriter对象,format方法模仿自C的printf(), 如果你比较怀旧的话,也可以用printf(). pack ...
- C语言格式化输出语句
%d:带符号十进制整数 : %c:单个字符: %s:字符串: %f:6位小数:float; %.2f表示小数点后精确到两位 %lf:6位小数:double;
- C语言中格式化输出的转换说明的fldwidth和precision解析
首先说什么是C语言的格式化输出,就是printf和它的几个变种(grep -E "v?(sn|s|f)printf").像这些函数都有一个参数format,format中可以加点转 ...
- Debug格式化输出----基于C语言
Debug格式化输出----基于C语言 1. 使用宏实现 举例: #include <stdio.h> #define ECHO_COLOR_NONE "\033[0;0m&qu ...
- Go语言从入门到放弃(三) 布尔/数字/格式化输出
本章主要介绍Go语言的数据类型 布尔(bool) 布尔指对或者错,也就是说bool只有两个值, True 或 False 两个类型相同的值可以使用比较运算符来得出一个布尔值 当两个值是完全相同的情况下 ...
- Go 语言 fmt.Sprintf (格式化输出)
Printf().Sprintf().Fprintf() 函数的区别用法是什么? 都是输出格式化字符串,只是输出到的目标不一样: Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可 ...
- Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组
运算符包括:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.身份运算符 算术运算符 % 取模(余数) // 取相除的整数部分 / (5/2=2.5) 比较运算符 == 等于 ! ...
随机推荐
- Android 加新的页面
工程右键->New->Other->Android Activity
- Report_SRW工具的基本用法(概念)
2014-05-31 Created By BaoXinjian
- 使用Xcode 查看objective-C的汇编代码
Xcode自带将某一个源文件转化成汇编的功能.如图: 汇编的部分代码例如以下: # Assembly output for assemble.c # Generated at 2:29:34 下午 o ...
- Spring 中属性配置
1 注册自定义属性编辑器,方法一.使用BeanFactory, 则用户需要手动调用 registerCustomEditor(Class requiredType, PropertyEditor pr ...
- cocos2dx 3.3 场景切出时RenderTexture crash
在cocos2dx 3.3中下面myScene在切出时会存在概率性崩溃(代码作了最大程度简化,仅为说明问题): class CmyLayer:public Layer{ public: CmyLaye ...
- Scala first trial
scala是一种将面向对象和函数式编程相结合的语言,在spark中大显身手,在大数据时代下,不会scala都不敢说自己是搞大数据的.前段时间参加BDTC2014大数据会议时,spark的贡献者,陈超老 ...
- ui-router路由控制器(一)
angularUI 在不断发展过程中已经被划分成了几个模块,你可以选择你需要的模块载入,我们今天要了解一下路由控制器 ui-router ,它就是angularUI划分出出来的一个独立模块. 此模块只 ...
- 用 Qt 中的 QDomDocument类 处理 XML 文件
XML,全称为 “可扩展标记语言”(extensible markup language).是一种非常方便的数据交换与数据存储的工具. 我们在取得一个XML格式的文件后,需要作句法分析去提取发布方提供 ...
- 【Android】17.0 第17章 服务绑定—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 通过服务绑定(Bound Services),可以轻松实现后台服务与界面(UI)的交互. 二.本章示例主界面 1. ...
- jquery,checkbox无法用attr()二次勾选
今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 想到与美女有亲密接触机会,马上鸡动起来. 经过偶层层抽次剥茧(da da j ...