一  基本用法

格式化控制符:%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;

}

C语言之printf函数的更多相关文章

  1. 【C语言】printf函数详解

    C语言printf函数详解 一.相关基础知识 请求printf()打印变量的指令取决于变量的类型,例如打印整数用%d符号,打印字符用%c符号,这些符号称为转换说明(conversion specifi ...

  2. 【C语言】printf()函数详解

    printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这 ...

  3. C语言 之 printf () 函数你真的会用吗?

    main(){ int i=8; printf("%d %d %d %d %d %d ",++i,--i,i++,i--,-i++,-i--); } 运行结果 8 7 7 8 -7 ...

  4. 李洪强漫谈iOS开发[C语言-017]-printf函数

  5. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  6. 三,对于printf函数和C语言编程的初步拓展

    前面说过了,任何程序都要有输出,所以printf函数是一个很重要的函数,所以有必要在学变量之前先拓展一下. 其实编程就是用计算机语言说话,一句一句地说,只要语法没错就能运行,至于能实现什么功能,就看编 ...

  7. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  8. 【C语言】浅谈可变参数与printf函数

    一.何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用& ...

  9. C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .

    我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解.例如Printf(): Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int printf( c ...

随机推荐

  1. php调用webservice报错Class 'SoapClient' not found

    原文:php调用webservice报错Class 'SoapClient' not found php在调用webservice时,报告如下类似错误: ( ! ) Fatal error: Clas ...

  2. Gimp教程:制作彩色的网站横幅

    效果图: Step1.新建900x200的透明图层 Step2.点选画笔工具,在左下方的设置界面进行如下: 设置画笔,动态,颜色,勾选应用抖动,然后试着在图层上画一画,调节一下画笔大小,相信你能作出如 ...

  3. 最受欢迎web前端技术总结

    Web前端技术发展非常快,主流技术的进步.想想刚毕业那会用asp技术.目前,该网站已经非常少见主流应用. 后来的后来J2EE框架.然后SpringMVC声望,然而,最近的各种js框架广泛传播,Html ...

  4. HTML 速成

    html零基础者入. 记得学计算机网络的时候好像有学过一些HTML,但没运用起来都忘光了.近来想学学如何写网页.就从html(HyperText Markup Language超文本标记语言)入手了. ...

  5. 自己写RTPserver——大约RTP协议

    自己写RTPserver--大约RTP协议 本文将带领你一步一步地实现一个简单的手RTP变速器server,旨在了解RTP流媒体传输协议以及有关多媒体编解码器的一些知识. RTP协议的必备知识 要动手 ...

  6. Visual Studio 2013 的 Browser Link 功能

    Visual Studio 2013 的 Browser Link 功能 最近公司弄新项目需要用 MVC,就把 IDE 升级到了 Visual Studio 2013,在开发的时候发现有好多请求一个本 ...

  7. OSGi.NET 学习笔记

    OSGi.NET 学习笔记 [目录]   持续更新和调整中,本人学习笔记,非官方文档,难免疏漏,仅供参考. OSGi.NET SDK下载地址. 前言及环境准备 模块化和插件化 概念 实例 小结 面向服 ...

  8. 分享一个c#写的开源分布式消息队列equeue

    分享一个c#写的开源分布式消息队列equeue 前言 equeue消息队列中的专业术语 Topic Queue Producer Consumer Consumer Group Broker 集群消费 ...

  9. SQLSERVER数据库学习总结七(视图,索引)

    --视图的主意点:不能和表的名称相同,如果某一列为函数,表达式,常量或者与来自多张表的列名相同,必须为列定义名称,不能在试图上创建索引 if exists(select 1 from sys.syso ...

  10. c#中关于String、string,Object、object,Int32、int

    在java中,string和String有着明显的区别,后者就是前者的一个封装.在c#中,好像是通用的,大部分情况下,两者互换并不会产生问题.今天特意查了一下资料,了解了一下两者的关系. 简单的讲,S ...