• 06-C语言的格式化输出和输入


    printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。 printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);
    其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。
    参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。
    printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明:
    ①%:表示格式说明的起始符号,不可缺少。
    ②-:有-表示左对齐输出,如省略表示右对齐输出。
    ③0:有0表示指定空位填0,如省略表示指定空位不填。
    ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
    ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
    格式小结:
    (1)最常用的格式是%d,含义是以10进制形式打印一个整数。 如果输出的整数是负数,则输出的第一个字符就是-号。
    (2)%u格式与%d格式类似,只不过要求打印无符号10进制整数。 以无符号十进制形式输出整数。 对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
    (3)%o格式请求输出8进制整数,以无符号八进制形式输出整数。
    (4)%x和%X格式请求输出16进制整数。 %x格式中用小写字母a,b,c,d,e,f来表示10到15之间的数,以无符号十六进制形式输出整数。 %X格式中用大写字母A,B,C,D,E,F来表示10到15之间的数        注意:8进制和16进制整数总是作为无符号数处理的。
    (5)%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个字符正常输出。
    (6)%c格式用于打印单个字符:
    (7)%g,%f和%e这三个格式用于打印浮点值。 %g格式用于打印那些不需要按列对齐的浮点数特别有用。其作用有二: 一,去掉该数尾多余的零(没有达到六位的数) 二,保留六位有效数字(多余六位的) %e格式用于打印浮点数时,一律显示地使用指数形式:例如:输出圆周率时是:3.141593e+00 两者的区别: %g格式打印出的数是总共6位有效数字 %e格式打印出小数点后的6位有效数字 %f禁止使用指数形式来表示浮点数。因此圆周率输出为:3.141593 (但注意它的精度要求:也是小数点后6位有效数字)
    (8)%%格式用于打印一个%字符。
    (9)%E和%G只是在输出时用大写字母(E)代替了小写字母(e) ⑦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格式中较短的一种输出,且不输出无意义的零。
    (1). 可以在"%"和字母之间插进数字表示最大场宽。 例如: %2d 表示输出3位整型数, 不够2位右对齐。 例如: %5d 表示输出3位整型数, 不够5位右对齐。 例如: %10d 表示输出3位整型数, 不够10位右对齐。 unsigned int i=295; printf("%2d ",i); printf("%5d ",i); printf("%10d ",i); 295 295 295 Press any key to continue (2).补0或者其它 例如: %02d 表示输出3位整型数, 不够2位右对齐,补0。 例如: %05d 表示输出3位整型数, 不够5位右对齐,补0。 例如: %010d 表示输出3位整型数, 不够10位右对齐,补0。 unsigned int i=295; printf("%02d ",i); printf("%05d ",i); printf("%010d ",i); 295 00295 0000000295 Press any key to continue (3).负数 int i=-295; printf("%02d ",i); printf("%05d ",i); printf("%010d ",i); -295 -0295 -000000295 Press any key to continue
    (4). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可 说明输出为左对齐, 否则为右对齐。 unsigned int i=295; printf("%-02d ",i); printf("%-05d ",i); printf("%-010d ",i); 295 295 295 Press any key to continue
    (5). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。 例如: %ld 表示输出long整数 %lf 表示输出double浮点数
    (6). %9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。 例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则 第9个字符以后的内容将被删除.

    态度成就高度,技术实现梦想
  • 相关阅读:
    Atitit.ati orm的设计and架构总结 适用于java c# php版
    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本
    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本
    Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
    Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
    Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结
    Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结
    atitit.基于  Commons CLI 的命令行原理与 开发
    atitit.基于  Commons CLI 的命令行原理与 开发
    atitit.js 与c# java交互html5化的原理与总结.doc
  • 原文地址:https://www.cnblogs.com/YY-Xcode/p/4770257.html
Copyright © 2020-2023  润新知