一、数据的输入输出
举例1:
求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac>0。
解题思路: 首先要知道求方程式的根的方法。由数学知识已知: 如果b2-4ac≥0,则一元二次方程有两个实根:x1=−b+√b2−4ac/2a,x2=−b−√b2−4ac/2a,将分式分为两项:p=−b/2a,q=√b^2−4ac/2a,则x1=p+q,x2=p-q,有了这些式子,只要知道a,b,c的值,就能顺利地求出方程的两个根。
#include <stdio.h>
#include<math.h> //程序中要调用求平方根函数sqrt
int main()
{ double a,b,c,disc,x1,x2,p,q; //disc用来存放判别式(bb-4ac)的值
scanf("%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;
}
scanf函数用于输入a,b,c的值。
函数中括号内变量a,b,c的前面,要用地址符&。&a表示变量a在内存中的地址。
双引号内用%lf格式声明,表示输入的是双精度型实数。
格式声明为“%lf%lf%lf”,要求输入3个双精度实数。程序运行时,输入“1 3 2”,两个数之间用空格分开。输入的虽是整数,但由于指定用%lf格式输入,因此系统会先把这3个整数转换成实数1.0,3.0,2.0,然后赋给变量a,b,c。
在printf函数中,在格式符f的前面加了“7.2”,表示在输出x1和x2时,指定数据占7列,其中小数占2列。优点:
①可以根据实际需要来输出小数的位数;
②如果输出多个数据,可使输出数据整齐美观。
要在程序文件的开头用预处理指令#include把有关头文件放在本程序中
#include指令说明
三种形式:
#include “c:\cpp\include\myfile.h”
#include "myfile.h“
#include <myfile.h>
按指定路径查找文件
源程序文件所在目录
C编译系统指定的include目录
二、输出函数
printf函数
用来向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。
printf(格式控制,输出表列)
(1) “格式控制”是用双引号括起来的一个字符串,称为格式控制字符串,简称格式字符串。包括:
① 格式声明。格式声明由“%”和格式字符组成。作用是将输出的数据转换为指定的格式后输出。
② 普通字符。普通字符即需要在输出时原样输出的字符。
(2) 输出表列是程序需要输出的一些数据,可以是常量、变量或表达式。
三、printf函数举例
用%f输出实数,只能得到6位小数。
#include <stdio.h>
int main()
{ double a=1.0;
printf("%f\n",a/3);
return 0;
}
虽然a是双精度型,a/3的结果也是双精度型,但是用%f格式声明只能输出6位小数。
#include <stdio.h>
int main()
{ double a=1.0;
printf("%20.15f\n",a/3);
return 0;
}
一个双精度数只能保证15位有效数字的精确度,即使指定小数位数为50(如用%55.50f),也不能保证输出的50位都是有效的数字。
四、输入函数
scanf函数
用来输入数据。
scanf(格式控制,地址表列)
(1) “格式控制”是用双引号括起来的一个字符串,含义同printf函数。包括:
① 格式声明。以%开始,以一个格式字符结束,中间可以插入附加的字符。
② 普通字符。
(2) 地址表列是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。
% 附加字符 格式字符
(1) scanf函数中的格式控制后面应当是变量地址,而不是变量名。
应与上述格式说明匹配,否则将会出现错误。
(2)如果在格式控制字符串中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符。
(3)在用“%c”格式声明输入字符时,空格字符和“转义字符”中的字符都作为有效字符输入。
(4) 在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。
四、字符函数
1.输入:getchar
getchar函数
向计算机输入一个字符。
getchar()
函数没有参数。
函数的值就是从输入设备得到的字符。
只能接收一个字符。
如果想输入多个字符就要用多个函数。
不仅可以从输入设备获得一个可显示的字符,而且可以获得控制字符。
用getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以作为表达式的一部分。如,putchar(getchar());将接收到的字符输出。
2.输出:putchar
putchar函数
从计算机向显示器输出一个字符。
putchar (c)
用putchar函数既可以输出可显示字符,也可以输出控制字符和转义字符。
putchar©中的c可以是字符常量、整型常量、字符变量或整型变量(其值在字符的ASCII代码范围内)。