谭浩强C程序设计(第三版)清华课件第4章_简单程序.pptVIP

  • 4
  • 0
  • 约8.74千字
  • 约 46页
  • 2020-03-10 发布于广东
  • 举报

谭浩强C程序设计(第三版)清华课件第4章_简单程序.ppt

4.5 格式输入与输出 例4.7输出双精度数时的有效位数。 #include stdio.h void main() {double x,y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f”,x+y); } 运行结果: 3333333333333.333010 4.5 格式输入与输出 例4.8 输出实数时指定小数位数。 #include stdio.h void main()   { float f=123.456; printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f); } 运行结果: 123.455994 123.455994 123.46 123.46 123.46 4.5 格式输入与输出 (8)e格式符,以指数形式输出实数。 可用以下形式: ① %e。不指定输出数据所占的宽度和数字部分的小数位数. 例: printf(″%e″,123.456); 输出: 1.234560 e+002 6列 5列 所输出的实数共占13列宽度。(注:不同系统的规定略有不同) 4.5 格式输入与输出 ② %m.ne和%-m.ne。 m、n和“-”字符的含义与前相同。 此处n指拟输出的数据的小数部分(又称尾数)的小数位数。 若f=123.456,则: printf(%e %10e %10.2e %.2e %-10.2e,f,f,f,f,f); 输出如下: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 1.23e+002 10列 说明: 未指定n,自动使n=6. 超过给定的10列,乃突破10列的限制,按实际长度输出。 第3个数据共占10列,小数部分占2列。 只指定n=2,未指定m,自动使m等于数据应占的长度。 第5个数据应占10列,数值只有9列,由于是“%-10.2e”, 数值向左靠,右补一个空格。 (注:有的C系统的输出格式与此略有不同) 4.5 格式输入与输出 (9)g格式符,用来输出实数. 它根据数值的大小,自动选f格式或e格式(选择输出时占宽度 较小的一种),且不输出无意义的零。 例:若f=123.468,则 printf(″%f %e %g″,f,f,f); 输出如下: 123.468000 1.234680e+002 123.468 10列 13列 10列 说明: 用%f格式输出占10列,用%e格式输出占13列,用%g 格式时,自动从上面两种格式中选择短者(今以%f格式为短) 故占10列,并按%f格式用小数形式输出,最后3个小数位为 无意义的0,不输出,因此输出123.468,然后右补3个空格。 %g格式用得较少。 4.5 格式输入与输出 说明: 除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示 4.5 格式输入与输出 (一).格式输入函数 函数作用:按照变量在内存的地址将变量值存 进去。 一般格式:scanf(格式控制,地址表列) 同printf函数 是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址 4.5 格式输入与输出 例4.9 用scanf函数输入数据。 #includestdio.h void main() { int a,b,c; scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%d\n”,a,b,c); } 运行情况: 3 4 5 (输入a,b,c的值) 3,4,5 (输出a,b,c的值) a在内存中的地址 是地址运算符 4.5 格式输入与输出 说明: 对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取所需数据。 如果在%后有一个“*”附加说明符,表示跳过它指定的列数。 输入数据时不能规定精度。 4.5 格式输入与输出 使用scanf函数时应注意的问题 :

文档评论(0)

1亿VIP精品文档

相关文档