格式字符:格式字符用以指定输出项的数据类型和输出格式。

  1. d格式:用来输出十进制整数(int)。有以下几种用法:
  2. %d:按整型数据的实际长度输出。
  3. %m.ndm为指定的输出字段的宽度,n定义为实际输出的个数。
  4. m>0时为右对齐,根据n的大小,不足在左边补0
  5. m<0时和m>0好像没有区别;
  6. 如果省略m或者n,则m=n
  7. 如果只有m且不指定空位填0,根据m的正负值,空位以空格补齐。
  1. int main(void)
  2. {
  3. int a = ;
  4. printf("m.nd : %5.5d\n", a); //打印 00123
  5. printf("-m.nd : %-5.5d\n", a); //打印 00123
  6. printf(".nd : %.5d\n", a); //打印 00123
  7. printf("m.d : %5.d\n", a); //打印 123
  8. printf("md : %5d\n", a); //打印 123
  9. printf("md : %05d\n", a); //指定空位补0:打印 00123
  10. system("pause");
  11. return EXIT_SUCCESS;
  12. }

  1. o格式:以无符号八进制形式输出整数。对长整型(long)可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
  1. int a = ;
  2. printf("a=%o \n", a); //打印 11 = 1 * 8^0 + 1 * 8^1
  3. system("pause");
  4. return EXIT_SUCCESS;
  1. x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
  2.  
  3. u格式:以无符号十进制形式(unsigned int)输出整数。对长整型(unsigned long)可以用"%lu"格式输出。unsigned short 对应%hu。同样也可以指定字段宽度用“%mu”格式输出。
  4.  
  5. c格式:输出一个字符。
  1. %s:例如:printf("%s", "CHINA") //输出"CHINA"字符串(不包括双引号)
  2.  
  3. %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
  4. %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
  5. %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
  6. %-m.ns:其中mn含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
  1. char * str = "hello world !";
  2. /* %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。 */
  3. printf("1 = %5s \n", str); //打印 hello world !
  4.  
  5. /* 若串长小于m,则左补空格 */
  6. printf("2 = %20s \n", str); //打印 空格hello world !
  7.  
  8. /* 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 */
  9. printf("3 = %20.5s \n", str); //打印 hello
  10.  
  11. /* 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的左侧,左补空格。 */
  12. printf("4 = %-20.5s \n", str); //打印 hello
  13.  
  14. /* 如果n>m,则自动取n值,即保证n个字符正常输出。 */
  15. printf("5 = %-5.15s \n", str); //打印 hello world !
  16.  
  17. system("pause");
  18. return EXIT_SUCCESS;

  1. f格式:用来输出实数(包括单--flaot、双精度--double),以小数形式输出,对双精度可以用"%lf"格式输出。有以下几种用法:
  2. %f:不指定宽度,整数部分全部输出并输出6位小数。
  3. %m.nfm为指定的输出字段的宽度,n定义为小数点后保留n位。
  4. m>0时为右对齐,根据n的大小,不足在左边补空格;
  5. m<0时为左对齐,根据n的大小,不足在右边补空格;
  6. 如果实数本身长度大于m,则突破获m的限制,将实数全部输出。若实数本身长度小于m,则左补空格。
  7. n为小数点后位数,不够补0,多了四舍五入
  1. e格式:以指数形式输出实数。可用以下形式:
  2. %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
  3. %m.ne和%-m.nemn和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
  1. 关于printf函数的进一步说明:
  2. 如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
  3. printf("%f%%", 1.0/); //输出0.333333%。

