c语言输入输出函数.ppt

上传人:大张伟 文档编号:7196431 上传时间:2020-11-05 格式:PPT 页数:36 大小:590KB
返回 下载 相关 举报
c语言输入输出函数.ppt_第1页
第1页 / 共36页
c语言输入输出函数.ppt_第2页
第2页 / 共36页
c语言输入输出函数.ppt_第3页
第3页 / 共36页
c语言输入输出函数.ppt_第4页
第4页 / 共36页
c语言输入输出函数.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《c语言输入输出函数.ppt》由会员分享,可在线阅读,更多相关《c语言输入输出函数.ppt(36页珍藏版)》请在三一文库上搜索。

1、第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”, ,3.1 求整数的各位数字和,printf( )函数的功能是向系统显示器输出若干个任意类型的数据。 1.printf( )函数调用形式 printf(格式控制字符串,输出列表) 调用输入输出函数加头文件 #include

2、注意:对于printf( )和scanf( ),在.C文件中可省略,在.cpp文件中要加上。,3.1.2 格式化输出函数 printf( ),格式说明,一般字符 按原样输出,转义字符 作用:换行,输出列表,printf(a=%d n,a);,printf函数简例,3.1 求整数的各位数字和,格式控制字符串和输出列表都是函数的参数,其中: (1)格式控制字符串包括两个信息 格式说明符。由“%”开头,以格式字符结束的一串字符,如%d,%c,%f等。作用是将要输出的数据转化成指定的格式输出。 原样输出字符,含一般字符和转义字符。一般起提示、分隔数据和换行等作用。如例3-1中双引号内的n和c= (pr

3、intf(“nc=%dn”,c); ) (2)输出列表是要输出的常量、变量、函数、表达式。,3.1 求整数的各位数字和,格式说明符的一般形式: %-+0#整数m.整数nl或h 格式字符,格式字符表,#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】分析下面程序运行结果,#inc

4、lude 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);

5、 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”, ,3.2.1 程序解析 例 3-6 输入一个华氏温度,要求输出转换后的摄氏温度。,3.2 求华氏温度对应的摄氏温度,3.2.2 格式化输入函数scanf,scanf()函数是从键盘上将数据按用户指定

6、的格式输入并赋给指定变量。 1. 函数调用形式 scanf(格式控制字符串,地址列表); 格式控制字符串的定义与使用方法和printf函数相似,但不能显示非格式字符串,即不能显示提示字符串。 地址列表是要赋值的各变量地址,地址是由地址运算符“ printf(“请输入10位数: ”);/*按长度m进行输入*/ scanf(%3d%3d%4d, ,#include main() double a,b,c; printf(请输入两个双精度数: ); scanf(%lf,%lf, ,例3-8 double 型数据的输入输出,#include void main() char c1,c2; printf

7、(“请输入两个字符数: ) scanf(%c%c, ,例3-9 字符型数据的输入输出,#include main() int x,y; scanf(%2d%*3d%4d, ,例3-10 格式符*的作用,注意,(1)scanf函数中的“格式控制字符串”后面应该是变量地址,而不应是变量名。如scanf(“%d, %d”, a, b);是错误的, 则键盘输入: a=12,b=-2 其他任何输入形式都不正确。,(4)输入数据时,遇以下情况认为该数据输入结束: 按指定的宽度结束; 遇空格,或“回车”键,或“Tab”键; 遇非法输入。 (5)在用“%c”格式输入字符时,所有输入的字符(包括空格字符和“转义

8、字符”)都作为有效字符。 (6)当输入的数据与输出的类型不一样时,虽然编译没有提示出错,但结果将不正确。,/*输入输出类型不一致*/ #include main() int a; scanf(%hd, ,例3-11 分析下面程序,C语言为字符定义了输入函数getchar()和输出函数putchar()。在使用这两个函数时,程序的头部一定要加上文件包含命令: #include ,1.字符输入函数getchar() getchar( )的功能是从标准设备(键盘)上读入一个字符。其一般调用形式 getchar(); 语句ch=getchar() 和 scanf(“%c”,功能相同,3.2 字母大小写

9、转换,3.2 字母大小写转换,3.3.1 程序解析 例 3-12 输入一个英文小写字母,输出该字母所对应的大写字母。,程序代码 #include void main() char c1; printf(“请输入一小写字母: ”); c1=getchar(); /*与scanf(“%c”, ,C语言为字符定义了输入函数getchar()和输出函数putchar()。在使用这两个函数时,程序的头部一定要加上文件包含命令: #include ,1.字符输入函数getchar() getchar( )的功能是从标准设备(键盘)上读入一个字符。其一般调用形式 getchar(); 语句ch=getcha

10、r() 和 scanf(“%c”,功能相同,3.2 字母大小写转换,#include main() char c1,c2; printf(“请输入两个字符: ”); c1=getchar(); c2=getchar(); /*和scanf(“%c”, ,【例3-13】字符输入函数的使用,2. 字符输出函数putchar(),字符输出函数putchar()的功能是向标准输出设备(显示器)输出一个字符。调用形式: putchar(c); 其中:c是参数,整型或字符型。当是整数时,输出以该数值作为ASCII码所对应字符;当是字符时,直接输出字符常量。 putchar(c) 和 printf(“%c”

11、,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)作为暂存单元,在执行

12、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);,变量交换,可不用中间变量,用如下方法: (1) a=a+b; b=a-b; a=a-b; (2) a=ab; b=ab; a=ab;,#include #include main() float a,b,c,s,area; scanf(%f%f%f, ,【

13、例3-16】输入三角形的三条边,编程求该三角形的面积,【例3-17】编程求方程的解,#include #include main() float a,b,c,d,x1,x2; a=3;b=-5;c=-7; d=b*b-4*a*c; x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a); printf(x1=%.4f , x2=%.4fn,x1,x2); ,【例3-18】分析下面程序的运行结果,#include main() int x=1,y=5; printf(x=%d,y=%d,x,y); ,【分析】本程序格式控制字符串中,有两个连续的%。前面已经讲过,两个连

14、续的%表示输出一个%,因此变量x,y没有对应的输出格式,只能输出双引号中的字符。,【例3-19】 分析下面程序的运行结果,#include main() int a,b; a=0 x41; /* 65 */ b=+a; /* 66 */ printf(%d,%dn,a-,-b); printf(%c,%cn,+a,b+); ,【例3-20】 从键盘上输入一个英文小写字母,编程输出该字母所对应的ASCII码和所对应的大写字母,【分析】在ASCII字符集中,大写字母AZ是连续的(ASCII值从6590),小写字母az也是连续的(ASCII值从97122)。 每对字母的ASCII码值差是相同的,都是32,即a-A、b-B、c-C、z-Z都是32。所以将小写字母的ASCII码值减去32,则得到的是所对应的大写字母ASCII码值。 同理,将大写字母的ASCII码值加上32,则得到的是所对应的小写字母ASCII码值。,#include main() char c1,c2; c1=getchar( ); /*从键盘获得一个小写字母*/ c2=c1-32; /*将小写字母转化为大写字母*/ printf(%d,%cn,c1,c1); putchar(c2); ,

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1