c语言输入输出函数

上传人:xiao****1972 文档编号:244662567 上传时间:2024-10-05 格式:PPT 页数:36 大小:544KB
返回 下载 相关 举报
c语言输入输出函数_第1页
第1页 / 共36页
c语言输入输出函数_第2页
第2页 / 共36页
c语言输入输出函数_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,安 庆 师 范 学 院 计 算 机 与 信 息 学 院 ,第3章 输入输出函数,3.1,求整数的各位数字和,3.2 温度转换,3.3 字母大小写转换,3.4 综合应用实例,3.1,求整数的各位数字和,3.1.1 程序解析,例 3-1 给出一个三位数的整数,求出该整数的3个数字之和。,程序代码,#include,void main(),int x,a,b,c,s;,printf(“请输入一个三位数:”);,scanf(“%3d”,a=x/100;b=x/10%10;c=x%10;,s=a+b+c;,printf(“%d的各位数字之和是%dn”,x,s);,3.1,求整数的各位数字和,printf()函数的功能是向系统显示器输出若干个任意类型的数据。,1,.,printf()函数调用形式,printf,(格式控制字符串,输出列表),调用输入输出函数加头文件,#include ,注意:对于printf()和scanf(),在,.C文件,中可省略,在,.cpp文件,中要加上。,3.1.2 格式化输出函数 printf(),格式说明,一般字符,按原样输出,转义字符,作用:换行,输出列表,printf(,a=%d n,,a);,printf,函数简例,3.1,求整数的各位数字和,格式控制字符串和输出列表都是函数的参数,其中:,(1)格式控制字符串包括两个信息,格式说明符。由“,%,”开头,以格式字符结束的一串字符,如%d,%c,%f等。作用是将要输出的数据转化成指定的格式输出。,原样输出字符,含一般字符和转义字符。一般起提示、分隔数据和换行等作用。如例3-1中,双引号内的n和c=,(printf(“nc=%dn”,c);,),(,2,)输出列表是要输出的,常量、变量、函数、表达式,。,3.1,求整数的各位数字和,格式说明符的一般形式:,%-+0#整数m.整数nl或h 格式字符,.n,修饰符,m,-,+,0,#,l/h,对实数,指定小数点后位数(四舍五入)默认6位小数,对字符串,指定实际输出位数,功 能,输出数据域宽,数据长度m,左补空格;否则按实际输出,输出数据在域内左对齐(缺省右对齐),指定在有符号数,的正数前显示正号(+),输出数值时指定左面不使用的空位置自动填0,在八进制和十六进制数前显示前导0,0 x,在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型;h指定输出短整型数据,格式字符表,格式字符,格式字符含义,d或i,表示以十进制形式输出一个带符号的整数,o,表示以八进制形式输出一个无符号的整数,X,x,表示以十六进制形式输出一个无符号的整数,u,表示以十进制形式输出一个无符号的整数,f,表示以小数形式输出带符号的实数(包括单、双精度),E,e,表示以指数形式输出带符号的实数,G,g,表示选择,%f,或,%e,格式输出实数(选择占宽度较小的一种格式输出),c,表示输出一个单字符,s,表示输出一个字符串,注:,大写字母表示输出中的字母为大写,#include,main(),int a,b,c;,a=1234;b=5678;,c=a+b;,printf(a+b=%d+%d=%dn,a,b,c);,printf(“a+b=%hd+%hd=%hdn”,a,b,c);,printf(a+b=%2d+%2d=%5dn,a,b,c);,printf(a+b=%02d+%02d=%05dn,a,b,c);,【例3-2】,分析下面程序运行结果,#include,main(),unsigned short a=65535;,short int b=-2;,printf(a=%hd,%ho,%hx,%hun,a,a,a,a);,printf(b=%hd,%ho,%hx,%hun,b,b,b,b);,【例3-3】无符号数据的输出,注意:去掉h后的运行结果,#include,main(),double x,y,z;,x=123.234;y=-0.000345;z=-98.567;,printf(“x=%lf,x=%.4lf,x=%2lf,x=%+e n”,x,x,x,x);,printf(y=%lf,y=%+lf,y=%len,y,y,y);,printf(z=%fn,z);,【例3-4】,分析下面程序运行结果,#include,main(),printf(n%c,a);/*输出单个字符*/,printf(n%s,abc);/*输出一个字符串*/,【例3-5】,分析下面程序运行结果,程序代码,#include,int main(void),float F,C;,printf(“请输入一华氏温度:”);,scanf(“%f”,C=5.0/9*(F-32);,printf(“对应的摄氏温度是%fn”,C);,3.2.1 程序解析,例 3-6 输入一个华氏温度,要求输出转换后的摄氏温度。,3.2,求华氏温度对应的摄氏温度,3.2.2,格式化输入函数scanf,scanf()函数是从键盘上将数据按用户指定的格式输入并赋给指定变量。,1.函数调用形式,scanf(格式控制字符串,地址列表);,格式控制字符串的定义与使用方法和printf函数相似,但不能显示非格式字符串,即不能显示提示字符串。,地址列表是要赋值的各变量地址,地址是由地址运算符“&”后跟变量名组成,如&x表示变量x的地址。,格式说明符以%开始,后面跟一个格式符,中间可以有若干个附加字符,一般形式为:,%输入数据宽度m长度 类型,:表示输入的数值不赋给相应的变量,即跳过该数据不读。,输入数据宽度m:表示按十进制正整数m的宽度输入数据。,长度:长度格式符为l和h,l表示输入长整型数据或双精度实型数据;h表示输入短整型数据。,类型:是格式说明符中必须要有的,其格式符的意义与printf函数基本相同,具体如表3-3所示。,2.,格式说明符,scanf,函数常用类型格式符,格式字符,格式字符含义,d(i),表示以十进制形式输入一个整数,o,表示以八进制形式输入一个整数,x(X),表示以十六进制形式输入一个整数,u,表示以十进制形式输入一个无符号的整数,f,或,e(E),表示输入一个实数,可以是小数形式或指数形式,g(G),与,f,或,e,的作用相同,c,表示输入一个字符,s,表示输入一个字符串,例3-7 按指定宽度输入整数,#include,main(),int a,b,c;,printf(“请输入10位数:”);,/*按长度m进行输入*/,scanf(%3d%3d%4d,printf(a=%d,b=%d,c=%dn,a,b,c);,#include,main(),double a,b,c;,printf(请输入两个双精度数:);,scanf(%lf,%lf,/*按双精度进行输入*/,c=a*b;,printf(na*b=%lf*%lf=%len,a,b,c);,例3-8 double 型数据的输入输出,#include,void main(),char c1,c2;,printf(“请输入两个字符数:),scanf(%c%c,printf(“c1=%c,c2=%cn,c1,c2);,例3-9,字符型数据的输入输出,#include,main(),int x,y;,scanf(%2d%*3d%4d,,/*注意%*3d的作用*/,printf(nx=%d,y=%d n,x,y);,例3-10,格式符*的作用,表示跳过,它指定的数据,注意,(1)scanf函数中的“格式控制字符串”后面应该是,变量地址,,而不应是变量名。如scanf(“%d,%d”,a,b);是错误的,,&不能少,。,(2)输入数据时,不能规定数据的精度,。如scanf(%8.2f,是不合法的。,(3)在“格式控制字符串”中除格式说明符外,若有其他字符,则在输入数据时在对应位置上应输入这些字符。,例如:scanf(a=%d,b=%d,,则键盘输入:a=12,b=-2,其他任何输入形式都不正确。,(4)输入数据时,遇以下情况认为该数据输入结束:,按指定的宽度结束;,遇空格,或“回车”键,或“Tab”键;,遇非法输入。,(,5,)在用“%c”格式输入字符时,所有输入的字符(包括空格字符和“转义字符”)都作为有效字符。,(,6,)当输入的数据与输出的类型不一样时,虽然编译没有提示出错,但结果将不正确。,/*输入输出类型不一致*/,#include,main(),int a;,scanf(%hd,printf(a=%dn,a);,例3-11,分析下面程序,C,语言为字符定义了输入函数,getchar(),和输出函数,putchar(),。在使用这两个函数时,程序的头部,一定要,加上文件包含命令:,#include,1,.,字符输入函数getchar(),getchar()的功能是从标准设备(键盘)上读入一个字符。其一般调用形式 getchar();,语句,ch=getchar()和 scanf(“%c”,,功能相同,3.2,字母大小写转换,3.2,字母大小写转换,3.3.1 程序解析,例 3-12 输入一个英文小写字母,输出该字母所对应的大写字母。,程序代码,#include,void main(),char c1;,printf(“请输入一小写字母:”);,c1=getchar();,/*与scanf(“%c”,等价*/,c1=c1-32;,/*将小写字母转换为大写字母*/,printf(“大写字母是%cn”,c1);,C,语言为字符定义了输入函数,getchar(),和输出函数,putchar(),。在使用这两个函数时,程序的头部,一定要,加上文件包含命令:,#include,1,.,字符输入函数,getchar(),getchar()的功能是从标准设备(键盘)上读入,一个,字符。其一般调用形式 getchar();,语句,ch=getchar()和 scanf(“%c”,,功能相同,3.2,字母大小写转换,#include,main(),char c1,c2;,printf(“请输入两个字符:”);,c1=getchar();,c2=getchar();,/*和scanf(“%c”,&c2)等价*/,printf(%c,%cn,c1,c2);,【例3-13】,字符输入函数的使用,2.,字符输出函数,putchar(),字符输出函数,putchar(),的功能是向标准输出设备(显示器)输出,一个,字符。调用形式:,putchar(c);,其中:c是参数,,整型或字符型,。当是整数时,输出以该数值作为ASCII码所对应字符;当是字符时,直接输出字符常量。,putchar(c),和 printf(“%c”,c),功能相同,#include,main(),char x,y,z;,x=a;y=+;z=b;,putchar(x);putchar(y);,putchar(z);putchar(132);,putchar(n);,printf(“%c%c%c132n”,x,y,z);,【例3-14】字符输出函数的使用,【例,3-15,】从键盘上输入两个整数放入变量,a,b,中,编程将这两个变量中的数据交换。,【,分析,】两个数据交换,不能直接写成a=b;b=a;,因为当执行a=b;后,变量a中的原值就被“冲”掉了,而与变量b中的值相等,因此不能实现交换。正确的做法是另定义一个变量(假设是c)作为暂存单元,在执行a=b;之前,先将变量a的值放入c中保存起来,然后执行a=b;,最后再执行b=c;,由于c中保存的是a的值,这样就将原来a的值赋给了b,从而实现了两个变量中的数据交换。,3.4,综合应用实例,程序,#include,main(),int a,b,c;,a=3;b=5;,c=a;a=b;b=c;,printf(a=%d,b=%dn,a,b);,3,5,a,3,c,b,变量交换,可不用中间变量,用如下方法:,(1)a=a+b;b
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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