学习了《C语言printf()和puts()的简单使用》,大家应该能够使用 printf() 输出简单格式的数据了,%d、%f、%c 和 %s 只是 printf( ) 的格式控制字符串中转化字符的最简形式,printf() 格式控制字符串的完整形式为:

%[标志][输出最小宽度][.精度][数据长度]数据类型字符

其中,[ ]表示可选项。

1. 数据类型字符

用于表示输出数据的类型,其格式字符和意义如表 2 所示。

表 2:C语言中 printf( ) 函数控制输出数据类型的格式字符

格式字符

输出示例

意义

d

printf(“%d”,16);

以十进制输出带符号整数(正数不输出符号)

u

printf(“%u”,16);

以十进制输出无符号整数

o

printf(“%o”,75);

以八进制输出无符号整数(不输出前缀 0)

x

printf(“%x”,5B);

以十六进制输出无符号整数(不输出前缀 0x)

f

printf(“%f”,3.14);

以小数形式输出单、双精度实数

e

printf(“%e”,30000);

以指数形式输出单、双精度实数

g

printf(“%e”,30000);

以 %f、%e 中较短的宽度输出单、双精度实数

c

printf(“%c”,’x’);

输出单个字符

s

printf(“%s”,”Chi”);

输出字符串

2. 标志

标志字符有 -、+、#、空格、0 五种,其意义如表 3 所示。

表 3:C语言中 printf( ) 函数控制数据输出形式的标志字符意义

格式字符

意义

输出结果左对齐,右边填空格(和输出最小宽度搭配使用)

+

输出结果右对齐,左边填空格(和输出最小宽度搭配使用),同时显示符号

#

对 c、s、d、u 类无影响,对 o 类输出时加前缀 0,x 类输出时加前缀 0x

空格

输出符号,值为正时冠以空格,为负时冠以负号

0

放置在十进制整数的输出最小宽度前,用于当实际位数少于最小宽度时在前面补 0

3. 输出最小宽度

用十进制整数表示输出的最少位数,若实际位数多于定义的宽度,则按实际位数输出,实际位数少于定义的宽度则补以空格或 0。

4. 精度

精度格式符以小数点.开头,后跟十进制整数。如果输出数字,则表示其小数位数,如果输出字符,则表示输出字符的个数。若实际位数大于定义的精度,则截去超出的部分。

5. 数据长度

长度格式符有 h 和 l 两种。h 表示以短整型输出整数或以单精度输出浮点数,l 表示以长整型输出整数或以双精度输出浮点数。

汇总和示例

图 2 展示了使用 printf( ) 函数进行格式化输出数据的方式。

图 2:printf( ) 函数格式输出图例详解

printf( )函数进行格式化输出数据的两个实例如代码清单 1 和代码清单 2 所示。

代码清单 1:printf( ) 函数格式输出示例

#include

#include

int main( )

{

printf("\n“+”标志输出右对齐的带符号数据:\n\n");

printf("%+10d %+10.2f %+10s\n",56,-809.56,"American");

printf("%+10d %+10.2f %+10s\n",5668,-23.5,"USA");

printf("\n“-”标志输出左对齐的数据:\n\n");

printf("%-10d %-10.2f %-10s\n",56,-809.56,"American");

printf("%-10d %-10.2f %-10s\n",5668,-23.5,"USA");

printf("\n“#”标志输出带前缀的八进制数和十六进制数:\n\n");

printf("%#o %#x\n",0546,0x5B);

printf("\n输出不带前缀的八进制数和十六进制数:\n\n");

printf("%o %x\n\n\n ",0546,0x5B);

system("pause");

return 0;

}

运行结果:

“+”标志输出右对齐的带符号数据:

+56    -809.56   American

+5668     -23.50        USA

“-”标志输出左对齐的数据:

56         -809.56    American

5668       -23.50     USA

“#”标志输出带前缀的八进制数和十六进制数:

0546 0x5b

输出不带前缀的八进制数和十六进制数:

546 5b

代码清单 2:printf( ) 函数格式输出示例

#include

#include

int main( )

{

printf("“%%10.4f”输出宽度10带4位小数的单精度浮点数:\n");

printf("%10.4f %10.4f\n",-1234.123457,3.14159);

printf("\n“%%15.8lf”输出宽度15带8位小数的双精度浮点数:\n");

printf("%15.8lf %15.8lf\n",-123.123456789,3.14159);

printf("\n“%%10.4s”输出宽度10含4个字符的字符串:\n");

printf("%10.4s %10.4s","ABCDEFGH","enlish");

system("pause");

return 0;

}

运行结果:

“%10.4f”输出宽度10带4位小数的单精度浮点数:

-1234.1235 3.1416

“%15.8lf”输出宽度15带8位小数的双精度浮点数:

