C语言输入输出函数printf与scanf的用法格式

上传人:飞*** 文档编号:4848570 上传时间:2017-08-26 格式:DOC 页数:11 大小:61.50KB
返回 下载 相关 举报
C语言输入输出函数printf与scanf的用法格式_第1页
第1页 / 共11页
C语言输入输出函数printf与scanf的用法格式_第2页
第2页 / 共11页
C语言输入输出函数printf与scanf的用法格式_第3页
第3页 / 共11页
C语言输入输出函数printf与scanf的用法格式_第4页
第4页 / 共11页
C语言输入输出函数printf与scanf的用法格式_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《C语言输入输出函数printf与scanf的用法格式》由会员分享,可在线阅读,更多相关《C语言输入输出函数printf与scanf的用法格式(11页珍藏版)》请在金锄头文库上搜索。

1、C 语言输入输出函数 printf 与 scanf 的用法格式printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。一、printf()函数printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf(, );其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式控制字符, 以%开始, 后跟一个或几个控制字符,用来确定输出内容格式。参量表是需要输出的一系列参数,可以是常量、

2、变量或表达式,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现意想不到的错误。 例如:printf(a=%d b=%d,a,b);1. 格式控制符 Turbo C2.0提供的格式化规定符如下:格式控制字符参量表正常字符符号 作用%d 十进制有符号整数%u 十进制无符号整数%f 浮点数%s 字符串%c 单个字符%p 指针的值%e,%E 指数形式的浮点数%x, %X 无符号以十六进制表示的整数%o 无符号以八进制表示的整数%g,%G 自动选择合适的表示法printf 的附加格式说明字符字符 说明l 用于长整型数或双精度实型,可加在格式符 d

3、、o、x、u 和 f 前面m(代表一个正 数据最小输出显示宽度整数)n(代表一个正整数)对实数,表示输出 n 位小数;对字符串,表示截取的字符个数。- 输出的数字或字符在域内向左靠,即位数不足时右补空格。说明:在输出时,对不同类型的数据要使用不同的格式字符。常用的有以下几种:(1)d 格式符。用来输出十进制整数。 %d。按十进制整型数据的实际长度输出。 %md。M 为指定的输出字段宽度。如果数据的位数小于m,则左端补以空格,若大于 m,则按实际位数输出。例如:printf(%4d,%4d,a,b);若 a=123,b=12345,则输出结果为_123,12345 %ld。输出长整型数据,例如l

