printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
---------------------------------------
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
main()
{ int a = -1;
printf("%d, %o", a, a);
}
运行结果:-1,177777
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。
---------------------------------------
关于printf函数的进一步说明:
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
printf("%f%%", 1.0/3);
输出0.333333%。
---------------------------------------
对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.
分享到:
相关推荐
printf 函数实现详解 printf 函数是 C 语言中一个非常重要的函数,它可以将格式化后的字符串输出到标准输出设备上。下面是对 printf 函数的实现详解。 一、printf 函数的定义 printf 函数的定义如下所示: ```c ...
在提供的链接中,博客详细介绍了 `printf()` 函数的用法和实例,包括各种格式说明符的使用以及如何处理多参数的输出。 从给出的压缩包文件名称列表来看,似乎是一个开发环境的项目文件,如 `.db` 和 `.sln` 文件...
### printf函数详细解释 `printf`函数是C和C++编程语言中用于格式化输出文本的强大工具。在本文中,我们将深入探讨`printf`函数的工作原理、格式化字符串的细节以及如何灵活运用它来实现多样化的输出需求。 #### 1...
### printf函数族用法详解 #### 一、概述 `printf`函数族是C语言中极为重要的函数之一,主要用于格式化输出数据。该家族包括多种不同的函数,它们各自有不同的应用场景和特点。本篇文章将详细介绍`printf`函数族的...
printf函数实现详解 printf函数是C语言中最基本的输出函数之一,用于将格式化后的字符串输出到屏幕上。在单片机系统中,printf函数的实现对于串口通信和调试非常重要。本文将详细介绍printf函数的实现,包括它的...
C语言中的`printf`函数是标准输入输出库中的一个非常重要的函数,用于格式化输出数据到标准输出设备,如显示器。本文将详细介绍`printf`函数的使用,包括其格式控制的组成部分以及各种格式字符的含义。 首先,`...
printf() 函数是格式化输出函数,用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:int printf(const char *format, ...); 函数返回值为整型。若成功则返回输出的字符数,输出...
C语言函数库详解 C语言函数库是C语言中的一个重要组件,它提供了一组丰富的函数库,帮助开发者快速高效地编写C语言程序。下面是对C语言函数库的详细解释: assert.h:诊断 assert.h头文件提供了一个名为assert的...
这些函数在处理像`printf()`和`scanf()`这样的格式化输入/输出时非常有用,以及在`exec*()`系列函数中用于在程序中执行外部文件。尽管`main()`函数的`argc`和`argv`参数看起来类似可变参数,但它们实际上是固定的,...
printf 函数将格式化后的字符串输出到标准输出设备,而 sprintf 函数将格式化后的字符串保存到一个字符数组中。 sprintf 函数的定义为:int sprintf( char *buffer, const char *format [, argument] ... );其中...
C语言中的可变参数是一种特殊的函数参数形式,它允许函数接受不定数量和类型的参数。在日常开发中,我们常用的 printf 函数就是使用了可变参数的接口。今天,我们将深入探索 C 语言可变参数的实现机制。 首先,让...
### Printf输出格式详解 在C语言中,`printf`函数是一种非常重要的输出工具,它能够按照用户定义的格式输出各种类型的数据。本文将基于提供的示例深入探讨`printf`的各种输出格式及其用法。 #### 字符串输出格式 ...
### C语言printf函数详解 #### 一、printf函数概述 `printf`函数是C语言中最常用的输出函数之一,用于向标准输出设备(通常是屏幕)输出指定格式的数据。它定义在`stdio.h`头文件中,因此在使用时需要包含此头文件...
通过 `printf()` 函数,开发者能够按照预设的格式输出各种类型的数据,如整数、浮点数、字符串等,这使得数据的展示更为直观和规范。 #### 二、函数原型 `printf()` 的函数原型定义在 `<stdio.h>` 头文件中,其...
### C语言函数库详解知识点梳理 #### 第一章:C标准库 在这一章节中,我们将深入了解C语言标准库中的各个头文件及其提供的功能。这些库函数为C语言程序员提供了强大的工具箱,使得开发人员能够高效地进行各种操作...
### C语言函数库详解 #### 第一章:C标准库概览 本章节将详细介绍C语言中的标准库函数,这是所有C程序员都应该了解的核心部分。这些库提供了丰富的功能,覆盖了从基本的数据类型操作到复杂的数学计算等多个领域。 ...
### C语言time函数详解 在C语言编程中,时间处理是一项基本且重要的功能。无论是进行日期计算、定时任务还是性能测试等场景,都需要对时间有深入的理解和掌握。本文将详细解析C语言中的`time`函数及其相关概念,...
例如,`int printf(const char *format, ...)`表示`printf`函数返回整型值,接受一个字符串指针和可变数量的参数。 3. **参数说明**:CHM文件会详细解释每个函数的参数含义和用法,包括参数的数据类型、是否必需、...
1. **输入/输出函数**:由头文件提供,如`printf`用于格式化输出,`scanf`用于从标准输入读取数据,`fopen`和`fclose`用于文件操作,`fgets`和`fprintf`则分别用于从文件读取和写入数据。 2. **内存管理函数**:在...