C语言的程序设计-数据的输入和输出.ppt

上传人:小飞机 文档编号:6503954 上传时间:2023-11-07 格式:PPT 页数:35 大小:301.50KB
返回 下载 相关 举报
C语言的程序设计-数据的输入和输出.ppt_第1页
第1页 / 共35页
C语言的程序设计-数据的输入和输出.ppt_第2页
第2页 / 共35页
C语言的程序设计-数据的输入和输出.ppt_第3页
第3页 / 共35页
C语言的程序设计-数据的输入和输出.ppt_第4页
第4页 / 共35页
C语言的程序设计-数据的输入和输出.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言的程序设计-数据的输入和输出.ppt》由会员分享,可在线阅读,更多相关《C语言的程序设计-数据的输入和输出.ppt(35页珍藏版)》请在三一办公上搜索。

1、共 25 页 第 1 页,数据的输入和输出,C语言程序设计,第四章,共 25 页 第 2 页,本章要点,掌握C语言中输入输出数据的方法掌握各种格式的使用,共 25 页 第 3 页,数据输入输出的概念 输出:从计算机向显示器、打印机等外部设备输出数据。输入:从标准输入设备键盘、鼠标等向计算机输入数据。C语言不提供输入输出语句,输入输出操作是由C函数库中的函数实现。,两个基本的输出(输入)函数:即:格式输出(输入)函数 字符输出(输入)函数,共 25 页 第 4 页,4.1.1 格式输出函数,函数的基本功能 格式:printf(格式控制串,输出表列)功能:从标准输出设备上,按指定的格式输出对应 的

2、变量。,printf(.),4.1 数据输出,2.函数说明:(1)格式控制串由双引号括起来,由“%”和格式符以及普通字符(即需要原样输出的字符组成)。(2)输出表列是需要输出的一些数据,可以是常量、变量或表达式。(3)输出的参数必须与格式控制符中的格式说明在类型、个数和位置上一一对应。,共 25 页 第 5 页,例:#include main()int a=3,b=4;printf(“a=%d b=%d”,a,b);运行结果:a=3 b=4,格式说明(格式字符),普通字符,输出表列,共 25 页 第 6 页,3.格式说明符 一般格式:%-m.nl格式符,说明如下:-当数据的宽度小于显示宽度时,

3、数据左对齐,右方补空格.m 输出数据占m个字符位,不够右对齐,左边填空格。n 输出数据有n位小数m.n 输出数据占m列,n位小数对不同类型的数据使用不同的格式字符。有以下几种格式符:,共 25 页 第 7 页,d:以十进制带符号形式输出整型数o:以八进制无符号形式输出整型数x:以十六进制无符号形式输出整型u:以十进制无符号形式输出整型数f:以小数形式输出单、双精度实型数e:以指数形式输出单、双精度实型数c:以字符形式输出一个字符s:以字符形式输出一个字符串ld:以十进制带符号形式输出长整型数,基本格式控制符,共 25 页 第 8 页,(1)d格式符:输出十进制整数。%d 按整型数据的实际长度输

4、出。%md m为指定的输出字段的宽度.若数据的位数小于m,则左端补以空格;若大于m,则按实际位数输出。%ld 输出长整型数据.,例:int a=1234;printf(“%3d”,a);printf(“%5dn”,a);printf(“%-5d”,a);,1234 1234,1234,左对齐,右补空,共 25 页 第 9 页,以下程序运行后的输出结果是?main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%d,x,y,z);A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1,共 25 页 第 10 页,(2)o格式符 以八进制数形式输出整数。

5、将内存单元中的各位的值(0或1)按八进制形式输出,输出的数值不带符号,将符号也作为八进制数的一部分输出。例如,-1在内存单元中(以补码形式存放)如下:int a=-1;-1:printf(“%d,%o”,a,a);输出:,1 1 11 11 11 11 11 11 11,VC+下,-1,177777,(3)x格式符,以十六进制数形式输出整数。(4)u格式符,以十进制形式输出无符号型数据。例#include main()unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,

