输出格式控制

  • %c 输出一个字符
  • %% 百分号本身
  • %s 输出一个字符串
  • 在格式控制符中加上==#==前缀即可输出前缀
  • %hd%d%ld 以十进制、有符号的形式 short 、int、long类型的整数
  • %hu%u%lu 以十进制、无符号的形式 short 、int、long类型的整数
  • %ho%o%lo 以八进制、不带前缀、无符号的形式 short 、int、long类型的整数
  • %#ho%#o%#lo 以八进制、带前缀、无符号的形式 short 、int、long类型的整数
  • %f%lf 以十进制形式输出 float 、double类型的小数
  • %e%E 以指数形式输出 float 类型,输出结果中的e小写(输出结果中的E大写)
  • %le%lE 以指数形式输出 double 类型,输出结果中的e小写(输出结果中的E大写)
  • %hx%x%lx中的x小写,表明以小写字母的形式输出十六进制数
  • %hX%X%lX中的X小写,表明以大写字母的形式输出十六进制数
  • %g 对比小数的十进制形式和指数形式,以最短的方式来输出小数,让输出结果更加简练
  • printf()格式控制符完整形式:
%[flag] [width] [.precision] type

[ ] 表示此处内容可有可无,是可以省略的;
type 表示输出类型,比如%d、%f、%c,type这项必须有,这意味着输出是必须知道是什么类型;
width 表示最小输出宽度,也就是至少占用几个字符的位置;当输出结果不足width时, 以空格补齐 (如果没有指定对齐方式,默认会在左边补齐空格);当输出宽度超过width时,width不再起作用, 按照数据本身的宽度来输出;

对于printf()函数执行结束时数据并不会直接输出到显示器上,而是放入了缓冲区,直到遇到了换行符\n。

.precision 表示输出精度,也就是小数的位数。
1. 当小数部分位数大于precision时,会按照四舍五入的原则丢掉多余的数字;
2. 当小数部分小于precision时,会在后面补0;
3. 用于整数时,precision表示最小输出宽度,与width不同的是,整数宽度不足时会在左边补0,而不是补空格
4. 用于字符串是,.precision表示最大输出宽度,或者说截取字符串。当字符串的长度大于precision时,会截掉多余的字符;当字符串长度小于precision时,precision不再起作用。
5. -表示左对齐,默认是右对齐。

转义字符

  • \a 响铃
  • \b 退格
  • \f 换页
  • \n 换行,将当前位置移到下一行开头
  • \r 回车,将当前位置移到本行开头
  • \t 水平制表
  • \v 垂直制表
  • 单引号
  • " 双引号
  • \ddd 任意三位八进制数
  • \xhh 任意两位十六进制数
  • \\ 反斜杠

代码演示

 #include <stdio.h>2 3 int main()4 {5     char ch='C';6     char str[]="你好,北京";7     char *p=str;8     short sh=15;9     short int zh=156;10     int a=261;11     long int li=3721;12     long l=48321;13     float f=95.60;14     double d=3.1415926;15     char *q="zh\a\ngrong\r\n";16     printf("ch=%c\r\nsh=%d\r\nzh=%hd\r\na=%d\r\nli=%ld\r\nf=%f\r\nd=%lf\r\ns    tr[]=%s\r\np=%s\r\nq=%s\r\n",ch,sh,zh,a,li,f,d,str,p,q);17     return 0;18     }

输出结果

注意点

  1. f我们输入的是95.60,默认给了我们一个六位小数,一般默认输出六位,当不够时,会输出一个非常接近的值,这与小数本身的存储机制有关。
  2. 当小数超过六位时,会四舍五入取近似值。
  3. 转义字符占用一个字符。
  4. 转换按数据长度增加的方向进行,以保证数据不失真,或者精度不下降。例如,int和long运算时,先将int类型转换为log类型后进行运算。
  5. 所有的浮点类型都是以双精度进行的,即使只有float类型,也要先转换为double类型,才能进行运算。
  6. char和short进行运算时,必须先转换为int类型。