4、ong a=135790;printf(%ld,a);如果用%d 输出,就会发生错误,因为整型数据的取值范围为-3276832767。对于 long 型数据应当用%ld 格式输出。对长整型数据也可以指定字段宽度,如将上面printf 函数中的“%ld”改为“%8ld” ,则输出为_ _ 135790一个 int 型数据可以用%d 或%ld 格式输出。(2)o 格式符。以八进制整数形式输出。由于是将内存单元中的各位的值(0/1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。例如:int a=-1;printf(%d,%o,a,a);-1在内存单元中的存放形式

5、(以4个字节补码形式存放)如下:输出为-1,37777777777不会输出带负号的八进制整数。对长整型(long 型)可以用“%lo”格式输出。同样可以指定字段宽度,例如:printf(%13o,a);_ _ 37777777777(3)x 格式符。以十六进制数形式输出整数。同样不会出现负的十六进制数。例如:int a=-1;1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1printf(%x,%o,%d,a,a,a);输出结果为ffffffff,37777777777,-1同样可以用“%lx”输出长整型数,也可以指定

6、输出字段的宽度,例如“%12x” 。(4)u 格式符。用来输出 unsigned 型数据,即无符号数,以十进制整数形式输出。一个有符号整数(int 型)也可以用%u 格式输出;反之,一个 unsigned 型数据也可以用%d 格式输出。按相互赋值的规则处理。Unsigned 型数据也可以用%o 和%x 格式输出。(5)c 格式符。用来输出一个字符。例如:char c=a;printf(%c,c);输出字符a ,请注意:“%c”中的 c 是格式符,逗号右边的 c 是变量名,不要混淆。一个整数,只要它的值在0255范围内,也可以用“%c”使之按字符形式输出,在输出前,系统会将该整数作为ASCII

7、码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。例如:char c=a;int i=97;printf(%c,%dn,c,c);printf(%c,%dn,i,i);运行结果为:a,97a,97也可以指定输出字数宽度,例如:printf(%3c,c);(6)s 格式符,用来输出一个字符串,有几种用法: %s。例如:printf(%s,CHINA);输出字符串“CHINA” (不包括双引号) 。 %ms。输出的字符串占 m 列,如字符串本身长度大于m,则突破 m 的限制,将字符串全部输出,若串长小于 m,则左补空格。 %-ms。跟以上的区别就是右补空格。 %m.ns。输出的字符串占

8、m 列,只取字符串左端 n 个字符,不足位数,左补空格。 %-m.ns。跟以上的区别就是右补空格。(7)f 格式符。用来输出实数(包括单、双精度) ,以小数形式输出。有以下几种用法: %f,不指定字段宽度,由系统自动指定,整数部分全部输出,并输出6位小数。单精度实数的有效位数一般为7位(包括整数和小数位数) 。例如:float x,y;x=111111.111;y=222222.222;printf(%fn,x+y);输出结果为:333333.328125显然,只有前7位数字是有效数字,千万不要以为凡是计算机输出的数字都是准确的。双精度数也可以用%f 格式输出,它的有效位数一般为16位,给出小

9、数6位。 %m.nf,指定输出的数据共占 m 列,其中有 n 位小数。长度不够,左补空格。 %-m.nf,右补空格。(8)e 格式符。以指数形式输出实数。详细情况参阅谭浩强的C 语言程序设计 。(9)g 格式符。用来输出实数,它根据数值的大小,自动选择 f 格式或 e 格式。详细情况参阅谭浩强的C 语言程序设计 。(10)2. 一些特殊规定字符字符 作用n 换行f 清屏并换页r 回车t Tab 符xhh 表示一个 ASCII 码用16进表示,其中 hh 是1到2个16进制数C 程序中的第一条语句#include的含义是调用另一个文件 stdio.h, 这是一个头文件, 其中包括全部标准输入输出

10、库函数的数据类型定义和函数说明。C 编译器(Turbo C 或 VC+6.0)对每个库函数使用的变量及函数类型都已作了定义与说明, 放在相应头文件*.h中, 用户用到这些函数时必须要用#include或#include*. h 语句调用相应的头文件, 以供连接。若没有用此语句说明, 则连接时将会出现错误。但有些编译器已经将常用的头文件默认包含,可以将语句:#include省略,但是要根据编译器而定。二、scanf()函数scanf()函数是格式化输入函数, 它从标准输入设备(键盘) 读取输入的信息。其调用格式为:scanf(, );格式化字符串包括以下三类不同的字符;1. 格式化说明符: 格式

11、化说明符与 printf()函数中的格式说明符基本相同。2. 空白字符: 空白字符会使 scanf()函数在读操作中略去输入中的一个或多个空白字符。3. 非空白字符: 一个非空白字符会使 scanf()函数在读入时剔除掉与这个非空白字符相同的字符。地址表是需要读入的所有变量的地址, 而不是变量本身。这与 printf()函数完全不同, 要特别注意。各个变量的地址之间同,分开。例2:main() int i, j;printf(i, j=?n);scanf(%d, %d, &i, &j); 上例中的 scanf()函数先读一个整型数, 然后把接着输入的逗号剔除掉, 最后读入另一个整型数。如果,这一特定字符没有找到, scanf()函数就终止。若参数之间的分隔符为空格, 则参数之间必须输入一个或多个空格。说明:(1). 对于字符串数组或字符串指针变量, 由于数组名和指针变量名本身就是地址, 因此使用 scanf()函数时, 不需要在它们前面加上&操作符。例如mian()char *p, str20;scanf(%s, p); scanf(%s, str);printf(%sn, p); printf(%sn, str);

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

当前位置:首页 > 研究报告 > 综合/其它

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