- /* 数据的输入输出 */
- // 输入输出举例
- // C.cpp : 定义控制台应用程序的入口点。
- //
- #include "stdafx.h"
- #include "math.h" //程序中要调用求平方根函数sqrt
- int _tmain(int argc, _TCHAR* argv[])
- {
- double a,b,c,disc,x1,x2,p,q; //disc用来存放判别式(b*b-4ac)的值
- scanf_s("%lf%lf%lf",&a,&b,&c); //输入双精度型变量的值要用格式声明"%lf"
- disc=b*b-4*a*c;
- p=-b/(2.0*a);
- q=sqrt(disc)/(2.0*a);
- x1=p+q;x2=p-q; //求出方程的两个根
- printf("x1=%7.2f\nx2=%7.2f\n",x1,x2); //输出方程的两个根
- return 0;
- }
- //在printf函数中,格式符f的前面加了“7.2”,表示在输出x1和x2时,
- //指定数据占7列,其中小数占2列
- // 有关数据输入输出的概念
- 1.所谓输入输出是以计算机主机为主体而言。
- 2.C 语言本身不提供输入输出语句。
- C 语言函数库中有一批"标准输入输出函数", 其中有:
- putchar(输出字符)、getchar(输入字符)、(printf)格式输出、
- (scanf)格式输入、(puts)输出字符串、(gets)输入字符串
- 3.在使用系统库函数时,要在程序文件的开头用预处理指令#include
- 把有关头文件放在本程序中
- 4.用printf函数输出数据
- // printf函数的一般格式
- printf(格式控制,输出表列)
- 例如:
- printf("%d,%c\n",i,c)
- 括号内包括两部分:
- "格式控制"是用引号括起来的一个字符串,称"转换控制字符串",简称"格式字符串"
- 它包括两个信息:
- 格式声明:由"%"和 格式字符 组成,如%d、%f等。
- 它的作用是将输出的数据转换为制定的格式然后输出。格式声明总是由"%"字符开始的
- 普通字符:
- "输出表列"是程序需要输出的一些数据,可以是常量、变量或表达式。
- printf(参数1,参数2,参数3,...,参数n)
- 参数1是格式控制字符串,参数2~参数n是需要输出的数据。
- 执行printf函数时,将参数2~参数n按参数1所制定的格式进行输出。
- // 格式字符
- 1.d格式符,用来输出一个有符号的十进制证书。
- 可以在格式声明中指定输出数据的域宽(所占的列数)
- 若输出 long(长整型)数据,在格式符 d 前加字母l(代表 long)。即"%ld"
- 若输出 long long(双长整型)数据,在格式符 d前加两个字母ll(代表 long long)。即"%lld"
- 2.c格式符,用来输出一个字符。
- 3.s格式符,用来输出一个字符串
- 4.f格式符,用来输出实数(包括单、双精度、长双精度),以小数形式输出,
- 用法:
- a.基本型,用"%f"
- 不制定输出数据的长度,由系统根据数据的实际情况决定数据所占的列数。
- 系统处理的方法一般是:实数中的整数部分全部输出,小数部分输出6位。
- {
- double a=1.0;
- printf("%f\n",a/3);
- return 0;
- }
- b.指定数据宽度和小数位数,用%m.nf
- c.输出的数据向左对齐,用%-m.nf
- 5.e格式符,用格式声明%e指定以指数形式输出实数。
- printf("%e",123.456);
- printf("%13.2e",123.456);
- 其他输出格式符
- 1.i格式符
- 2.o格式符:以八进制整数形式输出
- 3.x格式符:以十六进制整数形式输出
- 4.u格式符:用来输出无符号(unsigned)型数据,以十进制整数形式输出。
- 5.g格式符:用来输出浮点数
- 格式声明的一般表现形式为:
- % 附加字符 格式字符