C中Printf函数的格式控制
- 格式:doc
- 大小:393.50 KB
- 文档页数:3
1.转换说明符%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)%c 字符%d 有符号十进制整数%f 浮点数(包括float和doulbe)%e(%E) 浮点数指数输出[e-(E-)记数法]%g(%G) 浮点数不显无意义的零"0"%i 有符号十进制整数(与%d相同)%u 无符号十进制整数%o 八进制整数 e.g. 0123%x(%X) 十六进制整数0f(0F) e.g. 0x1234%p 指针%s 字符串%% "%"2.标志左对齐:"-" e.g. "%-20s"右对齐:"+" e.g. "%+20s"空格:若符号为正,则显示空格,负则显示"-" e.g. "% 6.2f"#:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点。
3.格式字符串(格式)[标志][输出最少宽度][.精度][长度]类型"%-md" :左对齐,若m比实际少时,按实际输出。
"%m.ns":输出m位,取字符串(左起)n位,左补空格,当n>m or m 省略时m=ne.g. "%7.2s" 输入CHINA输出" CH""%m.nf":输出浮点数,m为宽度,n为小数点右边数位e.g. "%3.1f"输入3852.99输出3853.0长度:为h短整形量,l为长整形量printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
C 语言输入输出函数printf 与scanf 的用法格式printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。
下面详细介绍这两个函数的用法。
一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
在编写程序时经常会用到此函数。
printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式控制字符, 以"%"开始, 后跟一个或几个控制字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,可以是常量、变量或表达式,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。
例如:printf("a=%d b=%d",a,b);1. 格式控制符Turbo C2.0提供的格式化规定符如下: 格式控制字符参量表正常字符━━━━━━━━━━━━━━━━━━━━━━━━━━符号作用──────────────────────────%d 十进制有符号整数%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p 指针的值%e,%E 指数形式的浮点数%x, %X 无符号以十六进制表示的整数%o 无符号以八进制表示的整数%g,%G 自动选择合适的表示法━━━━━━━━━━━━━━━━━━━━━━━━━━printf的附加格式说明字符字符说明l 用于长整型数或双精度实型,可加在格式符d、o、x、u和f前面m(代表一个正整数据最小输出显示宽度数)n(代表一个正整数)对实数,表示输出n位小数;对字符串,表示截取的字符个数。
c语言中printf的意思
printf是C语言中的一个标准库函数,用于将格式化的数据输出到屏幕或文件中。
它是一个非常重要的函数,常用于调试和输出程序的运行结果。
printf函数的原型为:int printf(const char *format, ...);
其中,第一个参数format是输出格式字符串,它包含了要输出的文本以及格式控制符。
格式控制符以%开头,用于指定输出的数据类型及其格式。
常用的格式控制符有:%d(输出整数)、%f(输出浮点数)、%s(输出字符串)等等。
除了格式字符串外,printf函数还可以接受任意数量的参数,这些参数按照格式字符串中的格式控制符进行格式化输出。
例如,下面的代码将输出一个整数和一个字符串:
int num = 123;
char *str = 'Hello, world!';
printf('num = %d, str = %s
', num, str);
输出结果为:
num = 123, str = Hello, world!
总之,printf函数是C语言中用于输出格式化数据的重要函数,掌握它的用法有助于提高程序的调试和输出效率。
- 1 -。
c语言printf原型
摘要:
1.C 语言printf 函数概述
2.printf 函数的原型
3.printf 函数的使用方法
4.printf 函数的格式控制符
5.printf 函数的示例
正文:
【1.C 语言printf 函数概述】
C 语言中的printf 函数是一种用于输出信息的函数,它可以将数据以格式化的方式输出到屏幕上,是C 语言中重要的输出函数之一。
【2.printf 函数的原型】
printf 函数的原型为:
```
int printf(const char *format,...);
```
其中,`format`为格式控制字符串,`...`表示可变参数列表。
【3.printf 函数的使用方法】
使用printf 函数时,需要按照以下步骤进行:
1.定义一个格式控制字符串,用双引号括起来。
2.在格式控制字符串中,插入所需的输出项,如普通字符、转义字符或格
式控制符等。
3.使用`...`表示可变参数列表,将实际要输出的值或变量放在列表中,用逗号分隔。
4.调用printf 函数,将格式控制字符串和可变参数列表作为参数传递。
【4.printf 函数的格式控制符】
printf 函数中的格式控制符用于指定输出项的类型、宽度、精度等格式信息。
c语言 printf %8dl在C语言中,printf 函数是一个非常常用的输出函数,它允许我们格式化地输出各种类型的数据。
在 printf 函数中,我们可以使用各种格式说明符来控制输出的格式。
其中,%8dl 是一个特定的格式说明符,它用于输出长整型(long int)的数据,并且指定了输出的宽度为8个字符。
让我们来详细解释一下这个格式说明符:%:这是格式说明符的开始。
8:这个数字表示输出的最小宽度。
如果输出的数字不足8位,那么会在左侧用空格填充,以确保输出的总宽度为8个字符。
如果输出的数字超过8位,那么会按照实际的位数输出。
d:这个字母表示输出的是十进制整数。
l:这个字母表示输出的是长整型(long int)的数据。
下面是一个使用 %8dl 的例子:c#include <stdio.h>int main() {long int num = 12345;printf("Number: %8dl\n", num);return 0;}在这个例子中,我们定义了一个长整型变量 num,并赋值为 12345。
然后,我们使用printf 函数和 %8dl 格式说明符来输出这个变量的值。
因为 12345 这个数字只有5位,所以 printf 函数会在左侧填充3个空格,以确保输出的总宽度为8个字符。
因此,输出的结果将会是:makefileNumber: 12345l请注意,在 %8dl 中,l 是格式说明符的一部分,它表示输出的是长整型的数据。
在输出时,l 会和数字一起被打印出来。
如果你不想在输出中包含这个 l 字符,你可以只使用 %8d 作为格式说明符,像这样:cprintf("Number: %8d\n", num);这样输出的结果将会是:makefileNumber: 12345。
printf函数的用法printf可以用来输出不同类型的数据,如整数、字符、字符串等,其语法为:printf(显示字符串 printf(显示变量变量值);尤其需要注意的是:printf函数中的字符串是可变的,因此,在printf函数中应避免使用变量,防止出现意想不到的情况。
三、printf数的参数printf函数的最后一个参数是一个或多个值,这些值将被按照一定的格式显示出来,这就是printf函数的格式控制字符。
printf 函数可以使用以下两种格式控制字符:1.转义字符,如“t”、“”等,可以让printf函数自动生成换行、制表符、空格等。
2.格式控制符,如“%d”、“%s”等,用于指定字符、整数、浮点数、字符串等数据的输出格式。
四、printf数的常用格式控制符1. %d:可以把整数格式化输出;2. %f:可以把浮点数格式化输出;3. %s:可以把字符串格式化输出;4. %c:可以把字符格式化输出;5. %p:可以以十六进制的形式输出指针的地址;6. %u:可以以十进制的形式输出无符号整数;7. %x:可以以十六进制的形式输出无符号整数;8. %o:可以以八进制的形式输出无符号整数;五、printf数的高级用法1.以使用转义字符组合,在printf函数中制作一个表格:printf(%s | %s | %s学号姓名分数 printf(%s | %s | %s,1张三90 printf(%s | %s | %s,2李四802.以使用printf函数的对齐功能进行输出对齐:printf(|%-10s | %-10s | %-10s|学号姓名分数 printf(|%-10s | %-10s | %-10s|,1张三90 printf(|%-10s | %-10s | %-10s|,2李四80六、总结printf函数是C语言中重要的输出函数,其形式为:int printf(const char *format,...);它的功能是将按照一定的格式输出到显示器上。
c语言printf的用法printf()函数是C语言中格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
在编写程序时经常会用到此函数。
下面我们来看看c语言printf的用法。
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语言printf的用法详解printf函数是C语言中一个用于输出格式化字符串的函数。
其原型为:```cint printf(const char *format, ...);```该函数的主要作用是将格式化的字符串输出到标准输出(显示器)中。
下面是对printf函数的用法进行详细介绍:1.输出字符串:直接在format参数中写入要输出的字符串即可。
```cprintf("Hello, World!");```2.输出变量:使用格式控制符以及相应的参数,将变量的值输出。
```cint num = 10;printf("The number is %d", num);```在上述代码中,%d是格式控制符,用于输出整数类型的变量。
这样程序会将num的值替换%d,并输出到标准输出中。
3.输出多个变量:可以在format参数中使用多个格式控制符,并按照顺序传递相应的参数。
```cint x = 10;int y = 20;printf("The values are %d and %d", x, y);```4.格式控制符的使用:printf函数中的格式控制符用于指定输出参数的类型和格式。
常见的格式控制符包括:- %d:输出十进制整数- %ld:输出长整数- %f:输出浮点数- %c:输出字符- %s:输出字符串- %p:输出指针的地址还可以使用一些标识符来控制格式化输出的样式,例如:- %4d:输出四位整数,不足四位用空格填充- %06d:输出六位整数,不足六位用0填充- %.2f:输出浮点数并取两位小数5.转义字符的使用:printf函数支持使用转义字符来输出特殊字符,常见的转义字符包括:- \n:换行- \t:制表符- \\:反斜杠- \":双引号```cprintf("This\tis an example\n");```除了上述常见的用法,printf函数还可以通过控制修饰符控制输出的格式,例如输出的对齐方式,输出的颜色等等。
c语言printf里面的格式
C语言中,printf函数是用来向屏幕或其他输出设备输出数据的函数。
它可以输出纯文本或者是数字、字符等数据类型,而且还可以通过格式化输出的方式,将数据以特定格式输出。
下面是printf函数中常用的格式控制字符:
1. %d:输出十进制整数。
2. %f:输出浮点数。
3. %c:输出一个字符。
4. %s:输出字符串。
5. %p:输出指针地址。
6. %x:输出十六进制整数。
7. %o:输出八进制整数。
8. %e:用科学计数法输出浮点数。
9. %g:根据数值大小自动选择%f或者%e输出浮点数。
10. %%:输出一个百分号。
另外,还有一些格式控制符的修饰符可用于控制输出的宽度、精度等,如下:
1. %nd:输出宽度为n的十进制整数,不足n位在左边补0。
2. %m.nf:输出宽度为m,精度为n的浮点数。
3. %-ns:输出宽度为n的左对齐字符串。
4. %*s:输出宽度为*的字符串,*由参数提供。
以上就是printf函数中常用的格式控制字符及其修饰符。
掌握
好这些内容可以使输出的结果更加符合要求,为程序的调试和开发提供便利。
C语⾔printf()函数的格式控制符C语⾔中,printf()函数针对输出不同的数据类型,有不同的格式控制符,此处汇总了⼀些常⽤的格式控制符:%hd⽤来输出 short int 类型,hd 是 short decimal 的简写;%d⽤来输出 int 类型,d 是 decimal 的简写;%ld⽤来输出 long int 类型,ld 是 long decimal 的简写。
%c:输出⼀个字符。
c 是 character 的简写。
%s:输出⼀个字符串。
s 是 string 的简写。
%f:输出⼀个⼩数。
f 是 float 的简写。
在输出整数⽅⾯,格式控制符和整数的符号是紧密相关的,具体就是:%d 以⼗进制形式输出有符号数;%u 以⼗进制形式输出⽆符号数;%o 以⼋进制形式输出⽆符号数;%x 以⼗六进制形式输出⽆符号数。
printf函数并不⽀持“输出负的⼋进制或者⼗六进制数”。
下表总结了不同类型的整数,以不同进制的形式输出时对应的格式控制符(--表⽰没有对应的格式控制符)short int long unsigned short unsigned int unsigned long⼋进制------%ho%o%lo⼗进制%hd%d%ld%hu%u%lu⼗六进制------%hx 或者 %hX%x 或者 %X%lx 或者 %lX对于⼀个有符号的正数,它的符号位是0,当按照⽆符号数的形式读取时,符号位就变成了数值位,但是该位恰好是0⽽不是1,因此,⽤%o 或者%x输出,不会有影响;如果⼀个有符号整数是负数,这时候⽤%o或者%x输出,则结果就会⼤相径庭。
可以说,“有符号正数的最⾼位是0”这个巧合才使得%o和%x输出有符号数时不会出错⼩数的输出格式:%f 以⼗进制形式输出float类型;%lf 以⼗进制形式输出double类型;%e 以指数形式输出float类型,输出结果中的 e ⼩写;%E 以指数形式输出float类型,输出结果中的 E ⼤写;%le 以指数形式输出double类型,输出结果中的 e ⼩写;%lE 以指数形式输出double类型,输出结果中的 E ⼤写。
printf在单片机c语言中作用以printf在单片机c语言中的作用为题,需要详细介绍和解释printf函数在单片机中的作用和使用方法。
首先,我们来了解一下单片机和c语言的基本概念。
单片机是一种集成了微处理器、存储器和各种外设接口的微型计算机系统。
它通常用于控制和管理各种电子设备。
而c语言是一种通用的高级程序设计语言,广泛应用于嵌入式系统开发领域,尤其是在单片机编程中。
在单片机中,printf函数是一个非常重要的输出函数,它可以将格式化的数据打印输出到终端设备或其他输出设备上。
printf函数的语法格式如下:printf("格式控制字符串", 参数列表);其中,格式控制字符串用来定义输出的格式,它可以包含普通字符和格式转换说明符。
参数列表是一个可选项,用来指定要输出的数据。
printf函数可以输出各种类型的数据,如整数、浮点数、字符等。
下面我们通过一些具体的例子来说明printf函数的使用方法。
1. 输出整数型数据:int num = 123;printf("整数:%d\n", num);上述代码将会在终端上输出"整数:123"。
2. 输出浮点型数据:float f = 3.14;printf("浮点数:%f\n", f);上述代码将会在终端上输出"浮点数:3.140000"。
3. 输出字符型数据:char ch = 'A';printf("字符:%c\n", ch);上述代码将会在终端上输出"字符:A"。
4. 输出字符串:char str[] = "Hello World!";printf("字符串:%s\n", str);上述代码将会在终端上输出"字符串:Hello World!"。
c语言中printf函数C语言中的printf函数是一个非常重要的输出函数,它可以将数据输出到控制台或文件中,并且支持格式化输出。
在本篇文章中,我们将分几个方面来详细介绍printf函数。
1.基本语法printf函数的基本语法如下:```int printf(const char * format, ...);```其中,format参数是一个C字符串,用于指定输出的格式;省略号(...)表示可传入任意数量的参数,这些参数用于填充格式字符串中占位符。
2.格式化输出printf函数最大的特点就是支持格式化输出,可以使用各种占位符来格式化输出字符串、整数、浮点数等不同类型的数据。
下面是一些常用的占位符:- %d 整数的十进制表示- %o 整数的八进制表示- %x 整数的十六进制表示- %f 浮点数的小数表示- %s 字符串表示- %c 单个字符表示- %% 输出一个百分号下面是一个示例:```printf("整数:%d,八进制数:%o,十六进制数:%x,浮点数:%f,字符串:%s,字符:%c", 10, 10, 10, 3.14, "hello", 'A');```输出结果为:```整数:10,八进制数:12,十六进制数:a,浮点数:3.140000,字符串:hello,字符:A```3.控制输出长度我们可以使用占位符宽度字段来控制输出的长度,通常用于对齐输出。
例如,%5d表示输出的整数占据5个字符的宽度,不足的位置用空格填充。
下面是一个示例:```printf("%5d|%5d|%5d\n", 1, 22, 333);printf("%5d|%5d|%5d\n", 1111, 222, 33);```输出结果为:```1| 22| 3331111| 222| 33```4.格式化输出控制符除了常用的占位符之外,printf函数还支持一些格式化输出控制符,用于控制输出的格式。
printf的用法printf函数是C语言中常用的输出函数,它的功能是将变量的值或字符串以指定的格式显示到标准输出设备上,即控制台。
printf 的用法十分灵活,在日常开发当中大量使用,因此要熟练掌握其使用方法。
printf函数有多种参数形式,不同参数形式有不同的功能,下面将进行详细介绍:1、printf函数的基本形式printf(文字该语句的作用就是在屏幕上输出括号中的文字,括号中的文字可以是字符串、字符、数字等,一般情况下要用双引号引起来。
printf 函数最后要加上换行符“”,以回车方式输出文字,否则输出的文字会朝一行输出,到达行末字符将不会换行而是接在上一行中继续输出。
2、printf函数的格式控制形式printf(%dum)在printf函数中,可以用到格式控制字符,格式控制字符必须要在双引号中,与输出文字混合使用,字符用变量或者直接给出。
下面是一些常用的格式控制字符:%d:输出带有符号的10进制整数%u:输出不带符号的10进制整数%f:输出浮点数%c:输出字符%s:输出字符串%x:输出无符号的16进制%X:输出有符号的16进制3、printf函数的宽度控制形式printf(%5dum)在宽度控制形式中,可以指定输出宽度,输出宽度必须在格式控制字符前面,比如上代码中指定了输出宽度是5,如果要输出的数据小于5位,系统会自动在前面补0,如果要输出的数据大于5位,则按照实际位数输出。
4、printf函数的精度控制形式printf(%.2fum);在精度控制形式中,可以指定输出小数点后面的位数,精度控制字符必须要在格式控制字符的后面,而且精度控制字符前面要有个英文句号“.”,如上面的代码,就表示输出控制小数点后面的位数为2位。
总结以上就是printf函数的完整用法,要使用printf函数首先要明白各个参数之间的关系,正确掌握printf函数的使用方法,在编程过程中将会大大提高效率。
printf函数有多种参数形式,可以满足我们各种输出需求,并且能够根据格式控制字符和宽度控制字符,控制输出的形式,来满足我们的不同需求。
c语言格式控制字符串详解在C语言中,格式控制字符串(Format Control String)主要用于`printf`和`scanf`等函数中,用于控制数据的输出和输入格式。
格式控制字符串由一系列的格式说明符组成,用于指定输出或输入数据的格式。
以下是格式控制字符串中的一些主要组成部分:1. %d:用于输出或输入整数类型的数据。
2. %f:用于输出或输入浮点数类型的数据。
3. %c:用于输出或输入字符类型的数据。
4. %s:用于输出或输入字符串类型的数据。
5. %p:用于输出或输入指针类型的数据。
6. %u:用于输出或输入无符号整数类型的数据。
7. %o:用于输出或输入八进制无符号整数类型的数据。
8. %x 或 %X:用于输出或输入十六进制无符号整数类型的数据。
9. %e 或 %E:用于输出科学计数法的浮点数。
10. %g 或 %G:用于自动选择`%f`或`%e`,取决于哪个更短。
11. %%:用于输出一个百分号。
此外,还有一些格式说明符可以用来指定输出的宽度、精度和标志等,例如`%6d` 表示一个宽度为6的整数,`%.2f` 表示一个小数点后两位的浮点数,`%-6s` 表示一个左对齐、宽度为6的字符串等等。
以下是一个简单的例子,演示了如何使用格式控制字符串:```cinclude <>int main() {int a = 123;float b = ;char c = 'A';char str[] = "Hello, world!";printf("整数:%d\n", a); // 输出整数a的值printf("浮点数:%f\n", b); // 输出浮点数b的值printf("字符:%c\n", c); // 输出字符c的值printf("字符串:%s\n", str); // 输出字符串str的值return 0;}```在这个例子中,我们使用了不同的格式说明符来控制输出的数据类型和格式。
c语言printf函数源码【原创版】目录1.C 语言 printf 函数简介2.printf 函数的参数3.printf 函数的格式控制字符串4.printf 函数的返回值5.printf 函数的源代码分析正文1.C 语言 printf 函数简介printf 函数是 C 语言中用于输出信息的函数,它可以将数据按照指定的格式输出到屏幕上。
printf 函数是库函数,需要在程序中使用之前包含头文件<stdio.h>。
2.printf 函数的参数printf 函数的参数主要包括两部分:格式控制字符串和要输出的参数表。
格式控制字符串用于指定输出信息的格式,而参数表中包含了要输出的实际数据。
3.printf 函数的格式控制字符串格式控制字符串是一个字符串,其中包含了普通字符、转义字符和格式控制符。
普通字符和转义字符将被原样输出,而格式控制符用于指定要输出的数据的类型和格式。
4.printf 函数的返回值printf 函数的返回值是成功输出的字符数量,如果输出失败则返回负数。
5.printf 函数的源代码分析以下是 printf 函数的简要源代码分析(以 GCC 编译器为例):```cint printf(const char *format,...);{va_list args;int count;unsigned int i;char *str;char *ptr;int ret = 0;va_start(args, format);while ((str = va_arg(args, char *))!= NULL){count = 0;for (i = 0; str[i]!= "0"; i++){count++;if (str[i] == ""){count++;break;}}if (count > 0){for (ptr = &str[count - 1]; ptr >= str; --ptr) {putchar(*ptr);}ret = count;}}va_end(args);return ret;}```从源代码可以看出,printf 函数首先使用 va_list 类型变量 args 保存参数表,然后遍历参数表中的每个参数,将其转换为字符串并计算字符串的长度。
c语言printf里面的格式C语言的printf函数中,格式用于指定输出字符串的格式。
在printf函数中,格式字符串是用“%”开头的,每一个“%”后面紧跟一个转换字符。
下面我们分步骤阐述printf函数格式中常用的转换字符。
1. 打印字符型数据对于字符型数据,我们可以使用”%c”输出。
例如:char ch = 'a';printf("%c",ch);此时,输出结果为“a”。
2. 打印整型数据对于整型数据,我们可以使用”%d”输出十进制整数,使用”%u”输出十进制无符号整数,使用”%o”输出八进制整数,使用”%x”输出十六进制整数(小写字母),使用”%X”输出十六进制整数(大写字母)。
例如:int num = 10;printf("%d %u %o %x %X",num,num,num,num,num);此时,输出结果为“10 10 12 a A”。
3. 打印浮点型数据对于浮点型数据,我们可以使用”%f”输出,使用”%e”输出科学计数法表示的浮点数(小写字母),使用”%E”输出科学计数法表示的浮点数(大写字母)。
例如:float f = 3.14159;printf("%f %e %E",f,f,f);此时,输出结果为“3.141590 3.141590e+00 3.141590E+00”。
4. 打印字符串对于字符串类型的变量,我们可以使用”%s”打印。
例如:char str[] = "Hello, world!";printf("%s",str);此时,输出结果为“Hello, world!”。
5. 转换字符的位置和宽度对于转换字符,可以通过在转换字符前添加以下控制信息控制输出:a. 在“%”和转换字符之间添加一个“-”号,使其左对齐;b. 在“%”和转换字符之间添加数字,来控制输出宽度;c. 在输出宽度数字之后添加一个点和另一个数字,来控制精度。
C语言格式输出函数printf()详解标题4.1.1printf函数(格式输出函数)printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。
其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。
在前面的例题中我们已多次使用过这个函数。
1.printf函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。
但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。
格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如:“%d”表示按十进制整型输出;“%ld”表示按十进制长整型输出;“%c”表示按字符型输出等。
非格式字符串在输出时原样照印,在显示中起提示作用。
输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
【例4.3】main(){int a=88,b=89;printf("%d%d\n",a,b);printf("%d,%d\n",a,b);printf("%c,%c\n",a,b);printf("a=%d,b=%d",a,b);}本例中四次输出了a,b的值,但由于格式控制串不同,输出的结果也不相同。
第四行的输出语句格式控制串中,两格式串%d之间加了一个空格(非格式字符),所以输出的a,b值之间有一个空格。
第五行的printf语句格式控制串中加入的是非格式字符逗号,因此输出的a,b值之间加了一个逗号。
第六行的格式串要求按字符型输出a,b值。
第七行中为了提示输出结果又增加了非格式字符串。
C语言printf函数一、printf函数的一般调用形式功能:printf函数用于输出信息。
格式:printf(格式控制,输出项1,输出项2,……)说明:格式控制是字符串形式,输出项是要输出的字符或变量名。
在printf函数的调用之后加上“;”,则构成输出语句。
例如:printf(“a=%d,b=%d”,a,b); 语句,其中,printf是函数名;“a=%d,b=%d”是输出格式控制,决定了输出数据的内容和格式;a、b称为输出项,是printf函数的实参。
二、printf函数中常用的格式说明格式控制中,每个格式说明都必须用“%”开头,以一个格式字符作为结束,在此之间可以根据需要插入“宽度说明”、左对齐符号“-”、前导零符号“0”等。
A:格式字符:主要用于说明输出字符的格式;B:长度修饰符:在“%”和格式字符之间可以加入长度修饰符,以保证数据输出格式的正确和对齐;C:输出数据所占的宽度说明:当使用%d、%c、%f、%e、%s等的格式说明时,输出数据所占的宽度由系统决定,通常按照数据本身的实际宽度输出,前后不加空格,并采用右对齐的形式;D:输出数据左对齐:输出数据都默认为右对齐,若想左对齐,可以在格式控制中的%与格式字符之间加一个“-”来实现;E:使输出数据总带“+”和“-”:通常输出的数据如果是负数,前面有“-”,但正数前面的“+”一般都省略了,如果想让每一个数前面都带正负号,可以在“%”和格式字符之间加一个“+”来实现。
三、使用printf函数时的注意事项1:printf的输出格式为自由格式,是否在两个数之间留逗号、空格、或回车,完全取决于格式控制;2:格式控制中必须含有与输出项一一对应到输出格式说明,类型必须匹配,若格式说明与输出项的类型不一一对应匹配,则不能正确输出,而且编译时不会报错。
若格式说明个数少于输出项个数,则多余的输出项不予输出;若格式说明的个数多于输出项的个数,则将输出一些无意义的数字乱码;3:在格式控制中,除了前面要求的输出格式,还可以包括任意的合法字符(包括汉字和转义字符),这些字符输出时将原样输出,此外还可以利用\n(换行)、\r(回车)、\t(制表)、\a(响铃)等控制输出格式;4:如果要输出%,可以在格式控制中用“%%”表示,将输出一个%;5:printf函数有返回值,返回值是本次调用输出字符的个数,包括回车等控制符。
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位.。