C语言输入输出函数格式详解

上传人:鲁** 文档编号:471078113 上传时间:2023-08-09 格式:DOCX 页数:8 大小:209.60KB
返回 下载 相关 举报
C语言输入输出函数格式详解_第1页
第1页 / 共8页
C语言输入输出函数格式详解_第2页
第2页 / 共8页
C语言输入输出函数格式详解_第3页
第3页 / 共8页
C语言输入输出函数格式详解_第4页
第4页 / 共8页
C语言输入输出函数格式详解_第5页
第5页 / 共8页
点击查看更多>>
资源描述

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

1、1、输入和输出:输入:输入也叫读,数据由内核流向用户程序输出:输出也称写、打印,数据由用户程序流向内核以下介绍一些输入输出函数,尽管都是一些有缺陷的函数,但比较适合初学者使用2、printf用法(其缺陷在于带缓存)printf输出时必须加上n(刷新缓存)解释:第一幅图没有加n,不会刷新缓存区,则不会打印出来;第二幅图是因为主函数结束时刷新了缓存区,但由于没有换行符,所以没有换行便显示了后面的内容;第三幅图时正常打印。变量定义的是什么类型,在printf打印时就需要选择什么格式符,否则会造成数据的精度丢失(隐式强转),甚至会出现错误修饰符功能m输出数据域宽,数据长度m,则自动取n值,即保证n个字

2、符正常输出。 G、f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法: %f:不指定宽度,整数部分全部输出并输出6位小数。 %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。 对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位 对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位 H、e格式:以指数形式输出实数。可用以下形式: %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。 %m.ne和%-m.ne:m、n和-字符含义与前相同。此处n指数

3、据的数字部分的小数位数,m表示整个输出数据所占的宽度。 I、g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。 (4)h和l前缀及u %hd -short int %ld -long int %lld -long long int %lu -unsigned long %llu -unsigned long long %ho-八进制显示short整数 %lx-十六进制显示long整数 %le -以科学计数法表示long double(5)特殊说明 A、需要打印%时,必须之前还要加上一个% printf(%f%, 1.0/3);输出0.333333% B、*的用法 a、print

4、f(%*dn,8,100);结果:(前面空五格)100 b、int m = 8;printf(%*dn,m,100);结果:(前面空五格)100 c、char ch20;printf(%*.*sn,m,n,ch);说明:前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。 C、%n的用法:可以将所输出字符串的长度值赋给一个变量 int slen;printf(hello world%n, &slen);执行后变量slen被赋值为113、scanf函数(主要缺陷就是在缓冲区制造垃圾字符,不建议太过复杂

5、的用法)(1)结束条件 A、空格、TAB或回车 B、宽度结束 C、非法输入(比如程序里scanf中是%d的形式,结果输入的时候输入一个浮点类型的数)(2)格式说明符(3)scanf函数返回正确读取的元素的个数 int a,b,c; scanf(%d%d%d,&a,&b,&c);/不能忘了写取地址符 正确输入时其返回值为3(4)输入的格式要与程序里的格式保持一致 int a,b,c; scanf(%d,%d,%d,&a,&b,&c); 输入的时候要输入2,3,4才是正确的(5)抑制符* 这里跟printf中不同,他表示指定输入项读入后不赋给变量 int a,b; scanf(%3d%*4d%f,&a,&b); printf(a = %d,b = %fn,a,b); 则:输入1234567890,输出为:a = 123,b = 890.000000(6)垃圾字符(详见4getchar中的解释)4、字符输入输出getchar和putcha

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

当前位置:首页 > 高等教育 > 其它相关文档

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