【转】Printf()输出格式控制
- #include<stdio.h>
- int main()
- {
- //for int
- int i=30122121;
- long i2=309095024l;
- short i3=30;
- unsigned i4=2123453;
- printf("%d,%o,%x,%X,%ld,%hd,%u/n",i,i,i,i,i2,i3,i4);//如果是:%l,%h,则输不出结果
- printf("%d,%ld/n",i,i2);//试验不出%ld和%d之间的差别,因为long是4bytes
- printf("%hd,%hd/n/n/n",i,i3);//试验了%hd和%d之间的差别,因为short是2bytes
- //for string and char
- char ch1='d';
- unsigned char ch2=160;
- char *str="Hello everyone!";
- printf("%c,%u,%s/n/n/n",ch1,ch2,str);//unsigned char超过128的没有字符对应
- //for float and double,unsigned and signed can not be used with double and float
- float fl=2.566545445F;//or 2.566545445f
- double dl=265.5651445;
- long double dl2=2.5654441454;
- //%g没有e格式,默认6位包括小数点前面的数,
- //%f没有e格式,默认6位仅只小数点后面包含6位
- //%e采用e格式,默认6位为转化后的小数点后面的6位
- printf("%f,%e,%g,%.7f/n",fl,dl,dl,dl);
- printf("%f,%E,%G,%f/n",fl,dl,dl,dl);//%F is wrong
- printf("%.8f,%.10e/n",fl,dl);
- printf("%.8e,%.10f/n/n/n",fl,dl);
- //for point
- int *iP=&i;
- char *iP1=new char;
- void *iP2;//dangerous!
- printf("%p,%p,%p/n/n/n",iP,iP1,iP2);
- //其他知识:负号,表示左对齐(默认是右对齐);%6.3,6表示宽度,3表示精度
- char *s="Hello world!";
- printf(":%s: /n:%10s: /n:%.10s: /n:%-10s: /n:%.15s: /n:%-15s: /n:%15.10s: /n:%-15.10s:/n/n/n",
- s,s,s,s,s,s,s,s);
- double ddd=563.908556444;
- printf(":%g: /n:%10g: /n:%.10g: /n:%-10g: /n:%.15g: /n:%-15g: /n:%15.10g: /n:%-15.10g:/n/n/n",
- ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd);
- //还有一个特殊的格式%*.* ,这两个星号的值分别由第二个和第三个参数的值指定
- printf("%.*s /n", 8, "abcdefgggggg");
- printf("%*.*f /n", 3,3, 1.25456f);
- return 0;
- }
1.转换说明符
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%% "%"
2.标志
左对齐:"-" e.g. "%-20s"
右对齐:"+" e.g. "%+20s"
空格:若符号为正,则显示空格,负则显示"-" e.g. "% 6.2f"
#:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
对e,g,f 类当结果有小数时才给出小数点。
3.格式字符串(格式)
[标志][输出最少宽度][.精度][长度]类型
"%-md" :左对齐,若m比实际少时,按实际输出。
"%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
e.g. "%7.2s" 输入CHINA
输出" CH"
"%m.nf":输出浮点数,m为宽度,n为小数点右边数位
e.g. "%3.1f" 输入3852.99
输出3853.0
长度:为h短整形量,l为长整形量
【转】Printf()输出格式控制相关推荐
- 2016计算机学科夏令营上机考试 A:分段函数 printf输出格式控制
总时间限制: 1000ms 内存限制: 65536kB 题目 描述 编写程序,计算下列分段函数y=f(x)的值. y=-x+2.5; 0 <= x < 5 y=2-1.5(x-3)(x-3 ...
- c语言 printf 输出格式控制 %#x 带0x 16进制的输出
#include<stdio.h> #include<stdlib.h>int main(void) {#if 0 printf("这里是注释"); #en ...
- c语言printf输出格式顶格,c语言printf()输出格式[共6页].pdf
c 语言 printf() 输出格式大全 浮点数( 包括 float 和 doulbe) 浮点数指数输出 [e-(E-) 记数法] 浮点数不显无意义的零 "0" 有符号十进制整数 ...
- c语言整数四则运算表达式的输出格式控制,Educoder CC++基本输入输出
第1关:重要的事情说三遍 1.这里结合的一个具体场景是:程序接受一个输入字符,然后将该字符输出三遍,再输出一个!. // 包含标准输入输出函数库 #include // 定义main函数 int ma ...
- C++STL开发温习与总结(六): 6.C++语言输入/输出流定义之输入/输出格式控制
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://mp.blog.csdn.net/postedit/79177645 C++STL开发温习 ...
- 关于printf输出格式的总结
基础的东西总是很容易忘 要时常总结回顾才能牢记 printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中.但作为一个特例,不要求在使用 printf 函数之前必须 ...
- C语言scanf怎么输入字母,C语言scanf输入格式printf输出格式
1. 转化说明符 %a(%A)浮点数,十六进制数字和p-(P-)表示法(C99)%c个字符 %d个有符号十进制整数 %f浮点数(包括浮点数和doulbe)%e(%E)浮点指数输出[e-(E-)表示法] ...
- C++基础知识(二)--左值右值--逻辑表达式求值优化--逗号运算符与表示式--输入输出格式控制...
:一.C++左值右值概念 左值:c++将变量名代表的单元称为左值,而将变量的值称为右值,左值必须是内存中可以访问且可以合法修改的对象,因此只能是变量名,而不能是常量或表达式.即左值可以寻址. 右值:将 ...
- DbgPrint/KdPrint输出格式控制
在驱动编程学习中,往往需要通过DbgPrint或者KdPrint来输出调试信息,对于Check版本,KdPrint只是DbgPrint的一个宏定义,而对于Free版本,KdPrint将被优化掉.这些输 ...
- Shell echo-使用echo实现更复杂的输出格式控制
语法 Shell 的 echo 指令是用于字符串的输出.命令格式: echo string 当然也可以使用echo实现更复杂的输出格式控制. 复杂输出格式 1.显示普通字符串 echo "I ...
最新文章
- 主题mysql_主题数据库(SubjectBase)
- html锚点反向联动,小程序菜单左右联动
- 【PAT甲级 - 1013】Battle Over Cities (25分)(并查集)
- HTML5画布(矩形)
- Tomcat 优化和性能监测
- glEnable(GL_DEPTH_TEST)作用
- qt实现类似everything搜索功能,速度没有everything那么快
- linux解压 tar命令
- 天线工程手册_弱电工程人员书籍推荐
- mysql给一张表做快照_MySQL之快照读
- 今天你够“敏捷”吗?
- 关于图灵机的妙文(3)——图灵机杂思(rev#2)(刘未鹏)
- SCARA四轴机器人eye-to-hand手眼标定(九点标定)
- Cathy Zhang 箭头函数与普通函数的区别
- C++动态开辟数组空间
- nginx 开启gzip压缩
- NAS网络存储是什么
- 云原生是什么?如何准确理解云原生?
- Python数据科学学习笔记之——Matplotlib数据可视化
- Java中的三种代理模式解释
热门文章
- VXLAN配置实例(三)——VXLAN集中式双活网关
- 在网上找来的几个大牛,忽然觉得自己来参加ACM倒也不是一件错误的事情,梦想总是要有的,万一成了呢。
- 正则表达式在 ES2018 中的新写法
- kernel——make menuconfig的实现原理【转】
- webpack多环境(dev stg prd qa)打包问题
- 菜单的无限极分类实现
- SpringMVC之二:配置 Spring MVC
- android 广播观察者,androidObservable观察者模式
- python 如何检验数据正态分布_小样本数据的正态性检验用python怎么写?
- oracle update导入clob,【Oracle】给clob字段插入数据