C语言 格式化输出--%m.n的更多相关文章

  1. C语言格式化输出,空位补0,空位补空格

    char strTtimeDump[512] = ""; int a = 5; sprintf(strTtimeDump, "%.4d", a); //strT ...

  2. C语言格式化输出

    1.%d 十进制有符号整数int. 2.%u 十进制无符号整数. 3.%ld 输出long整数 . 4.%s 字符串. 5.%c 单个字符. 6.%p 指针的值. 7.%e 指数形式的浮点数. 8.% ...

  3. 类似C语言格式化输出

    java se5引入的format方法可以用于PrintStream或PrintWriter对象,format方法模仿自C的printf(), 如果你比较怀旧的话,也可以用printf(). pack ...

  4. C语言格式化输出语句

    %d:带符号十进制整数 : %c:单个字符: %s:字符串: %f:6位小数:float; %.2f表示小数点后精确到两位 %lf:6位小数:double;

  5. C语言中格式化输出的转换说明的fldwidth和precision解析

    首先说什么是C语言的格式化输出,就是printf和它的几个变种(grep -E "v?(sn|s|f)printf").像这些函数都有一个参数format,format中可以加点转 ...

  6. Debug格式化输出----基于C语言

    Debug格式化输出----基于C语言 1. 使用宏实现 举例: #include <stdio.h> #define ECHO_COLOR_NONE "\033[0;0m&qu ...

  7. Go语言从入门到放弃(三) 布尔/数字/格式化输出

    本章主要介绍Go语言的数据类型 布尔(bool) 布尔指对或者错,也就是说bool只有两个值, True 或 False 两个类型相同的值可以使用比较运算符来得出一个布尔值 当两个值是完全相同的情况下 ...

  8. Go 语言 fmt.Sprintf (格式化输出)

    Printf().Sprintf().Fprintf() 函数的区别用法是什么? 都是输出格式化字符串,只是输出到的目标不一样: Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可 ...

  9. Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组

    运算符包括:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.身份运算符 算术运算符 %   取模(余数) //  取相除的整数部分 /   (5/2=2.5) 比较运算符 ==  等于 ! ...

随机推荐

  1. Android 加新的页面

    工程右键->New->Other->Android Activity

  2. Report_SRW工具的基本用法(概念)

    2014-05-31 Created By BaoXinjian

  3. 使用Xcode 查看objective-C的汇编代码

    Xcode自带将某一个源文件转化成汇编的功能.如图: 汇编的部分代码例如以下: # Assembly output for assemble.c # Generated at 2:29:34 下午 o ...

  4. Spring 中属性配置

    1 注册自定义属性编辑器,方法一.使用BeanFactory, 则用户需要手动调用 registerCustomEditor(Class requiredType, PropertyEditor pr ...

  5. cocos2dx 3.3 场景切出时RenderTexture crash

    在cocos2dx 3.3中下面myScene在切出时会存在概率性崩溃(代码作了最大程度简化,仅为说明问题): class CmyLayer:public Layer{ public: CmyLaye ...

  6. Scala first trial

    scala是一种将面向对象和函数式编程相结合的语言,在spark中大显身手,在大数据时代下,不会scala都不敢说自己是搞大数据的.前段时间参加BDTC2014大数据会议时,spark的贡献者,陈超老 ...

  7. ui-router路由控制器(一)

    angularUI 在不断发展过程中已经被划分成了几个模块,你可以选择你需要的模块载入,我们今天要了解一下路由控制器 ui-router ,它就是angularUI划分出出来的一个独立模块. 此模块只 ...

  8. 用 Qt 中的 QDomDocument类 处理 XML 文件

    XML,全称为 “可扩展标记语言”(extensible markup language).是一种非常方便的数据交换与数据存储的工具. 我们在取得一个XML格式的文件后,需要作句法分析去提取发布方提供 ...

  9. 【Android】17.0 第17章 服务绑定—本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 通过服务绑定(Bound Services),可以轻松实现后台服务与界面(UI)的交互. 二.本章示例主界面 1. ...

  10. jquery,checkbox无法用attr()二次勾选

    今晨,漂亮的测试妹妹提了个奇怪的bug,说我一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 想到与美女有亲密接触机会,马上鸡动起来. 经过偶层层抽次剥茧(da da j ...