您当前的位置:首页 > 淘宝百科

printf用法(printf()的用法都有什么啊)

时间:2023-01-30 02:30:46

本文目录

  • printf()的用法都有什么啊
  • printf函数怎么用
  • scanf和printf的区别及用法是什么
  • printf的用法
  • printf怎么用

printf()的用法都有什么啊

格式很简单:printf(“格式字符串“,参数列表);参数列表可以为空,即只是简单的输出一个字符串:printf(“要输出的字符串“);当有参数时,格式字符串中每个输出数据格式必须与参数列表中的对应参数一致,参数的转换符合C语言数据类型转换规则。另外,格式字符串中的数据格式的数量必须与参数列表中参数的数量一致。具体的数据格式自己参考相关书籍或帮助了。

printf函数怎么用

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出   信息。在编写程序时经常会用到此函数。函数的原型为:  int printf(const char *format, ...);  函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。  printf()函数的调用格式为:   printf(“《格式化字符串》“, 《参量表》);   其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原   样输出; 另一部分是格式化规定字符, 以“%“开始, 后跟一个或几个规定字符,   用来确定输出内容格式。   参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出   参数个数一样多, 各参数之间用“,“分开, 且顺序一一对应, 否则将会出现意想   不到的错误。   注意:函数printf从左往右读取,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所有我们看见的结果是,从右边开始处理的。%d 十进制有符号整数   %u 十进制无符号整数   %f 浮点数   %s 字符串   %c 单个字符   %p 指针的值   %e 指数形式的浮点数   %x, %X 无符号以十六进制表示的整数   %o 无符号以八进制表示的整数   %g 自动选择合适的表示法说明:   (1). 可以在“%“和字母之间插进数字表示最大场宽。   例如: %3d 表示输出3位整型数, 不够3位右对齐。   %9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,   小数点占一位, 不够9位右对齐。   %8s 表示输出8个字符的字符串, 不够8个字符右对齐。   如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。   但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;   若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。   另外, 若想在输出值前加一些0, 就应在场宽项前加个0。   例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度   为4位。   如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,   小数点前的数字代表最小宽度。   例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则   第9个字符以后的内容将被删除。   (2). 可以在“%“和字母之间加小写字母l, 表示输出的是长型数。   例如: %ld 表示输出long整数   %lf 表示输出double浮点数   (3). 可以控制输出左对齐或右对齐, 即在“%“和字母之间加入一个“-“ 号可   说明输出为左对齐, 否则为右对齐。   例如: %-7d 表示输出7位整数左对齐   %-10s 表示输出10个字符左对齐   2. 一些特殊规定字符\n 换行   \f 清屏并换页   \r 回车   \t Tab符   \xhh 表示一个ASCII码用16进表示,   其中hh是1到2个16进制数   由本节所学的printf()函数, 并结合上一节学习的数据类型, 编制下面的程   序, 以加深对Turbo C2.0数据类型的了解。

scanf和printf的区别及用法是什么

scanf与printf的区别及用法:

一、指代不同

1、printf:是格式化输出函数。

2、scanf:是C语言中的一个输入函数。

二、功能不同

1、printf:用于向标准输出设备按规定格式输出信息。

2、scanf:是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

三、特点不同

1、printf:的调用格式为:printf(“《格式化字符串>“, 《参量表>)。printf()是C语言标准库函数,在stdio.h中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

2、scanf:scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

printf的用法

charname,class;inttnumber,number;printf(“pleaseinputyourname:\n“);scanf(“%s“,name);printf(“pleaseinputyourclass:\n“);scanf(“%s“,class);printf(“howmanystudentsinyourclass?\n“);scanf(“%d“,&tnmber);number=(tnumber-1);printf(“欢迎%s,你的班级是%s,你有同学%d个“,name,class,tnumber);printf()可以有多个参数,但第一个参数必须为字符串,可以在第一个字符串中加入一些标识符标记要输出的其它参数的位置和类型。比如:《这里%d是标识整型变量的》printf(“theuseris%dyearsold.\n“,age);其中%d就标识了参数age要显示的位置和类型。printf(“userinfo:age:%d:weight%d;height%d.\n“,age,weight,height);这里后面的参数就有了顺序。用%o(是字母o不是零哈)来标识八进制数用%x和%x来标识十六进制数,x表示后面的十六进制中的x用小写,想法大写后面就是大写咯用%u来标识无符号整型变量用%ld来标识长整型值.用%f标识浮点数值.用%c来标识字符型数值,这里要举两个例子:printf(“theletteris%c\n“,’a’);printf(“theletterid%c\n“,65);上面两个例子都打印字母a。用指数格式显示浮点数:用%e或%e标识符.他们的区别也是大小写的问题如:1.2566e+01和1.2588e.用%s标识符显示一个字符串用%p标识符显示一个指针所指向向的内存地址。如果要在数值前面加上符号,可以在%后添加一个符号.如%+d。在%后加数字表示至少要显示的位数.如%3d,不够的用空格填充。如用前面的标识符来显示11则显示出来的效果是空格+11,当然前面填充的不一定就是空格。也可以用数字0来填充。%03d显示11的时候就是011了。用%#来要求显示前缀,比如说十六进制的0x。