6、b,b,b);输出:a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,VC+下,共 25 页 第 12 页,(5)c 格式符 输出一个字符。整数的值在33126范围内,也可以用字符形式输出。在输出前,将该整数转换成相应的ASCII字符;字符数据也可以用整数形式输出。例#include main()char c=a;int i=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);输出:a,97 a,97,共 25 页 第 13 页,s格式符 输出一个字符串。说明:若不指定字符宽度和对齐方式,则输出全部字符串.例如:print

7、f(%s,CHINA);程序运行输出:CHINA 若指定宽度m,实际字符个数大于m,按实际宽度输出;如果实际字符个数小于m,字符右对齐,左边填空格。例如:printf(“s1=%s,s2=%3s,s3=%-5.2s,s4=%.3s,abcd,abcd,abcd,abcd);程序运行输出:s1=abcd,s2=abcd,s3=ab,s4=abc,共 25 页 第 14 页,(7)f格式符 以小数形式输出实数(包括单、双精度)。1)%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数(输出双精度数据,也是6位,但误差降低)。2)%m.nf,指定输出的数据共占m列,其中有n位小数

8、.若数据长度小于m,则左端补空格。例:float x=15.3,y=222.225111;printf(“%f,%6.2fn”,x,y);,共 25 页 第 15 页,(8)e格式 以指数形式输出实数。1)%e 不指定输出数据所占的宽度和数字部分小数位数,由系统自动指定给出6位小数,指数部分占5位,其中“e”占一位,指数符号占一位,指数占3位.数值按标准化指数形式输出(小数点前有1位非零数字)。例如:printf(“%e”,123.456);输出:1.234560e+002 e格式输出的实数共占13列宽度.,3位,6位,共 25 页 第 16 页,g格式符:根据数值的大小输出实数,自动选 f

9、格式或 e 格式(选择输出时占宽度较小的一种),且不输出无意义的零。例如:f=123.468;printf(“%f%e%g”,f,f,f);输出如下:123.468000 1.234680e+002 123.468,10列,13列,10列,共 25 页 第 17 页,几点说明:,1.格式控制串的控制符号与变量表要一一对应,即:类型相同,个数相等2.格式控制符号用小写字母3.格式控制符号之外的符号均照原样显示4.若需显示百分号,格式为:%5.如果实际数据所占字符位大于指定的域宽,按实际输出,共 25 页 第 18 页,例:分析程序的执行结果main()int a=16;char e=A;unsi

10、gned b;long c;float d;b=65535;c=123456;d=123.45;printf(”a=%d,%4d,%-6d,c=%ldn”,a,a,a,c);printf(”%o,%x,%un”,b,b,b);printf(”%f,%e,%13.3e,%gn”,d,d,d,d);printf(”%c,%s,%7.3sn”,e,”China”,”Beijing”);,这里7指输出宽度,3表示输出该字符串的前3个字符。,共 25 页 第 19 页,4.1.2 字符输出函数,格式:putchar(字符变量),功能:在标准输出设备上,输出指定的字符。,说明:,putchar,*一次调用

11、只能输出一个字符*加上分号成为字符输出语句*使用时在程序开头用编译预处理命令,#include”stdio.h”或:#include,头文件,请详见附录E,共 25 页 第 20 页,例:#include main()char a,b,c;a=B;b=O;c=Y;putchar(a);putchar(b);putchar(c);输出:BOY,共 25 页 第 21 页,#includemain()char c=a;putchar(c);,char c1,c2,c3;c1=a;c2=b;c3=c;putchar(c1);putchar(c2);putchar(c3);,abc,abc,?,put

