三C语言程序设计简单的输入和输出研究报告

上传人:yuzo****123 文档编号:138726773 上传时间:2020-07-17 格式:PPT 页数:48 大小:1.12MB
返回 下载 相关 举报
三C语言程序设计简单的输入和输出研究报告_第1页
第1页 / 共48页
三C语言程序设计简单的输入和输出研究报告_第2页
第2页 / 共48页
三C语言程序设计简单的输入和输出研究报告_第3页
第3页 / 共48页
三C语言程序设计简单的输入和输出研究报告_第4页
第4页 / 共48页
三C语言程序设计简单的输入和输出研究报告_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《三C语言程序设计简单的输入和输出研究报告》由会员分享,可在线阅读,更多相关《三C语言程序设计简单的输入和输出研究报告(48页珍藏版)》请在金锄头文库上搜索。

1、第二章简单的输入和输出,该节的学习内容,学点什么哪?,熟练掌握字符输入/输出函数 熟练的应用输入/输出函数的使用方法。,本章的学习难点,熟练掌握字符的输入/输出函数及有格式输入/输出函数的使用方法。 scanf和printf函数的格式控制问题。,本章目录,基本输入输出操作的实现 输入输出操作中的分析,字符输入输出操作的实现,例如:#include ,字符标准输入,字符标准输出,C语言本身不提供输入输出语句,输入 输出操作是由函数实现的。,C语言的输入输出函数的处理程序不在 C语言本身,因而在运行时要连接函数库, 但必须在程序中将相应的文件头部加载。,在计算机终端键盘上输入数据。,在终端显示器上

2、输出数据。,字符输入函数getchar,1.作用:从终端(或系统隐含指定的输入设备)输入一个字符,由函数返回该字符。,2.举例:char c; a c=getchar(); a,字符输出函数putchar,1.作用:向系统隐含指定的输出设备即终端显示器输出一个字符。,2.格式:char c; putchar(c);,程序举例,#include main() char c; c=getchar(); putchar(c) ; ,有格式输入输出操作的实现,格式输出函数printf,格式输入函数scanf,格式输出函数printf,该函数按指定的格式输出多个、不同类型的数据。,printf(格式控制

3、,输出表列) 格式控制:也称为转换控制字符串。它包含格式转换说明和需原样输出的普通字符。 输出表列:要输出其值的表达式表列,该表列中的参数可为多个,也可没有。 输出列表中变量的位置、个数和类型必须与格式控制字符串中的 格式转换说明符对应。,功能:,格式:,格式说明,格式说明是从“%”开始到其后第一个 格式说明符。,格式说明符: d格式符 o格式符 x格式符u格式符 c格式符 s格式符 f格式符 e格式符 g格式符,d格式符,以带符号的十进制整形格式输出整数。,d 按整形数据的实际长度输出,%ld 输出长整形数据,a=3; b=24; printf(%d%d,a,b); 324,%md %0md

4、 按长度为m输出整形数据,a=123; b=12345; printf(%4d, %05d, %d, a, a, b); 123, 00123, 12345,功能:,格式:,由于是将内存单元的各位的值(0或1)按八进制 形式输出,因此输出的数值不带符号。,o格式符,以8进制、无符号形式输出整数。,o %mo,对于长整形数可以用“lo”格式输出。,功能:,格式:,以进制无符号形式输出整数。,x格式符,x %mx,对于长整形数可以用“lx”格式输出。,功能:,格式:,一个有符号整数(int型)也可用%u输出;反之, 一个unsigned型也可用%d、%o,%x输出。,u格式符,以10进制无符号形式

5、输出unsigned数据。,u %mu,眼见为实,数值+类型,int以补码存储,-1,177777,ffff,65535 -2,177776,fffe,65534,功能:,格式:,c格式符,用来输出一个字符。,c %mc,c=a; printf(%c,%3c,c,c); a, a 注:上行的%c和c的意义不同。,其值在0-255内的整数,可用c或d输出。,int c=65; printf(%c,%d,c,c); A, 65,一个字符,可用c或d输出。,char c=a; printf(%c,%d,c,c); a, 97,功能:,格式:,s格式符,输出字符串,直到遇到字符串结束标识0为止。,s

6、按字符串的实际长度输出。,printf(%s,china); china,ms 输出的字符串占m列。,printf(%3s,%7s,china,china); china,china 1.当字符串实际长度m,则按实际长度输出。 2.当字符串实际长度m 。则左端补空格。,-ms 输出的字符串占m列。,printf(%3s,%-7s,china,china); china,china 1.当字符串实际长度m,则按实际长度输出。 2.当字符串实际长度m 。则右端补空格。,m.ns 输出的字符串占m列。,printf(%7.2s,china); ch 1.共输出m位,右端输出n个字符,如果实际长度m

7、,则在左端用空格填补。 2.当字符串实际长度n 。则n为字符串长度。,-m.ns 输出的字符串占m列。,printf(%-7.2s,%.4s,china,china); ch ,chin 1.共输出m位,左端输出n个字符,如果实际长度m ,则在右端用空格填补。 2.当字符串实际长度n 。则n为字符串长度。 3.当m没有时自动地m=n=4。,功能:,格式:,f格式符,以小数形式输出实数。,f 以系统指定的形式输出实数。,float x, y; x=111111.111; y=222222.222; printf(%f,x+y); 333333.328125 1.系统自动指定数据宽度,整数部分全部

