数据的输入输出讲解_第1页
数据的输入输出讲解_第2页
数据的输入输出讲解_第3页
数据的输入输出讲解_第4页
数据的输入输出讲解_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、数据的输入输出 数据的输入输出概念 输出:从计算机向显示器、打印机等外部设 备输出数据。 输入:从标准输入设备键盘、鼠标等向计算 机输入数据。 注意: C语言不提供输入输出语句,输入输出操作是 由C函数库中的函数实现。 两个基本的输出(输入)函数 格式输出(输入)函数 字符输出(输入)函数 格式:printf(格式控制串,输出表列) 说明: (1) 格式控制串由双引号括起来,由“%” 和格式符以及普通字符(即需要原样输出 的字符组成)。 (2)输出表列是需要输出的一些数据,可以 是常量、变量或表达式。 例例: #include main( ) int a=3, b=4; printf(“a=%

2、d b=%d”,a,b); 运行结果运行结果: a=3 b=4 .格式说明符 d: 以十进制带符号形式输出整型数 o:以八进制无符号形式输出整型数 x:以十六进制无符号形式输出整型 u:以十进制无符号形式输出整型数 f:以小数形式输出单、双精度实型数 e: 以指数形式输出单、双精度实型数 c: 以字符形式输出一个字符 s: 以字符形式输出一个字符串 ld:以十进制带符号形式输出长整型数 (1)(1) d格式符格式符: 输出输出十进制十进制整数。整数。 %d 按整型数据的实际长度输出。按整型数据的实际长度输出。 %md m为指定的输出字段的宽度为指定的输出字段的宽度.若数据的若数据的 位数小于位

3、数小于m,则左端补以空格则左端补以空格;若大于若大于m,则按实则按实 际位数输出。际位数输出。 %ld 输出长整型数据输出长整型数据. (2)o格式符 以八进制数形式输出整数。 将内存单元中的各位的值(0或1)按八进制 形式输出,输出的数值不带符号,将符号也作 为八进制数的一部分输出。 (3) x格式符,以十六进制数形式输出整数。 (4) u格式符,以十进制形式输出无符号型 数据。 例 #include main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”

4、,b,b,b,b); 输出: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 (5) c 格式符 输出一个字符。 例 #include main( ) char c=a; int i=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i); 输出: a,97 a,97 (6)s格式符 输出一个字符串。 若不指定字符宽度和对齐方式,则输出全部 字符串. 例如: printf(%s, CHINA); 程序运行输出: CHINA 若指定宽度m,实际字符个数大于m,按实 际宽度输出;如果实际字符个数小于m,字符 右对齐,左边填空

5、格。 例如: printf(“s1=%s,s2=%3s,s3=%- 5.2s,s4=%.3s, abcd, abcd, abcd, abcd) ; 程序运行输出: s1=abcd,s2=abcd,s3=ab ,s4=abc (7) f格式符 以小数形式输出实数(包括单、双精度)。 1) %f , 不指定字段宽度,由系统自动指定,使 整数部分全部输出,并输出6位小数(输出 双精度数据,也是6位,但误差降低)。 2) %m.nf , 指定输出的数据共占m列,其中有 n位小数.若数据长度小于m,则左端补空格。 例:float x=15.3,y=222.225111; printf(“%f,%6.2f

6、n”,x,y); (8) e格式 以指数形式输出实数。 1) %e 不指定输出数据所占的宽度和数字部 分小数位数,由系统自动指定给出6位小数, 指数部分占5位,其中“e”占一位,指数符号占 一位,指数占3位.数值按标准化指数形式输 出(小数点前有1位非零数字)。 例如: printf(“%e”,123.456); 输出:1.234560e+002 e格式输出的实数共占13列宽度 6位 3位 (9)g格式符:根据数值的大小输出实数,自动选 f 格式或 e 格式(选择输出时占宽度较小的一 种),且不输出无意义的零。 说明 . 格式控制串的控制符号与变量表要一一 对应,即:类型相同,个数相等 2.

7、格式控制符号用小写字母 3. 格式控制符号之外的符号均照原样显示 4. 若需显示百分号,格式为:% 5. 如果实际数据所占字符位大于指定的域 宽,按实际输出 例:#include (注意这不可以少) main( ) char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c); 输出:BOY 格式输入函数 格式输入函数 一般形式一般形式: : scanfscanf( (格式控制字符串格式控制字符串, , 地址表地址表 列列) ) “格式控制字符串格式控制字符串”的含义同的含义同printfprintf函数函数, , “ “地址表列地址表列”

8、:要求是:要求是变量的地址变量的地址, ,或字符或字符 串的首地址串的首地址. . 例如例如: : intint a,b,ca,b,c; ; scanfscanf(“%(“%d%d%d”,d%d%d”,); 说明:说明: * * scanfscanf 函数中的函数中的“格式控制格式控制”后面应当后面应当 是是变量地址变量地址而不是变量名。而不是变量名。 * * 输入数据时输入数据时, ,在两个数据之间以在两个数据之间以一个一个或或多多 个空格个空格间隔间隔, ,也可以用也可以用回车回车键键、跳格键跳格键tabtab 分隔分隔。 格式控制字符串中若包含格式控制字符串中若包含普通字符普通字符, 则

9、输入时必须照原样输入普通字符,则输入时必须照原样输入普通字符, 否则将导致输入结束。否则将导致输入结束。 如:如:intint a,b,ca,b,c; ; scanfscanf(“%(“%d d, ,%d%d, ,%d”,); 输入:输入:1 1, ,2 2, ,33 main()main() intint a,b,c,d,ea,b,c,d,e; ; scanfscanf(“%(“%d%c%c%c%d”, ); printfprintf(“a=%(“a=%d,bd,b=%=%c,cc,c=%=%c,dc,d=%=%c,ec,e=%=%d”,a,d”,a, b b, , c,d,ec,d,e);

10、); 输入:输入:123123a ab bc c789789 输出:输出:a=123,b=a=123,b=a,ca,c= =b,db,d= =c,ec,e=789=789 在用“%c”格式输入字符时,空格字符和“转 义字符”都作为有效字符输入. 如,scanf(%c%c%c, 输入:xyz x字符赋给a,空格字符赋给b, y字符赋给c 提示注意: l输入输入doubledouble型数据型数据, ,必须用格式说明符必须用格式说明符%lf%lf或或%le%le, l输入输入longlong型数据,必须用型数据,必须用%ld%ld。 l标准标准C C在在scanfscanf中不使用中不使用%u%u说明符说明符, ,对对unsignedunsigned型数型数 据据, ,以以%d%d或或%o%o、%x%x格式格式输入。输入。 l% %后的后的“* *”为附加说明符为附加说明符, ,用来表示跳过它对应的用来表示跳过它对应的 数据。数据。 l输入时格式控制符中不能加输入时格式控制符中不能加“n”n”。 l在在scanfscanf函数的格式控制字符串中尽量不要出现普函数的格式控制字符串中尽量不要出现普 通字符,尤其不能将输入提示放在其中。需要显示通字符,尤其不能将输入提示放在其中。需要显示 输入提示应该调用输入提示应该

温馨提示

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

评论

0/150

提交评论