第3章格式输入输出_第1页
第3章格式输入输出_第2页
第3章格式输入输出_第3页
第3章格式输入输出_第4页
第3章格式输入输出_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章 格式化输入格式化输入 和输出和输出 n一、 字符数据的输入输出 n二、 格式化的输入与输出 程序程序是数据数据的处理器: 它接收输入数据,对数据进行处理,再将 得到数据输出。 输出输出:从计算机向外部输出设备(显示器,打印机)输出数 据 输入输入:从输入设备(键盘,鼠标,扫描仪)向计算机输入数据. 由于各种设备差别很大,C缓冲文件系统把每 种设备都转换成称为流(stream)的逻辑设备。 流给程序员提供了与设备无关的一致界面,因 此能够用于写入磁盘文件的函数也能用于写入 显示器终端。 本章讨论标准的输入和输出函数。也就是认 为输入输出函数是从键盘输入,向显示屏输出。 C语言中标准

2、输入输出 C语言函数库中有一批“标准输入输出函数标准输入输出函数”,例如: 字符输入函数:getchar() 字符输出函数:putchar() 格式输入函数: scanf() 格式输出函数:printf() 字符串输入函数: gets() 字符串输出函数:puts() 使用这些函数时,应在程序的开头处写下预编译命令: # include “stdio.h” 或或 # include 用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。 一、字符数据的输入输出 1. 字符输出函数 putchar( ) p函数作用:向终端输出一个字符 p一般形式:putchar(c

3、) 输出变量c的值 C可以是字符型变 量或整型变量 例例1 输出单个字符。输出单个字符。 #include void main() char a,b,c; a=:;b=);c=*; putchar(a);putchar(b);putchar(c); putchar(n); 运行结果: :)* putchar(a);putchar(n);putchar(b);putchar(n);putchar(c);putchar(n); 运行结果: : ) * n也可以输出其他转义字符,例如: putchar(101); (输出字符A) putchar(); (输出单引号字符) putchar(015) (

4、输出回车,不换行,使输出 的当前位置移到本行开头) 2. 字符输入函数 p函数作用:从终端(或系统隐含指定的输入设 备)输入一个字符。 p没有输入参数,一般形式:getchar() p函数值:从输入设备得到的字符。 例例2 输入单个字符。输入单个字符。 #include void main() char c; c=getchar(); putchar(c); putchar(n); 运行程序:运行程序: 从键盘输入字符从键盘输入字符* * 按按EnterEnter键键 屏幕上将显示输出的字符屏幕上将显示输出的字符 * * * * * * 也可改写为: putchar(getchar(); 二、

5、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 一般格式:一般格式: printf(”格式控制格式控制”,输出列表);输出列表); 例如:例如:printf(“a=%d,b=%cn”,a,b) 功能:功能:向默认输出设备(一般是显示器)输出向默认输出设备(一般是显示器)输出“输出列表输出列表” 中各数据项。中各数据项。 1. 格式控制 格式控制也称“控制字符串”,是由双引号括起来指定输出输出 格式的字符串格式的字符串。他由格式说明格式说明、控制字符控制字符和普通字符普通字符三部分 组成。 (1)格式说明)格式说明 构成:构成:由“%

6、”字符开始后面跟有各种格式字符。 作用:作用:以说明输出数据的类型、形式、长度、小数位等格式。 C语言提供的常用语言提供的常用printf()函数格式说明:()函数格式说明: 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) n1500 1.5*103 =1.5E+3 n0.00001 1*10-5 1E-5 (2)控制字符)控制字符 控制字符用于控制设备的动作,如下表中制表符“t”、换行 符“n”等。 转义字 符 表示含义 n换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头 t横向跳格,横向跳到下一个输出区横向跳格,

7、横向跳到下一个输出区 r回车,将当前位置移到本行开头回车,将当前位置移到本行开头 f走纸换页,将当前位置移到下页开头走纸换页,将当前位置移到下页开头 b退格,将当前位置移到前一列退格,将当前位置移到前一列 v竖向跳格竖向跳格 例如:例如:printf(“x=%dn”,x); 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) (3)普通字符)普通字符 除格式说明和控制字符之外,其他字符均属除格式说明和控制字符之外,其他字符均属普通字符普通字符,打印,打印 时按原样输出。时按原样输出。例如:例如: printf(“x=%d,%c”,1

8、2,6*8); 其中“x=”和“,”都是普通字符。 输出结果是:输出结果是:x=12,0 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 2.输出列表 输出列表:输出列表:就是需要输出的各数据项表达式,表达式之间用就是需要输出的各数据项表达式,表达式之间用 逗号分隔。逗号分隔。 注意: (1 1)表达式可以由变量构成,也可以由常量构成;)表达式可以由变量构成,也可以由常量构成; (2 2)表达式之间的逗号不是逗号表达式,而是确定计算)表达式之间的逗号不是逗号表达式,而是确定计算 顺序的分隔符,自右向左进行的计算。顺序的分隔符,自

9、右向左进行的计算。 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 3.附加说明符 在%与格式字符间插入附加说明符,组成: “% ”输出格式来达到更高输出格 式要求。 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 附加说明符意 义 l 用于长整型,可以加在格式符用于长整型,可以加在格式符d、o、x、u的的 前面前面 m(正整数)(正整数) 数据输出的最小宽度,当数据实际宽度超过数据输出的最小宽度,当数据实际宽度超过m 时,则按实际宽度输出,如实际宽度短于时,则按