C语言中的输出格式问题、转换方向以及转义字符相关推荐

  1. c语言中浮点数和整数转换_C中的数据类型-整数,浮点数和空隙说明

    c语言中浮点数和整数转换 C中的数据类型 (Data Types in C) There are several different ways to store data in C, and they ...

  2. C 语言中结构体强制转换--实验

    2019独角兽企业重金招聘Python工程师标准>>> 对于C语言中结构体强制转换做了如下实验, 或许可以解惑一些问题 对于结构体, 我理解的属性有: 成员的顺序, 成员的类型,成员 ...

  3. C语言中的大小端转换与高低位颠倒

    在说大小端高低位之前,肯定要说明数据在计算机内是如何存储的.在计算机中,我们将数据分割成了一个一个的字节(byte),而每个字节又有8位(bit). 一个字节,可以声明为unsigned char型数 ...

  4. C语言中的数据类型及其转换详解

    http://www.cnblogs.com/jpcflyer/archive/2012/02/16/2353447.html 1. C语言中的数据类型 C语言中的类型按其组成可以分为简单类型和构造类 ...

  5. C语言中输入输出格式控制

    1.C语言中,非零值为真,真用1表示:零值为假,假用0表示. 2.转义字符参考: \a 蜂鸣,响铃 \b 回退:向后退一格 \f 换页 \n 换行 \r 回车,光标到本行行首 \t 水平制表 \v 垂 ...

  6. c语言高低位拷贝_C语言中的大小端转换与高低位颠倒

    总结一下最近工作学到的东西,主要是关于大小端与高低位. 在说大小端高低位之前,肯定要说明数据在计算机内是如何存储的.在计算机中,我们将数据分割成了一个一个的字节(byte),而每个字节又有8位(bit ...

  7. c语言中十进制与十六进制转换_小猿圈分享-java-十进制、八进制、十六进制数互相转换...

    给大家分享一个可以节约我们时间的小程序,十进制.八进制.十六进制的互相转换,记得收藏哦. public class JZTurn { public static void main(String[] ...

  8. c#语言中怎么样把文本转换成数字,如何将字符串转换为数字 - C# 编程指南 | Microsoft Docs...

    如何将字符串转换为数字(C# 编程指南) 02/16/2021 本文内容 你可以调用数值类型(int.long.double 等)中找到的 Parse 或 TryParse 方法或使用 System. ...

  9. C语言中把小写字符串转换成大写用函数,一个容易的将小写字符串转换成大写的函数...

    一个简单的将小写字符串转换成大写的函数 我用的是VC++6.0,恳请大家帮忙看看到底哪里出错了. #include void uppers(char *Dest,char *Sour) { while ...

最新文章

  1. No compiler is provided in this environment. Perhaps you are running on a JRE rather than a jdk
  2. 《开源安全运维平台OSSIM最佳实践》实验环境下载
  3. crm创建和编辑全局选项集
  4. SQL SERVER 2005 通过链接服务器 访问 ORACLE 的快速设定方法
  5. 新版pycharm,亮瞎我的狗眼
  6. boost::mpl模块实现push_front相关的测试程序
  7. 暴力除法C语言,暴力除法
  8. 获得代理ippython_Python学习笔记六(免费获取代理IP)
  9. nginx开机自启动
  10. 信息安全完全参考手册之安全设计原则(第四章)
  11. Hadoop 源代码分析(二三)FSDirectory
  12. Mac修改hosts文件
  13. matlab图像取样和量化,一文看懂数字图像的取样和量化
  14. 拒绝iap cracker
  15. Photoshop基础学习-修改图片文字
  16. 我爱我专业计算机为主题的演讲稿,我爱我专业演讲稿
  17. B860AV3.1-M2_刷机固件
  18. 线性规划模型应用的2个案例
  19. 运算符重载(二):重载赋值
  20. 读书笔记--推荐系统实践(2)

热门文章

  1. FFmpeg裁剪视频
  2. exynos4412裸机串口实验
  3. exynos4412开发板LED驱动程序
  4. 函数指针、函数指针数组,函数指针数组的指针
  5. java异常 — — 自定义异常
  6. 激活层是每一层都有吗_书评:6本二次元小说,每一本都很有想象力,你都读过吗?...
  7. python用8g还是16g内存好_8g内存还是16g内存?
  8. PHP教材管理系统设计(源代码+毕业论文)
  9. 一键就能去除视频水印,简单实用,重点是免费的哦!
  10. java实现看门狗_Linux启动Jar脚本看门狗脚本