对c语言中printf函数的个人理解
来源:互联网 发布:照相馆制作照片软件 编辑:程序博客网 时间:2024/05/17 02:47
对c语言中printf函数的个人理解
首先来说printf函数。
对于刚刚接触c语言的人来说,比如我自己。printf函数应该是最早接触的函数。我们用它来做出第一个程序,即在屏幕上显示“hello world”。所用的代码是:printf(“hello world”)。看着这个代码觉得printf函数很简单啊,就是在括号里加个引号嘛。可是再往后面学,发现printf函数的代码看不懂了。printf(“%d,%d”,a,b)这是什么东西?printf(“我们班的平均成绩为%d”,average)这又是什么东西?
不懂就要多查,多尝试。经过查阅资料,编代码测试,终于对这个函数有了一些了解。我觉得printf(“我们班的平均成绩为%d”,average)这个执行语句里%d就是像是一个代词,代指后面对应的average。再比如printf(“我们班的平均成绩为%d,我们班有%d个人”,average,number)这个执行语句里有两个%d,就相当于两个代词,依次代指average和number,翻译过来就是“我们班的平均成绩为average,我们班有number个人”。这里的%d只是用来确定average和number的输出格式的。那么printf(“hello world”)没啥没用%什么呢,因为没用参数要输出。平均成绩average是一个参数,我们要把它的数值输出,所以用了上述的方法。
既然是用来确定格式,那么就有很多种格式,于是就不止有%d能表示形式。下面把printf格式相关内容汇总一下,既加深我的记忆,也方面大家查阅。
printf函数的表示形式为printf(“正常字符+格式控制符”,参数,参数,参数.......)。
举例说明:printf(“我们班的平均成绩为%d,我们班有%d个人”,average,number),这里“我们班的平均成绩为” 、“ ,”、“我们班有”、“个人”为正常字符,它们会按原样输出;两个%d均为格式控制符;average和number为参数。
参数的个数必须与前面引号里的格式控制符的个数相同,按照从左到右的顺序一一对应。参数之间要用逗号隔开。
下面是测试代码及结果:
#include<stdio.h>int main(void){/*完整格式为:%-0m.nl或h格式字符*//* -代表左对齐输出,如果省略则表示右对齐输出*//* 0表示空位出填0,如果省略则表示空位不填*//* m指域宽,即对应的输出项在输出设备上所占的字符数。 n指精度。用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=6位。*//* l对整型指long型,对实型指double型。 h用于将整型的格式字符修正为short型*/
/*对d格式的例子*/ printf("下面是对d格式的例子\n"); printf("%5d\n",22222);/*要求输出5个字符,右对齐,刚好5个字符*/printf("%-5d\n",222);/*要求输出5个字符,左对齐,由于不足5个字符,会空两格*/printf("%5d\n",222);/*要求输出5个字符,右对齐,由于不足5个字符,会空两格*/printf("%05d\n",222);/*要求输出5个字符,右对齐,由于不足5个字符,用0补上*/printf("%05d\n\n",222222);/*要求输出5个字符,由于大于5个字符,按实际位数输出*/printf("下面是对s格式的例子\n");printf("%s\n","example") ;/*输出字符串example*/printf("%5s\n","example") ;/*要求输出字符串占5列,字符串example大于5,按实际输出*/printf("%10s\n","example") ;/*要求输出字符串占10列,字符串example小于10,左边用空格补上*/printf("%5.3s\n","example") ;/*要求输出字符串占5列,但只取字符串左端的3个,左边用空格补上*/printf("%5.7s\n\n","example") ;/*要求输出字符串占5列,但取字符串左端的7个,由于7>5,故要保证7个字符输出*/printf("下面是对f格式的例子\n");printf("%f\n",2.7654321); /*不人为指定宽度,故整数部分全部输出,小数部分最多输出六位*/printf("%6.5f\n",2.7654321); /*指定宽度为6,小数部分为5位*/ printf("%6.7f\n",2.765); /*指定宽度为6,小数部分为7位*/ }
对于m.n的格式还可以用如下方法表示:printf("%*.*s\n",m,n,字符串);(其中m和n是在该语句外定义的。)
- 对c语言中printf函数的个人理解
- c语言 对printf函数的理解
- c语言 对printf函数的理解
- 个人对c语言的理解
- 个人对c语言指针的理解
- C语言中Printf()函数的运行机制
- C语言 宏和函数 个人对编译链接的理解
- 个人对c++STL及其它编程语言的理解
- 从printf的实现原理来谈对C/C++中可变参数函数的实现理解
- 我对printf函数的一些理解
- 关于C语言中printf函数的一个问题
- c语言中可变参数的原理---printf()函数
- c语言中可变参数的原理---printf()函数
- 关于C语言中printf函数的参数执行顺序
- C语言printf()函数中一些不为人知的技巧!
- C语言printf()函数中一些不为人知的技巧!
- 语法:C语言中printf函数的返回值
- C语言中对const的理解
- [Warning] TIMESTAMP with implicit DEFAULT value
- atitit.404错误的排查流程总结vOa6
- RSA机密的原理
- Android应用如何适配不同分辨率的手机
- 2014/10/7 闹中修静--静心
- 对c语言中printf函数的个人理解
- 限制对象在堆或栈中声明
- actionsheet按钮序号
- 预期投资理财收益
- 易信每月送90分钟/月通话
- 深入HRESULT与Windows Error Codes的区别详解
- jstl标签库例子解析
- BCG属性列表
- 安卓第一课:通过一个简单的MP3播放器来认识安卓开发【下】