10、实际宽度输出,如实际宽度短于m, 则输出时前面补则输出时前面补0或空格。或空格。 .n(正整数)(正整数) 对实数表示输出对实数表示输出n位小数,对字符串,表示从位小数,对字符串,表示从 左截取的字符个数左截取的字符个数 - 输出的字符或数字在域内向左对齐,默认右输出的字符或数字在域内向左对齐,默认右 对齐对齐 +输出的数字前带有正负号输出的数字前带有正负号 0在数据前多余空格处补在数据前多余空格处补0 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 【例【例3.1】输出整型、长整型、无符号整型数据 #include “stdi

11、o.h” void main() int y=20; long a=1024; unsigned b=54321; printf(“%d,%ld,%un”,y,a,b); printf(“%+8d,%+8ld,%+8un”,y,a,b); printf(“%08d,%08ld,%08un”,y,a,b); printf(“%-8d,%-8ld,%-8un”,y,a,b); printf(“%o,%lo,%on”,y,a,b); printf(“%#x,%#lx,%#xn”,y,a,b); printf(“%8o,%8lo,%8on”,y,a,b); printf(“%-8x,%-8lx,%-8

12、xn”,y,a,b); 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 运行结果如下:(运行结果如下:(代表空格代表空格) 20,1024,54321 +20,+1024,54321 00000020,00001024,00054321 20,1024,54321 24,2000,152061 0 x14,0 x400,0 xd4321 24,2000,152061 14, 400, d4321 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) %-8.1E %-8

13、.3f n86,1040 【例【例3.2】输出字符和字符串 #include “stdio.h” void main() char ch=a; printf(“%cn”,ch); printf(“%-3cn”,ch); printf(“%3cn”,ch); printf(“%sn”,”programing”); printf(“%15sn”,”programing”); printf(“%-15sn”,”programing”); printf(“%10.5sn”,”programing”); printf(“%-10.5sn”,”programing”); 运行结果如下: a a a pro

14、graming programing programing progr progr 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 【例【例3.3】输出实型数据 #include “stdio.h” void main() float x,y; double a; x=111111.111;y=123.468; a=333333333.33333; clrscr(); printf(“%fn”,x); printf(“%fn”,a); printf(“%10f,%10.2f,%.2f,%-10.2fn”,x,x,x,x); pr

15、intf(“%en”,x); printf(“%en”,a); printf(“%10e,%10.2e,%.2e.%-10.2en”,a,a,a,a); printf(“%f,%e,%g”,y,y,y); 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 程序运行结果如下:程序运行结果如下: 111111.109375 333333333.333330 111111.109375, 111111.11,111111.11,111111.11 1.11111e+05 3.33333e+08 3.33333e+08, 3.33e+08

16、,3.33e+08.33e+08 123.468002,1.23468e+02,123.468 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 4. 在使用printf()函数时,还应注意以下问题 (1)转换说明与输出参数不一致时可能产生错误。)转换说明与输出参数不一致时可能产生错误。 printf()函中格式符串中的数目多于列表参数个数时,则会输出错 误数据;如果格式符串中的数目少于列表参数个数,则多出的参 数不被输出。 例如:例如: #include “stdio.h” void main() int i=-6,x=5; f

17、loat y=123.456; printf(“%d,%dn”,i); printf(“%-4d,%f”,i,y,x); 输出结果为:输出结果为: -6,2509 /*多余格式符输出错误数据*/ -6,123.456001 /* x未被输出*/ 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) (2)“f”格式符一般为格式符一般为7位有效数字位有效数字,双精度一般为双精度一般为16位。位。 例如:例如: #include “stdio.h” void main() float x=111111.111,y=222222.222;

18、printf(%f,x+y); 输出结果为:输出结果为: 333333.328125 /*前7位是有效数字,后面数字无意义*/ 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) (2)“f”格式符一般为格式符一般为7位有效数字位有效数字,双精度一般为双精度一般为16位。位。 #include “stdio.h” void main() double x=111111.11111,y=222222.22222; printf(%lf,x+y); 输出结果为:输出结果为: 333333.333330 /*可达16位是有效数字,小数点保

19、留6位*/ 二、二、 格式化的输入与输出格式化的输入与输出 1. printf( )函数(格式输出函数)函数(格式输出函数) 二、二、 格式输入与输出格式输入与输出 2 scanf( )函数(格式输入函数)函数(格式输入函数) 一般形式:一般形式: scanf(格式控制格式控制,地址列表);,地址列表); 功能:功能:从键盘向程序中的变量输入一个或若干个任意类型的 数据。 例如:例如: scanf(%d,%d, scanf(“%d%d%d”, printf(“a=%d,b=%d,c=%dn”,a,b,c); 输入数据的格输入数据的格 式表示什么意式表示什么意 思思? 二、二、 格式输入与输出格

20、式输入与输出 2 scanf( )函数(格式输入函数)函数(格式输入函数) 运行时按以下方式输入运行时按以下方式输入a,b,c的值:的值: 345 (输入a,b,c的值,用空格间隔) a=3,b=4,c=5 (输出a,b,c的值) 注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以输入数据时,在两个数据之间以一个或多个空格间隔,也可以 用用Enter键、键、Tab键分隔,键分隔,不能用逗号作为两个数据的分隔符。不能用逗号作为两个数据的分隔符。 下面输入均为合法:下面输入均为合法: 345 3 4 5 3(按Tab键)4 5 如下面的输入不合法如下面的输入不合法: 3,4,5 二、二、 格式输入与输出格式输入与输出 2 scanf( )函数(格式输入函数)函数(格式输入函数) 3. 使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论