-123.12345679 3.14159000

“%10.4s”输出宽度10含4个字符的字符串:

ABCD enli

c语言基础输入printf,C语言输入输出 -printf()输出格式大全相关推荐

  1. python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...

    一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...

  2. c语言多变量输入,技多不压身——C语言(五)变量,常量和输入输出

    前边说变量其实是程序可操作的存储区的名称.C 中每个变量都有特定的类型,类型决定了变量存储的巨细和结构.上次我们写过程序,给变量a附不合的值,a的值将会产生改变. 那么我们接下来要说的常量,就是和他对 ...

  3. c语言 终端用户输入字符,C语言学习 - 输入输出

    输入输出的概念 标准的输出指屏幕终端,标准的输入指键盘,其它的输入输出可以是文件.打印机.扫描仪等设备. 在C语言中,所有的数据输入输出都是由库函数完成的,在使用标准输入输出函数库时要用到stdio. ...

  4. c语言如何输入汉字_C语言入门的第一个小程序

    大部分程序员入门的第一个小程序都是Hello World,还记得当时大一的时候,我室友还特意为了这个发了个说说,现在想起来好有意思,哈哈好了废话不多说,直接干. (PS:如果学过自动忽略) #incl ...

  5. C语言基础01——初识C语言

    目录 什么是C语言 第一个C语言程序:HelloWorld 初识数据类型 初识常量.变量 初始字符串.转义字符.注释 初识选择语句.循环语句 初识函数.数组 初识关键字 定义常量和宏 格式化输入输出 ...

  6. R 语言怎么保存工作目录到当前路径_【R语言基础】01.R语言软件环境搭建及常用操作...

    一.R语言简介 R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果: 表明R语言是该领域 ...

  7. c语言基础知识难点,C语言基础的几个难点解析

    [摘要]本文结合C语言的教学实践,讲解了C 语言基础知识的几个难点,是教学过程中学生较难掌握和容易出错的重要知识点.希望可以对学习C语言的读者提供参考,能更好地理解C程序设计的思想.编写出优秀的C程序 ...

  8. c语言基础循环练习题,C语言练习题:循环部分

    C语言练习题:循环部分(20题) 求一正整数限定内所有素数 /* __author__ = 'xiaofeizhang' 函数作用:求一正整数限定内所有素数 */ #include #include ...

  9. 有c++语言基础学python_D16——C语言基础学PYTHON

    C语言基础学习PYTHON--基础学习D16 20180927内容纲要: 1.JavaScript介绍 2.JavaScript功能介绍 3.JavaScript变量 4.Dom操作 a.获取标签 b ...

  10. C语言基础专业书,C语言程序设计基础

    C语言程序设计基础 (2017年清华大学出版社出版的图书) 编辑 锁定 讨论 上传视频 <C语言程序设计基础>是2017年清华大学出版社出版的图书,作者是贾学斌.宋海民.胡大威. 书    ...

最新文章

  1. html如何实现新闻标题缩略,CSS新闻标题后面跟着new图标_CSS实例
  2. [100]第三波常用命令
  3. 数据库正常运行,突然变慢的解决思路
  4. 利用emu8086学习汇编int 10h功能
  5. mfc中ado上传image到sql数据库
  6. java自学语法_java 基础语法学习
  7. Android 编译系统分析(二)
  8. EEPlat的元模型体系
  9. [iOS]Unable to run app in Simulator
  10. openssl rsa密钥
  11. 2021山东科技大学计算机学院,2021年3月山东科技大学计算机等级考试报名工作通知...
  12. 使用Quartus进行功能仿真时出现“testbench_vector_input_file option does not exist”的解决方法
  13. 【数据结构笔记11】二叉搜索树,动态查找,删除操作
  14. 千兆2光4电工业级光纤自愈环网交换机ERPS环网交换机
  15. Kali Linux 2022下载
  16. 零基础程序员如何自学编程
  17. 学云计算能从事什么工作 云计算就业怎么样
  18. 贾玲,这次你是不是可以真的快乐了?
  19. Cannt find target\m2e-wtp\web-resources\META-INF\MANIFEST.MF
  20. Android 面经:我是如何进入大厂腾讯的?

热门文章

  1. deadline(deadline是什么意思)
  2. 关于PolarCode方案被5G标准采纳这件事
  3. 权限检查authority-check
  4. Codeforces Round #818 (Div. 2)
  5. Schema是什么?
  6. cocos2d video视频层放置ui
  7. 基于蓝牙协议的无线网络化传感器设计
  8. 世界上最神奇的数字:142857,看似平凡的数字,为什么说他最神奇呢?——The world's most amazing number: 142857...
  9. 生物AI插图免费领取
  10. 黑苹果安装教程及相关问题处理心得