第03章 标准设备的输入/输出

上传人:痛*** 文档编号:244593331 上传时间:2024-10-05 格式:PPT 页数:34 大小:326.50KB
返回 下载 相关 举报
第03章 标准设备的输入/输出_第1页
第1页 / 共34页
第03章 标准设备的输入/输出_第2页
第2页 / 共34页
第03章 标准设备的输入/输出_第3页
第3页 / 共34页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,第,3,章 标准设备的输入输出,李俊,计算机基础教学部,南京航空航天大学信息科学与技术学院,2007.8.,本章内容,3.1,输入输出的基本概念,3.2,格式化输入输出函数的使用,3.3,常用的字符输入输出函数,3.4,顺序结构程序设计举例,3.1,输入输出的基本概念,输入输出是对计算机而言的。,本章给出标准输入输出设备(键盘和显示器)输入输出操作的实现。,C,语言自身没有提供输入输出语句,输入输出是通过函数实现的。,计,算,机,输入设备:,键盘,(,标准输入设备,),磁盘文件,光盘,扫描仪,输出设备:,显示器,(,标准输出设备,),磁盘文件,打印机,绘图仪,数据,输入,数据,输出,3.2,格式化输入输出函数的使用,3.2.1,格式化输出函数,printf,(),一般格式:,int,printf,(,输出量,1,输出量,2 ),功能:按照格式控制字符串规定的要求将后面的输出量的内容输出到标准输出设备上。,用于输出各种类型的数据。,在输出时,不同的数据类型,对应的输出格式字符不同,在表,3-1,中给出了,C,语言中用于输出的格式字符。,例,:,int,i=3,j=4;,printf(,i,=,%d,j=,%,d,n,i,j);,格式控制字符串,格式说明,在格式控制,字符串中,格式说明,:,用“,%”,和,格式字符,组成。,其他字符,:,原样输出。,如上例输出:,i=3,j=4,3.2.1,格式化输出函数,printf,(),例,3.1,输出格式字符的常规使用,#include ,main(),int,i=3,j=6;,float x=4.5;,double y=4.9;,char c1=A,c2=*;,printf(“%d,%,dn,”,i,j);,/*,输出整型量*,/,printf(“%f,%f,n”,x,y,);,/*,输出实型量*,/,printf(“%c,%,cn,”,c1,c2);,/*,输出字符型量*,/,3.2.1,格式化输出函数,printf,(),用,f,和,lf,格式都可输出,double,型量。,但经常用,lf,格式输出,double,型量。,输出结果如下:,3,6,4.500000,4.900000,A,*,默认小数点后输出,6,位数,例,3.2,整型量的输出(,d,、,i,、,u,、,o,、,x,、,X,格式的使用),#include ,main(),char c=-2;,int,i=-5;,long y=65536;,printf(c,=%d,i=%d,y=%,dn,c,i,y);/*A*/,printf(c,=%u,i=%u,y=%,un,c,i,y);/*B*/,printf(c,=%x,i=%x,y=%,xn,c,i,y);/*C*/,A,行,将变量,c,、,i,、,y,的值转换成,int,型数据,再按,d,格式输出。,输出结果如下:,c=-2,i=-5,y=0,c=65534,i=65531,y=0,c=,fffe,i=,fffb,y=0,解释,A,3.2.1,格式化输出函数,printf,(),例,3.2,整型量的输出(,d,、,i,、,u,、,o,、,x,、,X,格式的使用),#include ,main(),char c=-2;,int,i=-5;,long y=65536;,printf(c,=%d,i=%d,y=%,dn,c,i,y);/*A*/,printf(c,=%u,i=%u,y=%,un,c,i,y);/*B*/,printf(c,=%x,i=%x,y=%,xn,c,i,y);/*C*/,B,行,将变量,c,、,i,、,y,的值转换成,unsigned,int,型数据后,再按照,u,格式输出。,输出结果如下:,c=-2,i=-5,y=0,c=65534,i=65531,y=0,c=,fffe,i=,fffb,y=0,解释,B,3.2.1,格式化输出函数,printf,(),例,3.2,整型量的输出(,d,、,i,、,u,、,o,、,x,、,X,格式的使用),#include ,main(),char c=-2;,int,i=-5;,long y=65536;,printf(c,=%d,i=%d,y=%,dn,c,i,y);/*A*/,printf(c,=%u,i=%u,y=%,un,c,i,y);/*B*/,printf(c,=%x,i=%x,y=%,xn,c,i,y);/*C*/,C,行,将变量,c,、,i,、,y,的值转换成,unsigned,int,型数据后,再按照,x,格式输出(输出内存内容)。,输出结果如下:,c=-2,i=-5,y=0,c=65534,i=65531,y=0,c=,fffe,i=,fffb,y=0,解释,C,3.2.1,格式化输出函数,printf,(),-2,的补码,:,1111,1111,1111,1110,c,的值,:,1111 1110,-5,的补码,:,1111,1111,1111,1100,i,的值,:,1111,1111,1111,1100,65536,的补码(即,y,的值),:,0000,0000,0000,000,1,0000,0000,0000,0000,将,y,的值转换成整型量后,保留低,16,位,输出,0,。,返回,A,返回,B,返回,C,3.2.1,格式化输出函数,printf,(),例,3.3,整型量的输出(,c,格式的使用),#include ,main(),char c1=65,c2=B;,int,m=35,n=$;,printf(“%c%c%c%cn,”,c1,c2,m,n);,/*,转换成,char,型量输出*,/,printf(%d,%d,%d,%,dn,c1,c2,m,n);,/*,转换成,int,型量*,/,若以,c,格式输出,,就是将输出量的值看成,ASCII,码值,输出对应的字符。,若以,d,格式输出,,并且输出量是,char,型量,则输出该字符的,ASCII,码值。,输出结果如下:,AB#$,65,66,35,36,3.2.1,格式化输出函数,printf,(),输出格式说明的完整描述为:,参见表,3-2,,解释!,3.2.1,格式化输出函数,printf,(),例,3.4,附加格式字符的使用,#include ,main(),int,i=152;,long j=135790;,printf(%2d,%6d,%-6d,i,i,i);,printf(%ldn,j);,/*%,和,d,之间是附加格式小写字母,l*/,输出结果如下:,152,152,152,135790,解释,3.2.1,格式化输出函数,printf,(),例,3.5,附加格式字符的使用(,e,、,f,格式的使用),#include ,main(),float x=1234567.1234;,double y=1234567.1234;,printf(%f,%,e,n,x,x);,printf(%12.2f,%.3fn,y,y);,输出结果如下:,1234567.125000,1.23457e+06,1234567.12,1234567.123,解释,3.2.1,格式化输出函数,printf,(),例,3.8,转义字符在输出格式中的应用,#include ,main(),double m1=100,rate1=0.25,m2=200,rate2=0.18;,printf(%.2f,t,%.0f,%,t%f,n,m1,rate1*100,m1*rate1,);,/*,输出量可以是表达式*,/,printf(%.2f,t,%.0f,%,t%f,n,m2,rate2*100,m2*rate2,);,输出结果如下:,100.00,25%,25.000000,200.00,18%,36.000000,解释,t,和,%,等,3.2.1,格式化输出函数,printf,(),3.2.2,格式化输入函数,scanf,(),3.2.2,格式化输入函数,scanf,(),一般格式:,int,scanf,(,格式控制字符串,地址,1,地址,2);,功能:从标准输入设备上输入数据并转换成内存存储格式存放到与变量对应的内存空间中。,用于输入各种类型的数据。,格式控制字符串,的组成与,printf,函数的类似。,地址,一般表示变量的地址。,例,:,int,i,j;,float x,y;,scanf(%d%d%f%f,&,i,&,j,&,x,&,y);,将,4,个输入数据转换成,2,个,int,型量和,2,个,float,型量的内存表示形式,分别存入,4,个变量对应的内存储空间中。,输入数据之间用空格分隔。,输入:,3,5,8.2,9.3,3.2.2,格式化输入函数,scanf,(),输入格式说明的完整描述为:,3.2.2,格式化输入函数,scanf,(),参见表,3-2,。,例,3.9,输入格式字符的常规使用,#include ,main(),int,i;,long j;,float x;,double y;,scanf(%d,%ld,scanf(%f,%lf,printf(i,=%,d,j,=,%ld,n,i,j);,printf(x,=%,f,y,=,%f,y,=,%lf,n,x,y,y);,运行状况如下:,3,6,8.2,9.97,i=3,j=6,x=8.200000,y=9.970000,y=9.970000,解释,3.2.2,格式化输入函数,scanf,(),3.2.2,格式化输入函数,scanf,(),在输入数据时,数值之间的分隔符可以是一个或多个空白字符。,C,语言中的,空白字符,可以是:,空格,,键和,键,上例亦可按下述方式输入:,35,8.2,9.97,例,3.10,输入格式控制字符串中非格式控制字符的处理,#include ,main(),int,i,j;,scanf(,i,=,%,d,j,=,%d,printf(ii=%d,jj=%dn,i,j);,该程序的运行情况如下:,i=,6,j=,8,ii=6,jj=8,其他字符原样输入,3.2.2,格式化输入函数,scanf,(),若改为,:,scanf(%d,%d,则正确的输入为:,6,8,例,3.11,指定输入宽度,使用输入抑制符,#include ,main(),int,i;,float x;,scanf(%3d,%*4d,%2f,printf(i,=%,d,x,=%,fn,i,x);,该程序的运行情况如下:,123,4567,89,3,i=123,x=89.000000,解释,3.2.2,格式化输入函数,scanf,(),例,3.12,输入字符型数据。,#include ,main(),char c1,c2,c3;,scanf(%c%c%c,printf(%c%c%cn,c1,c2,c3);,在输入字符型数据时,字符之间不需要分隔符。,3.2.2,格式化输入函数,scanf,(),若输入,abc,则,c1=a,c2=b,c3=c,若输入,a,b,c,则,c1=a,c2=,c3=b,若输入,ab,则,c1=a,c2=n,c3=b,分别输出?,例,3.14,scanf,(),函数的返回值,#include,main(),int,i,j,k,num;,num=,scanf(%d%d%d,printf(i=%d,j=%d,k=%dn,i,j,k);,printf(num=%dn,num);,运行状况,1,:,1,2,3,i=1,j=2,k=3,num=3,scanf,(),函数的返回值是正确输入数据的个数。,3.2.2,格式化输入函数,scanf,(),运行状况,2,:,1,2,x,i=1,j=2,k=-858993460,num=2,k,是一个不确定的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!