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) 比较运算符 == 等于 ! ...
随机推荐
- RHEL7 -- 通过gerp使用正则表达式
正则表达式常会含有shell元字符(如S.*等),建议使用单引号('')来括起行令上的正则表达式 1.行定位符号 行首定位符号^和行尾定位符$ #找出以s开头的行: # grep '^s' /etc/ ...
- Unix环境高级编程(十九)终端I/O
终端I/O应用很广泛,用于终端.计算机之间的直接连线.调制解调器以及打印机等等.终端I/O有两种不同的工作模式: (1)规范模式输入处理:终端输入以行为单位进行处理,对于每个读要求,终端驱动程序最多返 ...
- Unix环境高级编程(八)进程关系
本章看后给人似懂非懂的感觉,主要是不知道实际当中如何去使用.通过前面几章的学习,每个进程都有一个父进程,当子进程终止时,父进程得到通知并取得子进程的退出状态.先将本章基本的知识点总结如下,日后再看时候 ...
- Unix环境高级编程(二)文件和目录
本章主要介绍的是文件结构及目录.重点是通过stat函数获取文件的结构信息,然后是文件目录及其遍历.学完本章后,编写了一个输出给的目录下的文件信息的程序. 首先是包含在<sys/stat.h> ...
- JavaScript使用小技巧
原文:45 Useful JavaScript Tips, Tricks and Best Practices作者:Saad Mousliki 在这篇文章里,我将分享一些JavaScript的技巧.秘 ...
- Centos网络配置小工具
之前在CentOS 6下编辑网卡,直接使用setup工具就可以了. 但在新版的CentOS 7里,setuptool已经没有网络编辑组件了,取而代之的是NetworkManager Text User ...
- unity, texture import settings
如果图片带透明通道,则若勾选Alpha Is Transparency,图片会呈现透明的预览效果. 但Alpha Is Transparency勾选与否是否影响shader的输出效果目前我还不太清 ...
- springcloud Ribbon自定义负载均衡插件
现在我们通过插件的方式添加新的一种策略. package com.zhuyang.config; import org.springframework.beans.factory.annotation ...
- Mingw opencv Windows下命令行运行
1.下载opencv 2.3 http://sourceforge.net/projects/opencvlibrary/files/ 下个opencv-win版本吧 至于版本号就随意吧,我选的是2. ...
- C/C++预定义宏
编译器识别预定义的 ANSI/ISO C99 C 预处理宏,Microsoft C++ 实现将提供更多宏.这些预处理器宏不带参数,并且不能重新定义. ANSI 兼容的预定义宏 __FILE__,__L ...