1. /*  数据的输入输出 */   
  2.    
  3. //  输入输出举例    
  4.    
  5. // C.cpp : 定义控制台应用程序的入口点。    
  6. //    
  7.    
  8. #include "stdafx.h"    
  9. #include "math.h"                           //程序中要调用求平方根函数sqrt    
  10.    
  11.    
  12. int _tmain(int argc, _TCHAR* argv[])    
  13. {    
  14.     double a,b,c,disc,x1,x2,p,q;            //disc用来存放判别式(b*b-4ac)的值    
  15.     scanf_s("%lf%lf%lf",&a,&b,&c);          //输入双精度型变量的值要用格式声明"%lf"    
  16.     disc=b*b-4*a*c;    
  17.     p=-b/(2.0*a);    
  18.     q=sqrt(disc)/(2.0*a);    
  19.     x1=p+q;x2=p-q;                          //求出方程的两个根    
  20.     printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);   //输出方程的两个根    
  21.     return 0;    
  22. }    
  23.    
  24. //在printf函数中,格式符f的前面加了“7.2”,表示在输出x1和x2时,    
  25. //指定数据占7列,其中小数占2列    
  26.    
  27. //  有关数据输入输出的概念    
  28. 1.所谓输入输出是以计算机主机为主体而言。    
  29.    
  30. 2.C 语言本身不提供输入输出语句。    
  31. C 语言函数库中有一批"标准输入输出函数", 其中有:    
  32. putchar(输出字符)、getchar(输入字符)、(printf)格式输出、    
  33. (scanf)格式输入、(puts)输出字符串、(gets)输入字符串    
  34.    
  35. 3.在使用系统库函数时,要在程序文件的开头用预处理指令#include     
  36. 把有关头文件放在本程序中    
  37.    
  38. 4.用printf函数输出数据    
  39.    
  40. //  printf函数的一般格式    
  41. printf(格式控制,输出表列)    
  42. 例如:    
  43. printf("%d,%c\n",i,c)    
  44. 括号内包括两部分:    
  45. "格式控制"是用引号括起来的一个字符串,称"转换控制字符串",简称"格式字符串"   
  46.    
  47. 它包括两个信息:    
  48. 格式声明:由"%"和 格式字符 组成,如%d、%f等。    
  49. 它的作用是将输出的数据转换为制定的格式然后输出。格式声明总是由"%"字符开始的    
  50. 普通字符:    
  51.    
  52. "输出表列"是程序需要输出的一些数据,可以是常量、变量或表达式。    
  53. printf(参数1,参数2,参数3,...,参数n)    
  54. 参数1是格式控制字符串,参数2~参数n是需要输出的数据。    
  55. 执行printf函数时,将参数2~参数n按参数1所制定的格式进行输出。    
  56.    
  57. //  格式字符    
  58. 1.d格式符,用来输出一个有符号的十进制证书。    
  59. 可以在格式声明中指定输出数据的域宽(所占的列数)    
  60. 若输出 long(长整型)数据,在格式符 d 前加字母l(代表 long)。即"%ld"   
  61. 若输出 long long(双长整型)数据,在格式符 d前加两个字母ll(代表 long long)。即"%lld"   
  62.    
  63. 2.c格式符,用来输出一个字符。    
  64.    
  65. 3.s格式符,用来输出一个字符串    
  66.    
  67. 4.f格式符,用来输出实数(包括单、双精度、长双精度),以小数形式输出,    
  68. 用法:    
  69. a.基本型,用"%f"   
  70. 不制定输出数据的长度,由系统根据数据的实际情况决定数据所占的列数。    
  71. 系统处理的方法一般是:实数中的整数部分全部输出,小数部分输出6位。    
  72. {    
  73.     double a=1.0;    
  74.     printf("%f\n",a/3);    
  75.     return 0;    
  76. }    
  77.    
  78. b.指定数据宽度和小数位数,用%m.nf    
  79.    
  80. c.输出的数据向左对齐,用%-m.nf    
  81.    
  82. 5.e格式符,用格式声明%e指定以指数形式输出实数。    
  83. printf("%e",123.456);    
  84. printf("%13.2e",123.456);    
  85.    
  86. 其他输出格式符    
  87. 1.i格式符    
  88.    
  89. 2.o格式符:以八进制整数形式输出    
  90.    
  91. 3.x格式符:以十六进制整数形式输出    
  92.    
  93. 4.u格式符:用来输出无符号(unsigned)型数据,以十进制整数形式输出。    
  94.    
  95. 5.g格式符:用来输出浮点数    
  96.    
  97. 格式声明的一般表现形式为:    
  98. %  附加字符  格式字符