不同类型数据输入输出.docVIP

  • 11
  • 0
  • 约9.07千字
  • 约 14页
  • 2017-08-23 发布于河南
  • 举报
不同类型数据输入输出

不同类型数据的输入输出 老师:teacher????来源:C????点击:427 2.5 不同类型数据的输入输出 2.5.1 printf() 函数 格式输出函数printf()在第一章已简要介绍过,本节对它进行综合性介绍。 printf()函数可以用于所有类型数据的输出,采用不同的格式转换说明符将不同类型的数据 输出到标准输出设备上。可以使用的格式转换说明符示于表2.4。 表2.4 printf()格式转换说明符 ?格式转换说明符 ????????????????? 功??????????????? 能 ?????? %c ???? %d或%i ?????? %f ???? %e或%E ?????? %g ?????? %s ?????? %u ?????? %o ?????? %x ?????? %% ?????? %p ?????? %n ?输出一个字符 ?按实际位数输出十进制整数 ?按定点格式输出浮点数,整数部分取实际位数,小数部分保留6位 ?按指数格式[-]m.ddddddE±nn输出浮点数(规格化表示) ?根据实际数值大小,按输出宽度较小的原则,自动选择%f或%e格式输出浮点数 ?按实际位数输出字符串 ?按实际位数输出无符号十进制整数 ?按实际位数输出八进制整数 ?按实际位数输出十六进制整数 ?输出一个% ?输出指针值 ?将%n之前所输出的字符个数存入指定的整型变量所在的地址中 格式转换说明符可以加下列修饰符: 1. 指定字段宽度 在百分号和格式字母之间加一个整数可以规定输出的最小字段宽度。 (1)%m.nd m规定输出的字段总宽度,n规定输出的最小有效位数。如果被输出量的实际位数小于m,则左端补空格; 如果被输出量的实际位数大于m,则按实际位数输出。如果被输出量的实际有效位数大于n,则n不起作用; 如果实际有效位数小于n,则左边补0直至n位。例如 printf(%3d,%6d,%6.5d\n”,1250,1250,1250); 输出结果为 1250, 1250, 01250 (2)%m.nf m规定输出的字段总宽度,n规定输出的小数位数。如果实际数据的整数位数小于m-n-1,则左端填充空格。 如果实际数据的整数位数大于m-n-1,则m不起控制作用,按实际数据应有的位数输出。例如 printf(%10f,%10.2f,%.2f\n,123.456,123.456,123.456); 输出为 123.456000, 123.456,123.456 如果不规定m和n,则m取被输出量的实际位数,n取6。 (3)%m.ne m规定输出的字段总宽度,n-1规定尾数部分的小数位数。例如 printf(%10e,%10.4e,%.3e\n,123.456,123.456,123.456); 输出为 1.23456e+02, 1.235e-02,1.23e+02 其中,“%10e未指定n,系统自动按n=5处理,即5位小数;因为输出的实际位数已超过10列,故输出11列; “%10.4e指定m=10、n=4,即输出总宽度为10,小数3位,实际总位数为9位,所以左边留有一个空格; “%.3e未指定m,则系统自动取m等于实际数据应占的长度,本例中为8位。 在上述3种情况下,如果在百分号与m.n之间加一个0,则左边多余的空位用0而不是用空格填充。 例如 printf(%04d,%06d,%03d\n”,1250,1250,1250); 输出结果为 1250,001250,1250 (4)%m.ns m规定输出的字段总宽度,n规定只输出字符串中n个字符。若字符串长度小于m,则左边补充空格; 若字符串长度大于m,则m不起作用;若字符串长度小于n,则n不起作用;若字符串长度大于n, 则只输出左边n个字符,多余的字符被截断。例如 printf(%3s,%15s,%10.5s,%.8s\n,abc,defghij,klmnopqrst,uvwxyz); 输出结果为 abc, defjhij, klmno,uvwxyz 2. 左对齐 在缺省情况下,所有的输出右对齐,如果指定的字段宽度大于实际位数,左边填充空格或零。 在百分号后边加一个减号,如%-m.nd、%-m.nf、%-m.ns等,可使输出左对齐,右边填充空格。 例如 printf(%-10.2f,%-5.2f\n,123.456,1.23456e2); 输出为 123.46 ,123.46 printf(%-10s,%-5s,%-10.5s,%-.8s\n,abc,defghij,klmnopqrst,uvwxyz); 输出结果为 abc ,defghij,klmno ,uvwxyz 3. 类型修饰 (1) 在类型说明符d、i、o、u、x前面可以加字母l或h,分别表示long或shor

文档评论(0)

1亿VIP精品文档

相关文档