printf怎么用

用 法:  int printf(const char *format,[argument]);  format 参数输出的格式,定义格式为:  %[flags][width][.perc] [F|N|h|l]type  规定数据输出方式,具体如下:  1.type 含义如下:  d 有符号10进制整数  i 有符号10进制整数  o 有符号8进制整数  u 无符号10进制整数  x 无符号的16进制数字,并以小写abcdef表示  X 无符号的16进制数字,并以大写ABCDEF表示  F/f 浮点数  E/e 用科学表示格式的浮点数  g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数  c 单个字符  s 字符串  % 显示百分号本身  p 显示一个指针,near指针表示为:XXXX  far 指针表示为:XXXX:YYYY  n 相连参量应是一个指针,其中存放已写字符的个数  2.flags 规定输出格式,取值和含义如下:  无 右对齐,左边填充0和空格  - 左对齐,右边填充空格  + 在数字前增加符号 + 或 -  一个空格 只对负数显示符号  # 当type=c,s,d,i,u时没有影响  type=o,x,X时,分别在数值前增加’0’,“0x“,“0X“  type=e,E,f时,总是使用小数点  type=g,G时,除了数值为0外总是显示小数点 3.width 用于控制显示数值的宽度,取值和含义如下n(n=1,2,3...) 宽度至少为n位,不够以空格填充  0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充 * 格  式列表中,下一个参数还是width 4.prec 用于控制小数点后面的位数,取值和含义如下:  无 按缺省精度显示  0 当type=d,i,o,u,x时,没有影响  type=e,E,f时,不显示小数点  n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数  type=其他,表示显示的最大宽度 .*  格式列表中,下一个参数还是width  5.F|N|h|l 表示指针是否是远指针或整数是否是长整数  F 远指针  n 近指针  h短整数或单精度浮点数  l 长整数或双精度浮点数  1.一般格式  printf(格式控制,输出表列)  例如:printf(“i=%d,ch=%c\n“,i,ch);  说明:  (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:  ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。  ②普通字符,即需要原样输出的字符。  (2)“输出表列”是需要输出的一些数据,可以是表达式  (3)printf函数的一般形式可以表示为  printf(参数1,参数2,……,参数n)  功能是将参数2~参数n按参数1给定的格式输出  2.格式字符(9种)  (1)d(或i)格式符。用来输出十进制整数,有以下几种用法:  ①%d,按整型数据的实际长度输出。  ②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。  ③%ld(%mld 也可),输出长整型数据。  例如:long a=123456;  printf(“%ld“,a);  (2)o格式符,以八进制数形式输出整数。格式:%o,%mo,%lo,%mlo都可。  (3)x(或X)格式符,以十六进制数形式输出整数。格式:%x,%mx,%lx,%mlx都可。  (4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出。格式:%u,%mu,%lu都可。  参见:li4-3.c/*无符号数据的输出*/  (5)c格式符,用来输出一个字符。格式:%c,%mc都可。  (6)s格式符,用来输出一个字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。  参见:li4-5.c /*字符串的输出*/  (7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。  注意:单精度实数的有效位数一般为7位,双精度为16位。  参见:li4-6.c/*输出单精度实数时的有效位数*/  li4-7.c/*输出双精度实数时的有效位数*/  li4-8.c/*输出实数时指定小数位数*/  (8)e(或E)格式符,以指数形式输出实数。格式:%e,%m.ne,%-m.ne都可。  (9)g(或G)格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种)。  3.说明  (1)除了X、E、G(用大写字母表示)外,其他格式字符必须用小写字母;  (2)“格式控制”字符串内可以包含转义字符;  (3)如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:  printf(“%f%%“,1.0/3);  (4)格式字符表参见下表  表4.1 printf格式字符  格式字符 说 明  d,i 以带符号的十进制形式输出整数(正数不输出符号)  o 以八进制无符号形式输出整数(不输出前导符0)  x,X 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出  u 以无符号十进制形式输出整数  c 以字符形式输出,只输出一个字符  s 输出字符串  f 以小数形式输出单、双精度数,隐含输出6位小数  e,E 以指数形式输出实数  g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0  表4.2 printf的附加格式说明字符  字符  说明  字母l  用于长整型整数,可加在格式符d、o、x、u前面  m(代表一个正整数)  数据最小宽度  n(代表一个正整数)  对实数,表示输出n位小数;对字符串,表示截取的字符个数  -  输出的数字或字符在域内向左靠程序例:  #include 《stdio.h》  int main()  {  printf(“Hello,world\n“);  while(1);  }  #include《stdio.h》  int main()  {  int i = 1, j =2;  printf(“%d %d\n“,i,j);  while(1);  }printf 命令  用途  写格式化输出。  语法  printf Format [ Argument ... ]  描述  printf 命令转换、格式化并写 Argument 参数到标准输出。Argument 参数是由 Format 参数控制格式化的。格式化输出行不能超出 LINE_MAX 字节长度。  下列环境变量影响 printf 命令的执行:  LANG 在 LC_ALL 和相应的环境变量(以 LC_ 开头)没有指定语言环境时,确定语言环境编目使用的语言环境。  LC_ALL 确定用于覆盖由 LANG 或其它任何 LC_ 环境变量设置的任何语言环境编目值的语言环境。  LC_CTYPE 确定把文本字节数据顺序解释为字符的语言环境;例如,单一字节对应多字节字符的参数。  LC_MESSAGES 确定写消息使用的语言。  LC_NUMERIC 确定数字格式编排的语言环境。此环境变量影响使用 e、E、f、g 和 G 转换字符编写的数字的格式。  Format 参数是包含三种对象类型的一个字符串:  * 无格式字符复制到输出流。  * 转换规范,每个规范导致在值参数列表中检索 0 个或更多个项。  * 以下转义序列。在复制到输出流时,这些序列导致它们的相关操作在有此功能的设备上显示:  \\ 反斜杠  \a 警告  \b 退格  \f 换页  \n 换行  \r 回车  \t 跳格  \v 垂直跳格  \ddd ddd 是 1、2 或 3 位八进制数字。这些转义序列作为由八进制数指定的具有数字值的字节显示。  Argument 参数是一个或多个字符串的列表,它在 Format 参数的控制下被写到标准输出。  Format 参数在必要的情况下会经常重新使用以满足 Argument 参数。将好像提供了空字符串 Argument 一样评估任何额外的 c 或者 s 转换规范;其它额外转换规范将好像提供了 0 Argument 一样评估。此处 Format 参数不包含转换规范仅出现 Argument 参数,结果是不确定的。  每个 Format 参数中的转换规范都具有如下顺序的语法:  1. % (百分号)。  2. 零或更多的选项,修改转换规范的含义。选项字符和它们的含义是:  - 转换结果在字段中左对齐。  + 符号转换结果常以符号(+ 或者 -)开始。  空格 如果符号转换的第一个字符不是符号,结果的前缀将是空格。如果空格和 + 选项字符都显示,则忽略空格选项字符。  # 此选项指定值转换到备用格式。对于 c、d、i, u 和 s 转换,选项没有作用。对于 o 转换,它增加精度来强制结果的第一数字是 a、0(零)。对于 x 和 X 转换,非零结果分别具有 0x 或 0X 前缀。对于 e、E、 f、g 和 G 转换,结果通常包含基数字符,即使基数字符后没有数字。对于 g 和 G 转换,结尾零不象通常一样除去。  0 对于 d、i、o、 u、x、e、 E、f、g 和 G 转换,前导零(跟在符号或底数的后面)用于填充字段宽度,将不用空格填充。如果显示 0(零)和 -(减号)选项,0(零)选项被忽略。对于 d、i、o、u、x 和 X 转换,如果指定精度,0(零)选项将被忽略。  注:  其它转换,没有定义其行为。  3. 可选的指定最小值字段宽度的十进制数字字符串。如果转换值字符少于字段宽度,该字段将从左到右按指定的字段宽度填充。如果指定了左边调整选项,字段将在右边填充。如果转换结果宽于字段宽度,将扩展该字段以包含转换后的结果。不会发生截断。然而,小的精度可能导致在右边发生截断。  4. 可选的精度。精度是一个 .(点)后跟十进制数字字符串。如果没有给出精度,按 0(零)对待。精度指定:  * d、o、i、 u、x 或 X 转换的最少数字显示位数。  * e 和 f 转换的基数字符后的最少数字显示位数。  * g 转换的最大有效数字位数。  * s 转换中字符串的最大打印字节数目。  5. 指示要应用的转换类型的一个字符,例如:  % 不进行转换。打印一个 %(百分号)。  d, i 接受整数值并将它转换为有符号的十进制符号表示法。精度指定显示的最小数字位数。如果值转换后可以用更少的位数来表示,将使用前导零扩展。缺省精度是 1。精度为零的零值转换的结果是空字符串。用零作为前导字符来指定字段宽度,导致用前导零填充字段宽度值。  o 接受整数值并将它转换为有符号的八进制符号表示法。精度指定显示的最小数字位数。如果值转换后可以用更少的位数来表示,将使用前导零扩展。缺省精度是 1。精度为零的零值转换的结果是空字符串。用零作为前导字符来指定字段宽度,导致用前导零填充字段宽度值。不用八进制值表示字段宽度。  u 接受整数值并将它转换为无符号的十进制符号表示法。精度指定显示的最小数字位数。如果值转换后可以用更少的位数来表示,将使用前导零扩展。缺省精度是 1。精度为零的零值转换的结果是空字符串。用零作为前导字符来指定字段宽度,导致用前导零填充字段宽度值。  x, X 接受整数值并将它转换为十六进制符号表示法。字母 abcdef 用于 x 转换,字母 ABCDEF 用于 X 转换。精度指定显示的最小数字位数。如果值转换后可以用更少的位数来表示,将使用前导零扩展。缺省精度是 1。精度为零的零值转换的结果是空字符串。用零作为前导字符来指定字段宽度,导致用前导零填充字段宽度值。  f 接受浮点或者双精度值并将它转换为十进制符号表示法,格式为 ddd.ddd。基数字符(在这里显示为十进制点)后的数字位数等于规定的精度。 LC_NUMERIC 语言环境编目确定在这个格式中使用的基数字符。如果不指定精度,则输出六个数字。如果精度是 0(零),将不显示基数字符。  e, E 接受浮点或者双精度值并将它转换为指数表示的形式 d.dde{+|-}dd。在基数字符前有一个数字(在这里显示为十进制点),基数字符后的数字位数等于规定的精度。 LC_NUMERIC 语言环境编目确定在这个格式中使用的基数字符。如果不指定精度,则输出六个数字。如果精度是 0(零),将不显示基数字符。E 转换字符在指数前生成带 E 而不是带 e 的数字。指数通常至少包含两个数字。然而,如果要打印的指数值大于两个数字,必要时需要打印附加指数数字。  g、G 接受浮点和双精度值并转换为 f 或 e 转换字符的样式(或在 G 转换的情况下是 E),用精度指定有效数字的个数。尾零将从结果中除去。基数字符只有在其后是数字时显示。使用的样式取决于转换的值。样式 g 仅在转换的指数结果小于 -4,或大于或等于精度时使用。  c 接受值将其作为字符串并打印字符串中的第一个字符。  s 接受值将其作为字符串并打印字符串中的字符直到字符串结束或者达到精度指示的字符个数。如果没有指定精度,打印全部字符直到出现第一个空字符。  b 接受值将其作为字符串,可能包含反斜杠转义序列。打印来自转换字符串的字节直到字符串结束或者达到精度规范指示的字节数。如果没有指定精度,打印全部字节直到出现第一个空字符。  支持下列反斜杠转义序列:  * 先前列出的反斜杠转义序列在 Format 参数描述下。这些转义序列将被转换到它们表示的单个字符。  * \c(反斜杠 c)序列,它不显示并使 printf 命令忽略 Format 参数中的字符串参数包含的剩余的所有字符串,所有剩余的字符串参数和所有附加字符。  退出状态  该命令返回以下出口值:  0 成功完成。  》0 发生错误。  示例  1. 输入下列命令:  printf (“%5d%4d\n“,1213,43);  产生下列输出:  _1213_ _43  三次使用 Format 参数打印所有给定字符串。0(零)由 printf 命令提供以满足最后的 %4d 转换规格。  2. 输入下列命令  printf (“%c %c\n“,78,79);  产生下列输出:  N_O  文件  /usr/bin/printf 包含 printf 命令。

字符

最新文章