12、char(n);,例,与putchar(97);putchar(98);putchar(99);等效与printf(“%c%c%c”,c1,c2,c3);等效,char c1,c2,c3;c1=a;c2=b;c3=c;putchar(c1);putchar(n);putchar(c2);putchar(n);putchar(c3);,共 25 页 第 22 页,4.2.1 格式输入函数,一般形式:scanf(格式控制字符串,地址表列)“格式控制字符串”的含义同printf函数,“地址表列”:要求是变量的地址,或字符串的首地址.例如:int a,b,c;scanf(“%d%d%d”,说明:*sc

13、anf 函数中的“格式控制”后面应当是变量地址而不是变量名。*输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab分隔。,4.2 数据的输入,共 25 页 第 23 页,*输入时可以指定域宽,不允许规定精度.,int a,b;scanf(“%3d%3d”,float x;scanf(“%8.2f”,*输入时,遇下列情况结束,*回车,空格*宽度结束*非法输入,输入123456系统自动将123赋给a,456赋给b,如:int k;scanf(“%3d”,输入:123456789k为:123,例:main()int a,b,c;scanf(%d%d%d,&a,&b,&c);p

14、rintf(%d,%d,%dn,a,b,c);以下三种数据输入方法都可以:121516 12 1516 12(按tab键)15 16,*格式控制字符串中若包含普通字符,则输入时必须照原样输入普通字符,否则将导致输入结束。如:int a,b,c;scanf(“%d,%d,%d”,输入:123abc789 输出:a=123,b=a,c=b,d=c,e=789,注意格式说明符以外的其他字符,*在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入.如,scanf(%c%c%c,输入:xyzx字符赋给a,空格字符赋给b,y字符赋给c,共 25 页 第 26 页,输入double型数据,必

15、须用格式说明符%lf或%le,输入long型数据,必须用%ld。标准C在scanf中不使用%u说明符,对unsigned型数据,以%d或%o、%x格式输入。%后的“*”为附加说明符,用来表示跳过它对应的数据。输入时格式控制符中不能加“n”。在scanf函数的格式控制字符串中尽量不要出现普通字符,尤其不能将输入提示放在其中。需要显示输入提示应该调用printf函数实现。,提示注意:,例:double a;int b;float c;scanf(%f,%2d,%*d,%5f,输入:5.3,12,456,1.23456回车,结果:a=0.000000 b=12 c=1.234000,原因是格式符用错

16、了.应该用lf或le格式,这里必须用%lf格式,这里可以用%f格式或%lf格式,共 25 页 第 28 页,#include main()int a;float b,c;scanf(“%2d%3f%4f”,输出?,a=12,b=345.000000,c=6789.000000,例:,共 25 页 第 29 页,4.2.2 getchar函数(字符输入函数)一般形式:getchar()-没有参数功能:从键盘输入一个字符。说明:1)只能输入一个字符 2)可以将获得的字符赋给int 型或char型的变量 例#include main()char c;c=getchar();putchar(c);运行

17、时键入字符a,必须要回车则输出为:a,注意:输入字符时不要带撇号,共 25 页 第 30 页,例:从键盘读入一个字符,将该字符及其它前、后字符输出到显示器。,#include stdio.h main()int c;c=getchar();putchar(c-1);putchar(c);putchar(c+1);,不要丢掉头文件,共 25 页 第 31 页,#include main()char a,b,c,d;scanf(“%c%c”,当执行程序时,按下列方式输入数据:1234,则输出结果是A)1234 B)12 C)12 D)12 3 34,练习:,程序举例,例:输入三角形的三边长,求三角

18、形面积.为简单起见,设输入的三边长a,b,c能构成三角形.#include math.h main()float a,b,c,s,area;scanf(%f,%f,%f,输入:3,4,6 输出如下:a=3.00,b=4.00,c=6.00,s=6.50area=5.33,注意:此例调用了函数库中的函数sqrt,必须在程序开头加上include命令,把头文件“math.h”包含到程序中。,共 25 页 第 33 页,本章学习要点,1.格式输入函数:scanf,格式输出函数:printf,常用格式:%d,%f,%s,%c,%o,%ld2.scanf 函数中的“格式控制”后面是变量地址,而不是变量名

19、.3.putchar函数(字符输出函数)4.getchar函数(字符输入函数),地址,精度,域宽,注意:,共 25 页 第 34 页,实验的准备及VC+6.0上机环境,1.计算机程序设计实验的准备(1)复习与本次实验相关的教学内容和主要知识点。(2)准备好编程题目程序流程图和全部源程序代码,并且先进行人工检查。(3)对程序中有疑问的地方做出标记,充分估计程序运行中可能出现的问题,以便在程序调试过程中给予关注。(4)准备好运行和调试程序所需的数据。,共 25 页 第 35 页,2.VC+6.0上机环境(1)每一个C程序必须包含在一个工程项目(Project)中。一个工程可以包含多个C程序,但只能有一个main函数。(2)可以在编辑窗口直接输入程序,也可以在工程项目中添加已经存在的C源程序。()提交作业:仅提交.程序即可。()建议工程保留在盘以外的磁盘中。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号