-
2021-05-22 03:41:07
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的值,但由于格式控制串不同,输出的结果也不相同。第四行的输出语句格式
更多相关内容 -
详解C语言中printf输出的相关函数
2020-12-31 02:11:44C语言printf()函数:格式化输出函数 printf()函数是最常用的格式化输出函数,其原型为: int printf( char * format, ... ); printf()会根据参数 format 字符串来转换并格式化数据,然后将结果输出到标准输出... -
C语言格式输出函数printf()详解
2022-05-22 14:27:26printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。 函数原型: int printf ( const char * format, ... ); 返回值: ...参考:https://blog.csdn.net/qq_25544855/article/details/81146800
1.基本用法
printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。
函数原型:
int printf ( const char * format, ... );
返回值:
正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。调用格式:
printf()函数的调用格式为:printf("格式化字符串",输出表列)。
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。解释:字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
注:本文的所有示例代码均在Linux环境下以g++ 4.4.6编译成64位程序的执行。
2.格式控制字符串详解
printf的格式控制字符串组成如下:
//%[标志][最小宽度][.精度][类型长度]类型。 %[flags][width][.prec][length]type
2.1类型(type)
首先说明类型,因为类型是格式控制字符串的重中之重,是必不可少的组成部分,其它的选项都是可选的。type用于规定输出数据的类型,含义如下:
注意:
(1)使用printf输出宽字符时,需要使用setlocale指定本地化信息并同时指明当前代码的编码方式。除了使用%S,还可以使用%ls。
(2)%a和%A是C99引入的格式化类型,采用十六进制p计数法输出浮点数。p计数法类似E科学计数法,但不同。数以0x开头,然后是16进制浮点数部分,接着是p后面是以 2为底的阶码。以上面输出的15.15为例,推算输出结果。15.15转换成二进制为1111.00 1001 1001 1001 1001 …,因为二进制表示数值的离散特点,计算机对于小数有时是不能精确表示的,比如0.5可以精确表示为0.120.12,而0.15却不能精确表示。将15.15对应的二进制右移三位,为1.1110 0100 1100 1100 1100 …转换对应的十六进制就是0x1.e4ccccccccccd,注意舍入时向高位进了1位。由于右移三位,所以二进制阶码就是3。最后的结果就是0x1.e4ccccccccccdp+3。
(3)格式控制字符串除了指明输出的数据类型,还可以包含一些其它的可选的格式说明,依序有 flags, width, .precision and length。下面一一讲解。 -
C语言printf函数
2021-08-22 17:27:44C语言printf函数C语言printf函数
printf函数简介
printf是C语言格式化输出函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。
printf申明于头文件#include <stdio.h>。函数原型:int printf(const char * format, ...);
返回值: 正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。
调用格式: printf函数的调用格式为:
printf("格式化字符串",输出表列)。
格式化字符串包含三种对象,分别为:
- 字符串常量。
- 格式控制字符串。
- 转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
printf函数格式控制字符串详解
printf的格式控制字符串组成: %[flags][width][.prec][length]type
分别代表为:%[标志][最小宽度][.精度][类型长度]类型。
类型(type)
首先说明类型,因为类型是格式控制字符串的重中之重,是必不可少的组成部分,其它的选项都是可选的。type用于规定输出数据的类型,含义如下:
占位符 对应数据类型 含义 示例 %d int 输出int类型十进制数据。 printf("%d",2147483647);//
输出2147483647%i int 输出int类型十进制数据。
printf("%i",2147483647);//
输出2147483647%o
unsigned int 输出unsigned int类型八进制数据。
printf("%o",
4294967295);//
输出37777777777%u unsigned int 输出unsigned int类型十进制数据。 printf("%u",
4294967295);//
输出4294967295%x
unsigned int 输出unsigned int类型十六进制数据,字母部分是小写。
printf("%x",
4294967295);//
输出ffffffff%X unsigned int 输出unsigned int类型十六进制数据,字母部分是大写。 printf("%X",
4294967295);//
输出FFFFFFFF%f float 输出float类型十进制数据。 printf("%f",0.000001);//
输出0.000001
%lf double 输出double类型十进制数据。 printf("%lf",0.000001);//
输出0.000001
%F float(double) 输出float和double类型十进制的
INFINITY和NAN数据
。printf("%F %F",INFINITY,NAN);
//输出INF NAN
%e float(double) 输出float和double类型十进制科学计数数据,e是小写。 printf("%e",0.000001);
//输出1.000000e-006%E float(double) 输出float和double类型十进制科学计数数据,e是大写。 printf("%E",0.000001);
//输出1.000000E-006%g float(double) 输出float和double类型十进制数据,根据数据的长度选择%f或%e方式输出。
printf("%g %g",0.000001,0.1);
//输出1e-006 0.1%G float(double) 输出float和double类型十进制数据,根据数据的长度,选择%f或%E方式输出。 printf("%G %G",0.000001,0.1);
//输出1E-006 0.1%c char 输出char类型数据。 printf("%c",'A')
//输出A%s char* 输出char*类型数据,直至输出到'\0'字符。 printf("%s","A");
//输出A%S/%ls wchar_t* 输出wchar_t*类型数据,直至输出到'\0'字符。 printf("%S %ls",L"A",L"A");//
输出A A%p void* 输出void*类型十六进制数据。 printf("%p","A
");
//输出00405064%n int* 不输出任何数据。%n对应的参数是一个指向int的指针,在此之前输出的字符数将存储到指针所指的位置。 int num=0;
printf("0123%n",&num);
//输出0123printf("%d",num);
//输出4%% char 输出char类型%数据本身。 printf("%%");
//输出%%m 无 打印errno值对应的出错内容。 printf("%m\n");
%a float(double) 输出float和double类型十六进制p计数法数据,字母部分是小写。 printf("%a",0.000001);
//输出0x1.0c6f7ap-20%A float(double) 输出float和double类型十六进制p计数法数据,字母部分是大写。 printf("%A",0.000001);
//输出0X1.0C6F7AP-20注: 格式控制字符串除了指明输出的数据类型,还可以包含一些其它的可选的格式说明,依序有 flags, width, .precision and length。下面一一讲解。
标志(flags)
flags规定输出样式,取值和含义如下:
字符 说明 示例 - 输出结果左对齐,不足右边补空格。 printf("%-2d%2d",1,1);//输出1 1 + 输出符号(正号或负号) printf("%+d %+d\n",1,-1);//输出+1 -1 space 输出值为正时加上空格,为负时加上负号 printf("% d % d\n",1,-1);//输出 1 -1 # type是%o或%x或%X时,输出增加前缀。
type是%f或%lf或%e或%E或%g或%G或%a或%A时,输出增加小数点。
type是%g、%G时,输出增加后面的0。具体示例看下面图片。
0 输出结果前面补上0。 printf("%02d",1);//输出01
输出最小宽度(width)
用十进制整数来表示输出的最少位数。若实际位数多于指定的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。width的可能取值如下:
width 说明 示例 数值 输出结果右对齐,不足左边补空格。 printf("%2d",1);//
输出 1* 不指明输出最小宽度,而是以星号代替,在printf的输出参数列表中给出。 printf("%*d",2,1);//
输出 1
精度(.precision)
精度格式符以.开头,后跟十进制整数。可取值如下:
.precision 描述 示例 .数值 十进制整数。
type是%d或%i或%o或%u或%x或%X时,precision表示输出的最小的数字个数,不足补前导零,超过不截断。
type是%f或%lf或%e或%E或%a或%A时,precision表示小数点后数值位数,默认为六位,不足补后置0,超过则截断。
type是%g或%G时,precision表示可输出的最大有效数字。
type是%s时,precision表示最大可输出字符数,不足正常输出,超过则截断。
precision不指明则默认为0具体示例看下面图片。 .* 不指明输出精度,而是以星号代替,在printf的输出参数列表中给出。 printf("%.*d",2,1);//输出01 注:在对浮点数和整数截断时,存在四舍五入。
类型长度(length)
类型长度指明待输出数据的长度。因为相同类型可以有不同的长度,比如整型有16bits的short int,32bits的int,也有64bits的long int,浮点型有32bits的单精度float和64bits的双精度double。为了指明同一类型的不同长度,于是,类型长度(length)应运而生,成为格式控制字符串的一部分。
注:黄色背景行标识的类型长度说明符和相应的数据类型是C99标准引入的。
注: long int到底是32bits还是64bits跟生成的程序是32bits还是64bits一一对应,如果使用g++编译程序的话,可通过
-m32
或-m64
选项分别生成32bits和64bits的程序。因本人测试代码编译生成的是64bits的程序,所以long int也就是64btis。
转义字符
转义字符在字符串中会被自动转换为相应操作命令。printf()使用的常见转义字符如下:
转义字符 意义 \a 警报(响铃)符 \b 回退符 \f 换页符 \n 换行符 \r 回车符 \t 横向制表符 \v 纵向制表符 \\ 反斜杠 \” 双引号
欢迎大家来加我自己的编程语言交流QQ群群号:387618421
-
c语言中printf用法及其函数定义
2021-05-18 12:28:43c语言中printf用法及其函数定义发布时间:2020-04-09 10:51:14来源:亿速云阅读:354作者:小新今天小编给大家分享的是c语言中printf用法及其函数定义,很多人都不太了解,今天小编为了让大家更加了解c语言中的...c语言中printf用法及其函数定义
发布时间:2020-04-09 10:51:14
来源:亿速云
阅读:354
作者:小新
今天小编给大家分享的是c语言中printf用法及其函数定义,很多人都不太了解,今天小编为了让大家更加了解c语言中的printf,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。
printf用法详解
printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("", )。printf()是C语言标准库函数,在 stdio.h 中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
printf函数定义
函数声明int printf(char *format...);
调用格式printf("", );
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。 [
格式控制字符串format
format-- 是字符串,包含了要被写入到标准输出 stdout 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。
printf的格式控制字符串format组成如下:%[flags][width][.prec][length]type
即:%[标志][最小宽度][.精度][类型长度]类型
以上就是c语言中printf用法及其函数定义的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!
-
C语言格式输出函数printf.docx
2021-05-21 09:29:09C语言格式输出函数printfC语言格式输出函数printf()详解标题4.1.1printf函数(格式输出函数)printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据... -
C语言中输入函数(scanf()、fgets()和gets())的区别详解
2021-01-01 05:30:29scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。 scanf函数的一般形式为: scanf(“格式控制字符串”, 地址表列); 其中... -
初阶C语言/printf函数、格式字符、转义字符
2022-06-20 21:53:30C语言格式字符、转义字符、printf函数 -
c语言printf函数原型_C Printf()函数示例教程
2020-10-09 12:40:21c语言printf函数原型C and C++ programming language a printffunction that is used to print given values or data to the standard output or current terminal. printf() functionsupports different formatting... -
C语言中格式化输入输出函数(转)
2021-05-21 19:12:441.1.1 格式化输入输出函数一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf("",);其中格式化字符串包括... -
printf在c语言中的作用
2021-05-19 05:01:091.调用格式为printf("", ); 其中格式化字符串包32313133353236313431303231363533e78988e69d8331333264663065括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一... -
详解C语言结构体中的函数指针
2020-09-02 12:12:21主要介绍了详解C语言结构体中的函数指针,文中对函数指针的基本概念也有讲解,需要的朋友可以参考下 -
C语言printf()函数:格式
2017-03-14 19:30:05转载于C语言中文网 头文件:#include #include int main(void) { int a=1; float b=5.0; char str[100]= ""; scanf("%c %c %c",&a,&b,str); /*分别演示 整数*/ printf("int is:%d\n",a); /*分别演示 -
[2018年最新整理]C语言输入输出函数printf与scanf的用法格式.doc
2021-05-23 03:39:32[2018年最新整理]C语言输入输出函数printf与scanf的用法格式C语言输入输出函数printf与scanf的用法格式printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这... -
printf在c语言中的意思是什么呢
2021-05-21 04:14:18在C语言中printf( )是专门用于输出的2113语句。...3、格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器,控制台等)输出字符。c语言中scanf()是专门输入的语句... -
C语言之printf函数
2017-03-16 21:58:08printf函数称为格式输出函数,其关键字最末一个字母f即为...printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。printf函数调用的一般形式为:printf(“格式控制字符串”, 输出表列)其中格式控制字... -
C语言标准格式输出函数printf中“%d,%o,%x,%u,%e,%f,%c,%s,%p”等的含义
2019-04-22 18:31:591、标准格式化输出:格式字符有d,o,x,u,c,s,f,e,g等。 2、输出指定长度 3、scanf(控制字符,地址列表) 1、标准格式化输出:格式字符有d,o,x,u,c,s,f,e,g等。 格式说明:由“%”和格式字符组成,如%d%f等。 ... -
c语言格式化输出函数printf()
2016-10-30 22:18:00printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。调用格式为: printf("",); 其中格式化字符串包括两部分内容: 一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定... -
Python调用ctypes使用C函数printf的方法
2020-09-21 04:56:49主要介绍了Python调用ctypes使用C函数printf,需要的朋友可以参考下 -
C语言printf和scanf函数的格式控制符介绍
2021-11-17 10:33:06C语言中非常重要的两个函数,输入函数(scanf,功能是通过键盘给程序中的变量赋值)输出函数(printf,功能是将程序运行的结果输出到屏幕上),如果在程序中要使用 printf 或者 scanf,那么就必须要包含头文件 stdio... -
输出字符串 (10 分)C语言标准函数库中 printf 函数和 puts 函数都可以输出字符串,但各有优点和缺点。...
2022-04-21 16:18:28C语言标准函数库中 printf 函数和 puts 函数都可以输出字符串,但各有优点和缺点。我们综合两者的优点,设计一个函数来输出字符串。 函数原型 int PutStr(const char *str); 说明:str 为字符串的起始地址。... -
零基础C语言入门003——printf()格式化输出函数与转义字符
2019-12-31 16:04:34想在屏幕上按指定格式打印下面这段文字 hello world! fangxu! 第一种 #include<stdio.h> int main() { printf("hello world!\n"); printf("fangxu!\n"); return 0; } 第二种 #include<... -
C语言printf()函数输出结果格式详解
2020-12-22 13:43:51首先总结一下各类 格式控制符 %d :按整型数据的实际长度输出。 %ld :输出长整型数据。 %f :用来输出实数,包括单精度和双精度,以小数形式输出。系统默认整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五... -
printf()函数重定向到STM32串口输出
2020-08-03 11:33:19最近遇到需要MCU输出数字的问题,而STM32的串口输出的是字符型,最先想到的方法是将整型数据转换为字符型输出,C库函数中提供了相关的函数 。 -
printf在c语言中代表什么意思
2021-05-18 16:58:25在C语言中printf( )是专门du用于输出的语句zhi。...3、格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器,控制台等)输出字符。c语言中scanf()是专门输入的语句。用法如下:...