《《数据的输入输出》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《数据的输入输出》PPT课件.pptx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、3.4 3.4 数据的输入输出数据的输入输出数据的输入输出数据的输入输出3.4.1 输入输出举例输入输出举例3.4.2 有关数据输入输出的概念有关数据输入输出的概念3.4.3 用用printf函数输出数据函数输出数据3.4.4 用用scanf函数输入数据函数输入数据3.4.5 字符数据的输入输出字符数据的输入输出3.4.1 输入输出举例输入输出举例例例3.5 求求 方程的根。方程的根。a、b、c由键盘输入由键盘输入。设设 解题思路:解题思路:首先要知道求方程式的根的方法。如果 0,则一元二次方程有两个实根:若记若记开始开始输入输入a,b,cb2-4ac 0?p=-b/(2a);q=sqrt(b
2、2-4ac)/(2a);x1=p+q;x2=p-q;YN输输出出x1,x2结束结束#include#include int main()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;if(disc=0)p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(x1=%7.2fnx2=%7.2fn,x1,x2);return 0;/程序程序中中调用数学函数调用数学函数sqrt/输入输入a,b,c的值的值输入的是双输入的是双精度型实数精度型实数#inclu
3、de#include int main()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;if(disc=0)p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(x1=%7.2fnx2=%7.2fn,x1,x2);return 0;/程序程序中中调用数学函数调用数学函数sqrt/输入输入a,b,c的值的值要求输入要求输入3个实数个实数自动自动转成实数后赋给转成实数后赋给a,b,c#include#include int main()double a
4、,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;if(disc=0)p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(x1=%7.2fnx2=%7.2fn,x1,x2);return 0;/程序程序中中调用数学函数调用数学函数sqrt/输入输入a,b,c的值的值输出输出数据占数据占7列,其中小数占列,其中小数占2列列3.4.2 3.4.2 有关数据输入输出的概念有关数据输入输出的概念有关数据输入输出的概念有关数据输入输出的概念几乎每一个几乎每一个C程序都包含输入
5、输出程序都包含输入输出。(1)所谓输入输出是以计算机主机为主体而言的所谓输入输出是以计算机主机为主体而言的.从计算机向输出设备从计算机向输出设备(如显示器、打印机等如显示器、打印机等)输出数据称输出数据称为为输出输出。从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为机输入数据称为输入输入。3.4.2 有关数据输入输出的概念有关数据输入输出的概念(2)语言本身不提供输入输出语句语言本身不提供输入输出语句u输入和输出操作是由输入和输出操作是由C标准函数库中的函数来实现的标准函数库中的函数来实现的uprintf和和scanf不是语言的关键
6、字,而只是库函数的名字不是语言的关键字,而只是库函数的名字。uputchar、getchar、puts、gets(3)在使用在使用输入输出输入输出函数时,要在程序文件的开头用预编译指令函数时,要在程序文件的开头用预编译指令#include 或或#include 所包含的文件在存放所包含的文件在存放所包含的文件在存放所包含的文件在存放CCCC编译系统的子编译系统的子编译系统的子编译系统的子目录中。适用于使用系统库函数时。目录中。适用于使用系统库函数时。目录中。适用于使用系统库函数时。目录中。适用于使用系统库函数时。所包含的文件在存放源程序的当前目所包含的文件在存放源程序的当前目所包含的文件在存放
7、源程序的当前目所包含的文件在存放源程序的当前目录的子目录中。适用于使用用户自定录的子目录中。适用于使用用户自定录的子目录中。适用于使用用户自定录的子目录中。适用于使用用户自定义的头文件时。义的头文件时。义的头文件时。义的头文件时。3.4.3 3.4.3 用用用用printfprintf函数输出数据函数输出数据函数输出数据函数输出数据在在C程序中用来实现输出和输入的,主要是程序中用来实现输出和输入的,主要是printf函数和函数和scanf函数函数这两个函数是这两个函数是格式输入输出格式输入输出函数函数用这两个函数时,必须指定格式用这两个函数时,必须指定格式。3.4.3 用用printf函数输出
8、数据函数输出数据printf函数函数 作用作用:向终端输出:向终端输出若干个任意类型若干个任意类型的数据。的数据。格式格式:printf(格式控制,输出表列)(格式控制,输出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);格式声明格式声明格式控制格式控制由由双引号双引号括起来的一个字符串。括起来的一个字符串。格式声明:格式声明:由百分号由百分号“%”和和格式字符格式字符组组成,如成,如%d%d、%f%f等。等。(必须有)必须有)转义字符。转义字符。普通字符:照普通字符:照原样输出原样输出的字符。的字符。输出列表输出列表 输出数据列表,可以不完全输出所有数据。输出数据列表,可
9、以不完全输出所有数据。可以是可以是常量常量、变量变量或或表达式表达式3.4.3 用用printf函数输出数据函数输出数据printf函数用的输出格式函数用的输出格式%d(%d(或或%i):%i):以带符号的十进制形式输出整数以带符号的十进制形式输出整数%o:%o:以八进制无符号形式输出整数以八进制无符号形式输出整数%x(%x(或或%X):%X):以十六进制无符号形式输出整数以十六进制无符号形式输出整数%u:%u:以无符号十进制形式输出整数以无符号十进制形式输出整数%c:%c:以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符%s:%s:输出字符串输出字符串%f:%f:以小数形式输出单
10、,双精度数,隐含输出六位以小数形式输出单,双精度数,隐含输出六位 小数小数.%e(%e(或或%E):%E):以指数形式输出实数以指数形式输出实数.%g(%g(或或%G):%G):选用选用%f%f或或%e%e格式中输出宽度较短的一种格式,格式中输出宽度较短的一种格式,不输出无意义的不输出无意义的0 03.4.3 用用printf函数输出数据函数输出数据几种常用的格式修饰符:几种常用的格式修饰符:l(l(或或L)L)用于整型或用于整型或floatfloat型,可加在格式符型,可加在格式符d d,o o,x x,u u 前面。前面。例:例:%ld%ld、%Ld%Ld等等m(m(代表一代表一 数据最小
11、的宽度。若数据的位数小于等于数据最小的宽度。若数据的位数小于等于m m位,位,个正整数个正整数)按按m m位输出;若大于位输出;若大于m m为,则按实际位数输出。为,则按实际位数输出。n(n(代表一代表一 使用方式:使用方式:m.n m.n 例如:、例如:、个正整数个正整数)对实数,输出对实数,输出n n位小数;对字符串,截取位小数;对字符串,截取n n个字符。个字符。_ _(负号)(负号)输出数字或字符在域内向左靠齐。输出数字或字符在域内向左靠齐。例:例:printf(n格式:格式:%10.2fn);printf(%10.2fn,fi);printf(%10.2fn,fj);printf(%
12、10.2fn,fk);printf(n格式:格式:%-10.2fn);printf(%-10.2fn,fi);printf(%-10.2fn,fj);printf(%-10.2fn,fk);/*/*输出格式控制输出格式控制输出格式控制输出格式控制*/void printf_fmt()int i=5,j=-5,k=123456;float fi=3.3,fj=-3.3,fk=36.333333333;char c=A;printf(“n*输出格式控制输出格式控制 *n);printf(n格式:格式:%5dn);printf(%5dn,i);printf(%5dn,j);printf(%5dn,k
13、);printf(n格式:格式:%10fn);printf(%10fn,fi);printf(%10fn,fj);printf(%10fn,fk);3.4.3 3.4.3 用用用用printfprintf函数输出数据函数输出数据函数输出数据函数输出数据【注注】:“%f”ufloat型数据只能保证型数据只能保证6位有效数字位有效数字.udouble型数据能保证型数据能保证15位有效数字位有效数字.%euVC+给出小数位数为位给出小数位数为位、指数部分占指数部分占3列列。u小数点前必须有而且只有小数点前必须有而且只有1位非零数字位非零数字。printf(”%e”,123.456);输出:输出:1.
14、234560 e+002 计算机输出的数字计算机输出的数字计算机输出的数字计算机输出的数字不都不都不都不都是绝对精确有效的是绝对精确有效的是绝对精确有效的是绝对精确有效的。3.4.4 用用scanf函数输入数据函数输入数据 scanf scanf 函数函数函数函数 作用:作用:作用:作用:按格式控制符的要求将数据从终端传送到变量按格式控制符的要求将数据从终端传送到变量 地址所指定的内存空间。地址所指定的内存空间。格式:格式:格式:格式:scanf(格式控制,地址(格式控制,地址列表列表)格式控制:格式控制:与与printf函数中的格式声明相似函数中的格式声明相似以开始以开始,以一个格式字符结束
15、,中间可以插入附加的字符以一个格式字符结束,中间可以插入附加的字符地址列表:地址列表:可以是变量的地址,由地址符号可以是变量的地址,由地址符号“&”和变量名组成,如和变量名组成,如“&i”.也可是字符串的首地址。也可是字符串的首地址。3.4.4 3.4.4 用用用用scanfscanf函数输入数据函数输入数据函数输入数据函数输入数据使用使用scanf函数时应注意的问题函数时应注意的问题:scanf(”%f%f%f”,a,b,c);错错scanf(”%f%f%f”,&a,&b,&c);对对对于对于scanf(a=%f,b=%f,c=%f,&a,&b,&c);1 3 2 错错 a=1,b=3,c=
16、2 对对 a=1 b=3 c=2 错错一:地址符号一:地址符号二:输入格式二:输入格式3.4.4 3.4.4 用用用用scanfscanf函数输入数据函数输入数据函数输入数据函数输入数据使用使用scanf函数时应注意的问题函数时应注意的问题对于对于scanf(”%c%c%c”,&c1,&c2,&c3);abc 对对 a b c 错错对于对于scanf(”%d%c%f”,&a,&b,&c);若输入若输入#include stdio.hint main()int a;char b;float c;scanf(%d%c%f,&a,&b,&c);printf(%d%c%fn,a,b,c);return
17、 0;输入:输出:输入数值数据时,若遇到空格、回车、Tab键或非法字符(不属于数值字符),认为该数据输入结束。区分:整个输入结束使用回车。使用使用scanf函数输入字符函数输入字符【注意注意】:在用:在用%c格式输入字符时,空格字格式输入字符时,空格字符和符和“转义字符转义字符”中的字符都属于有效字符输中的字符都属于有效字符输入。入。使用使用scanf函数输入字符函数输入字符#include stdio.hint main()char a,b,c;printf(“分别输入字符变量分别输入字符变量a,b,c:);scanf(%c%c%c,&a,&b,&c);printf(na=%c b=%c c
18、=%cn,a,b,c);printf(“n再次输入字符变量再次输入字符变量a,b,c:);scanf(%c%c%c,&a,&b,&c);printf(na=%c b=%c c=%cn,a,b,c);return 0;a a的值是上一次输入的结束符:回车字符,的值是上一次输入的结束符:回车字符,c c的值是空的值是空格字符。格字符。/清除输入缓冲清除输入缓冲fflush(stdio);3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出1.putchar函数函数 作用:作用:输出输出一个字符一个字符。putchar函数的一般形式为函数的一般形式为:pu
19、tchar(c)/输出为字符输出为字符 参数参数c可以是:可以是:字符常量、整型常量、字符常量、整型常量、字符变量、整型变量。其值范围字符变量、整型变量。其值范围 为为0127。转义字符。转义字符。3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出例例3.8 先后输出先后输出BOY三个字符。三个字符。解题思路:解题思路:u定义定义3个字符变量,分别赋以初值个字符变量,分别赋以初值B、O、Yu用用putchar函数输出这函数输出这3个字符变量的值个字符变量的值 3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输
20、入输出#include int main()char a=B,b=O,c=Y;putchar(a);putchar(b);putchar(c);putchar(n);return 0;/向向显示器输出字符显示器输出字符B/向向显示器输出换行符显示器输出换行符3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出#include int main()char a=B,b=O,c=Y;putchar(a);putchar(b);putchar(c);putchar(n);return 0;改为改为int a=66,b=79,c=89;3.4.5 字符数据的
21、输入输出字符数据的输入输出输出转义字符输出转义字符putchar(101)(输出字符输出字符)putchar()(输出单撇号字符输出单撇号字符)注:在注:在C中中ddd表示表示1到到3位的位的8进制所代表的进制所代表的字符字符。3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出2.用用getchar函数输入函数输入一个字符一个字符 getchar函数的一般形式为函数的一般形式为:getchar()/无参数无参数【注注】:使用:使用getchar()输入字符时,输入字符时,空空格字符格字符和和转义字符转义字符有效。有效。3.4.5 3.4.5 字符数
22、据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出 例例3.9 从键盘输入从键盘输入BOY三个字符,然后三个字符,然后把它们输出到屏幕。把它们输出到屏幕。解题思路:解题思路:u用用3个个getchar函数先后从键盘向计算机函数先后从键盘向计算机输入输入BOY三个字符三个字符u用用putchar函数输出函数输出输入输入 BOY 输出:输出:3.4.5 字符数据的输入输出字符数据的输入输出#include int main()char a,b,c;a=getchar();b=getchar();c=getchar();printf(a=);putchar(a);printf(,b=
23、);putchar(b);printf(,c=);putchar(c);putchar(n);return 0;/输入输入一个字符,送给一个字符,送给变量变量a。因为因为回车回车回车回车属于有效字符属于有效字符属于有效字符属于有效字符,因此输出,因此输出的的y y属于第属于第3 3个字符,接着输入回车,个字符,接着输入回车,则输入结束。之后显示输出。则输入结束。之后显示输出。a=B,b=O,c=Y输入:x y输出:a=x,b=,c=y3.4.5 字符数据的输入输出字符数据的输入输出#include int main()char a,b,c;a=getchar();b=getchar();c=g
24、etchar();putchar(a);putchar(b);putchar(c);putchar(n);return 0;putchar(getchar();3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出#include int main()char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar(n);return 0;putchar(getchar();putchar(getchar();3.4.5 3.4.5 字符数据的
25、输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出#include int main()char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar(n);return 0;putchar(getchar();putchar(getchar();putchar(getchar();3.4.5 3.4.5 字符数据的输入输出字符数据的输入输出字符数据的输入输出字符数据的输入输出#include int main()char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar(n);return 0;putchar(getchar();putchar(getchar();putchar(getchar();结结结结 束束束束 语语语语学好计算机的唯一途径是学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成 32