C语言之printf函数
一 基本用法
格式化控制符:%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函数的更多相关文章
- 【C语言】printf函数详解
C语言printf函数详解 一.相关基础知识 请求printf()打印变量的指令取决于变量的类型,例如打印整数用%d符号,打印字符用%c符号,这些符号称为转换说明(conversion specifi ...
- 【C语言】printf()函数详解
printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这 ...
- C语言 之 printf () 函数你真的会用吗?
main(){ int i=8; printf("%d %d %d %d %d %d ",++i,--i,i++,i--,-i++,-i--); } 运行结果 8 7 7 8 -7 ...
- 李洪强漫谈iOS开发[C语言-017]-printf函数
- C语言printf()函数:格式化输出函数
C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为: int printf( char ...
- 三,对于printf函数和C语言编程的初步拓展
前面说过了,任何程序都要有输出,所以printf函数是一个很重要的函数,所以有必要在学变量之前先拓展一下. 其实编程就是用计算机语言说话,一句一句地说,只要语法没错就能运行,至于能实现什么功能,就看编 ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- 【C语言】浅谈可变参数与printf函数
一.何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用& ...
- C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .
我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解.例如Printf(): Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int printf( c ...
随机推荐
- AutoMapper 创建嵌套对象映射(原创)
之前在做DTO转换时,用到AutoMapper.但DTO的层次太深了,无奈官方没针对嵌套类型提供好的解决方案,于是自己实现了一下: 思路:采用递归和反射很好的避免手工创建嵌套对象的映射. 第一个版本, ...
- 删除Python UserWarning[已解决]
在使用MySQLdb包后,导入测试时发现一个警告. /usr/lib/python2.6/site-packages/setuptools-0.8-py2.6.egg/pkg_resources.py ...
- Android高效的应用程序开发工具集1---ant构建一个简单的Android工程
在java编译那些事通过提到ant编译Java工程,如今扩大到用它来构建Android目,事实上道理是相通的.变化的仅仅是使用的形式.ant构建相比IDE的优点是多个子项目使用自己定义jar包时,an ...
- Java 多并发之原子访问(Atomic Access)
在编程中,一个原子操作是只会出现一次的.一个原子操作在中间不会停止:要么全部发生要么一点也不发生.我们只有在原子操作完成之后才会看到原子操作的具体影响. 甚至是非常简单的表达式能够构造分解为简单操作的 ...
- Java 多线程之happens-before规则解释
关于happens-before规则的解释网上有很多,我就不敢班门弄斧了.贴出两篇不错的文章以供学习. 1.happens-before俗解 2.深入Java内存模型--happen-before规则
- MyEclipse新建Web Project报错
1.详细报错例如以下图 2.报错原因 3.解决方法
- WCF中队列服务详解
WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...
- SQL Server中生成测试数据
原文:SQL Server中生成测试数据 简介 在实际的开发过程中.很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试.而生成的测试数据往往需要符合特定规则.虽然可以自己写 ...
- 在SSIS中使用自定义的DLL文件
原文:在SSIS中使用自定义的DLL文件 步骤1.开发dll(需要签名) using System;using System.Collections.Generic;using System.Text ...
- mysql基础之对库表操作
原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...