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

①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的更多相关文章

  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. page_address()函数分析

    由于X86平台上面,内存是划分为低端内存和高端内存的,所以在两个区域内的page查找对应的虚拟地址是不一样的. 一. x86上关于page_address()函数的定义 在include/linux/ ...

  2. 基于EM的多直线拟合实现及思考

    作者:桂. 时间:2017-03-22  06:13:50 链接:http://www.cnblogs.com/xingshansi/p/6597796.html 声明:欢迎被转载,不过记得注明出处哦 ...

  3. Eclipse color theme jsp javascript显示问题

    Q: 在eclipse 中,设置为sublime格式时, 在编辑器中,jsp中嵌套的javascript底色非常难看. A:在如下位置进行设置,Window -> Preferences-> ...

  4. AngularJS 使用 UI Router 实现表单向导

    Today we will be using AngularJS and the great UI Router and the Angular ngAnimate module to create ...

  5. struts中action名称反复导致的神秘事件

    近期由于项目需求变更.须要本人对当中的某个业务功能进行改动.本人依照前台页面找action,依据action找代码的逻辑进行了改动(公司项目是ssh框架,struts配置全部是通过注解的方式进行.配置 ...

  6. scratch资源

    火柴人工作室:https://scratch.mit.edu/studios/170355/ 像素工作室:https://scratch.mit.edu/studios/3667398/ snap官网 ...

  7. OOM问题定位方法

    1. 背景 线上内存OOM问题是最难定位的问题,最常见的原因: (1)本身资源不够 (2)申请的太多 (3)资源耗尽 某服务器上部署了Java服务,出现OutOfMemoryError,请问有可能是什 ...

  8. How to Acquire or Improve Debugging Skills

    http://blogs.msdn.com/b/debuggingtoolbox/archive/2007/06/08/recommended-books-how-to-acquire-or-impr ...

  9. jenkins结合脚本实现代码自动化部署及一键回滚至上一版本

    持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本 一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码.打包.部署到web服务器.将web服务器从负 ...

  10. 【Visual Studio】解决方案未保存,请先保存你的解决方案,然后再管理Nuget包

    上网下的Demo,文件夹中没有.sln文件,用VS打开.csproj文件来打开方案.此时可能因为一些引用问题想打开Nuget包管理器,会弹出如下提示: 解决方案未保存,请先保存你的解决方案,然后再管理 ...