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) 比较运算符 == 等于 ! ...
随机推荐
- Python学习笔记015——文件file的常规操作之一(文本文件)
1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...
- 如何恢复 Linux删除的文件
原理及普通文件的恢复 要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的,以及如何定位并恢复数据.本文从数据恢复的角度,着重介绍了 ext2 文件系统中使用的一些基本概念和重要数据结构,并通过 ...
- Linux内核(17) - 高效学习Linux驱动开发
这本<Linux内核修炼之道>已经开卖(网上的链接为: 卓越.当当.china-pub ),虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到 ...
- Java将数据库数据导入EXCEL
一般的数据库数据怎么导入excel中呢??这让人非常疑惑,今天我找到了一个方法能够实现 须要导入一个第三方包下载地址 详细内容例如以下: 里面含有指导文档,index.html里面含有怎样读取数据库文 ...
- python标准库介绍——1 os详解
== os 模块 == ``os`` 模块为许多操作系统函数提供了统一的接口. 这个模块中的大部分函数通过对应平台相关模块实现, 比如 ``posix`` 和 ``nt. os`` 模块会在第一次导入 ...
- java mac install
http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855 This page descri ...
- javascript array操作
首先来看一下怎么判断一个对象是不是数组: 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- SpringCloud 分布式配置
转 http://www.cnblogs.com/zhangjianbin/p/6347247.html 前言 在单体式应用中,我们通常的做法是将配置文件和代码放在一起,这没有什么不妥.当你的应用变得 ...
- Diamond 3.5简易教程(二)------软件的简单使用
二.软件的简单使用 工程建立后我们就可以进行程序的编写添加了. 选择左下角file list 选项卡 这里主要是工程的信息. 在input files 上右键弹出选项addànew file... 在 ...
- 【Android】11.1 Activity的生命周期和管理
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为 ...