一  基本用法

格式化控制符:%d %c %ld %lf

意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值

printf("%d\n",age);

printf("%c\n",ch);

printf("%f\n",f);

printf("%ld\n",lNum);

printf("%lf\n",d);

%d:代表挖一个int类型的坑,然后你需要给我填入一个int类型的数据

%c:代表挖一个char类型的坑,然后你需要给我一个char类型的数据

%f:代表挖一个float类型的坑,然后你需要给我一个float类型的数据

%ld:代表挖一个long类型的坑,然后你需要给我一个long类型的数据

%lf: 代表挖一个double类型的坑,然后你需要给我一个double类型的数据

二 详解

%d:输出int类型

%md:m代表这个整数占多少位,但是还是输出int 不足部分以空格补齐

如果m是负数,那么空格在后面补齐

如果实际的位数>=m,那么按原样输出

%0md:(可能会用,重点)

m代表这个整数占多少位,而且输出的还是int不足部分以0补齐

如果实际位数 >= m ,那么还是按原样输出

前面不能加负号

%.nf:(重点)

n代表输出几位小数,但是还是输出float

代表保留小数点后几位,然后保留的最后一位会根据它的下一位做四舍五入

例: 10.3333

如果用%.2f输出,会输出 10.33

10.3352

如果用%.2f输出,会输出 10.34

%m.nf:(非重点,了解有这回事)

m代表这个小数一共占用几列,n代表保留几位小数,不足部分以空格补齐

如果实际位数或者保留小数点后几位的位数 大于或者等于m,那么以实际位数或者保留小数后几位的位数输出

tips: 代码例子如下

#include <stdio.h>

int main(int argc, const char * argv[]) {

//prinrf基本用法

//%d

int age = 14;

printf("你好,今年我%d岁\n",age);

//%c

char ch = 'a';

printf("%c\n",ch);

//%f  默认输出小数点后6位

float f = 10.3333f;

printf("%f\n",f);

//%ld

long lNum = 20000l;

printf("lNum = %ld\n",lNum);

//%lf

double d = 32103.32312;

printf("%lf\n",d);

//printf函数的详解

//%md的情况

/*

//因为要占两位,所以打印空格3

printf("%d\n",3);//打印3

printf("%2d\n",3);//打印 3

printf("%5d\n",3);//打印    3

printf("%-2d\n",3);//打印3空格

printf("%3d\n",324);//那就是3位,324

printf("%3d\n",1234);//原样输出 1234

*/

//%0md的情况

/*

printf("%02d\n",3);//打印03

printf("%05d\n",3);//打印00003

printf("%02d\n",3);//打印30

printf("%05d\n",3);//打印00003

printf("%03d\n",345);//打印345

printf("%03d\n",12345);//打印12345

*/

//%.mf的情况

/*

float lf = 103.3333f;

printf("%.2f\n",lf);//打印103.33

float f2 = 10.3355667;

printf("%.2f\n",f2);//打印10.34

*/

//%m.nf的情况

/*

float f1 = 103.33;

printf("%10.2f\n",f1);//一共占用10列,4个空格所以是输出的    103.33

printf("%5.2f\n",f1);//输出103.33

float f2 = 103.335678;

printf("%2.2f\n",f2);//输出103.34

*/

return 0;

}

最新文章

  1. Openxml 笔记
  2. 【adb】adb基本命令总结
  3. 【并查集】【树】最近公共祖先LCA-Tarjan算法
  4. clearfix清除浮动进化史
  5. 数据可视化(4)--jqplot
  6. Effective Java 37 Use marker interfaces to define types
  7. 教你怎样写自定义IP地址算法
  8. 配置本地yum源
  9. JavaScript toFixed() 方法
  10. [Web] What Is JSONP?
  11. Java8的新特性
  12. 1001WA
  13. Vue深度学习(6)- 组件
  14. J2EE进阶(七)利用SSH框架根据数据表建立model类
  15. kubernetes进阶之一:简单例子
  16. [物理学与PDEs]第2章第2节 粘性流体力学方程组 2.6 一维粘性热传导流体动力学方程组
  17. IntelliJ IDEA——SVN的配置及使用
  18. 如何解决JSP页面顶端报错 The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java Build Path
  19. LetExpr表达式解读
  20. mysql安装后找不到sock文件

热门文章

  1. 编程算法 - 二部图确定 代码(C)
  2. leetcode第25题--Remove Element
  3. /bin/bash^M: bad interpreter: No such file or directory
  4. 用批处理文件自动备份文件及文件夹,并自动删除n天前的文件
  5. 【转】Android官方下拉刷新控件 SwipeRefreshLayout
  6. .NET MVC4 实训记录之一(引入Unity3.0 Ioc框架)
  7. SongTaste音乐下载器
  8. JavaScript等比例缩放图片
  9. 数据分析R语言1
  10. 企业架构与建模之使用ArchiMate进行分析