8、 输出,小数部分输出6位。 2.单精度数的有效位数为7位;双精度数用%lf输 出时,有效位数为16位,小数位为6位。,m.nf 按自定义格式输出实数。,float x; x=123.456; printf(%f,%10f,%10.2f,%.2f,x,x,x,x); 123.456001, 123.456001, 123.46, 123.46 1.输出数据宽度为m,输出n位小数,n+1位小数 四舍五入;实际小数位n,则左端填0占位。,-m.nf 按自定义格式输出实数。,float x, y; x=123.456; printf(%-9.2f, %f,x, x); 123.46 , 123.456

9、001 1.输出数据宽度为m,输出n位小数,n+1位小数 四舍五入;实际小数位n,则左端填0占位。,功能:,格式:,e格式符,以标准指数形式输出单、双精度实数。,e 用系统指定的标准格式输出。,m.ne 用自定义格式输出。,float f=123.456; printf(%e,%10e,%10.2e,%.2e, f,f,f,f); 1.234560e+002, 1.234560e+002, 1.23e+002, 1.23e+002 1.输出总宽度为m位,数值部分小数为n位。 2.当mn+7,则在数字部分前加m-n-7个空 格,否则按实际长度输出。,-m.ne 用自定义格式输出。,float f

10、=123.456; printf(%-10.2e,%e, f,f); 1.23e+002, 1.234560e+002 1.输出总宽度为m位,数值部分小数为n位。 2.当mn+7,则在指数部分后加m-n-7个空 格。,功能:,格式:,g格式符,根据数值的大小,自动选择f或e输出实数。,g 选择占宽度较小的一种。,功能:,格式:,普通字符的输出,普通字符即需要原样输出的字符。,printf(a=%d b=%d, a, b);,普通字符,设a, b分别为3和4,则有: a=3 b=4,输出列表举例,“输出表列”是需要输出的一些数据,可 以是表达式。可以有多项,也可以没有。,printf(a=%d

11、a+b=%d, a, a+b);,输出表列,printf(“输出提示信息!);,printf函数使用说明,1.有些系统要求格式字符要用小写字母。 printf(%d, %f, a, f); printf(%D, %F, a, f); ,2.不同的系统实现输出时,输出结果会有小的差别。例如:e格式输出时,指数部分有5位(e+002)和4位(e+02)之分; 数值部分有效位数有5位小数和6位小数之分。,3.如输出字符%,则在“格式控制”字符串重用连续的两个%字符。 printf(%f%n, 1.0/3); 输出:0.333333%,4.可以在“格式控制”字符串内包含“转义字符”。例如:n,t,b,

12、r,f等。 printf(%d, %fn, a, f);,转义字符,printf函数举例,#include main() int a=29; long b=123456; double x=123.456; char c=:; printf(1. a=%d, a=%4d, a, a); printf(a=%-4d, a=%04dn, a, a); printf(2. a=%o, a=%04o, a, a); printf(a=%x, a=0 x%xn, a, a); printf(3. b=%ld, b=%8ldn, b, b); printf(4. x=%f, x=%.2f, x, x);

13、printf(x=%10.2f, x=%-10.2fn, x, x);,1.a=29, a= 29, a=29 ,a=0029 2.a=35, a=0035, a=1d, a=0 x1d 3.b=123456, b= 123456 4.x=123.456001, x=123.46, x= 123.46, x=123.46,printf(5.x=%e, x=%.2e, x=%gn, x, x, x); printf(6.%c%8s%cn, c, how are you, c); printf(7.%c%15s%cn, c, how are you, c); printf(8.%c%+10.3s%

14、cn, c, how are you, c); printf(9.%c%-10.3s%cn, c, how are you, c); ,5.x=1.234560e+02, x=1.23e+02, x=123.456001 6.:how are you: 7.: how are you: 8.: how: 9.:how :,格式输入函数scanf,该函数可按指定的格式输入多个不同类型的数据,并将输入数据存入地址参数所指定的地址单元。,scanf(格式控制,地址表列) 格式控制:与printf的格式控制含义相同。 输出表列:是由若干个地址组成的表列,可以是地址,或字符串首地址。 scanf(%d%

15、d%d, 输入格式: 12 123 1234 结果:a1=12 a2=123 a3=1234 注:数据必须用至少一个空格分开。,全用%md、%*md格式符: int a1, a2, a3; scanf(%2d%*3d%3d, 输入格式: 1234567890 结果: a1=12 a2=678 a3=无 注:当指定域宽时,数据不用逗号或空格分开。 后面参数是地址列表,不是变量列表。,功能:,格式:,o格式符,用来输入八进制整数。,o %mo %*mo,全用%o格式符: int a1, a2, a3; scanf(%o%o%o, 输入格式: 012 0123 01234 结果:a1=012 a2=

16、0123 a3=01234 注:数据必须用至少一个空格分开。,全用%mo、%*mo格式符: int a1, a2, a3; scanf(%4o%*3o%3o, 输入格式: 0123045067025 结果: a1=0123 a2=067 a3=无 注:数据不用逗号分开或用空格分开。,功能:,格式:,x格式符,用来输入十六进制整数。,x %mx %*mx,全用%d格式符: int a1, a2, a3; scanf(%x%x%x, 输入格式: 0 x12 0 x123 0 x1234 结果:a1=0 x12 a2=0 x123 a3=0 x1234 注:数据必须用至少一个空格分开。,全用%mx、%*mx格式符: int a1, a2, a3; scanf(%4x%*3x%3x, 输入格式: 0 x120 x30 x4567890 结果: a1=0 x12 a2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号