您的位置:首页 > 其它

对输入输出函数的一些理解

2018-03-27 21:43 337 查看
一、
getch()和putch()的作用与getchar()和putchar()相似,但也有不同之处。
(1)getch()不显示键盘输入的字符。
(2)getchar()输入字符时,要按enter键,计算机才会响应。而用getch()时,输入字符不需要回车。
puts(str):将字符数组str中包含的字符串或str所代表的字符串输出,同时将’\0’转换成换行符。因此,用puts()输出一行时,不必另加换行符’]n’,这一点与printf()的“%s“格式不同,后者不会自动换行。printf()可以同时输出多个字符串,puts()一次只可以输出一个字符串。
gets():输入字符串,gets(str)从键盘读入一个字符串到str中,并自动在末尾加字符串结束标志符’\0’。输入字符串时以回车结束输入,这种方式可以读入含空格符的字符串。
scanf(“%s“,s):输入字符串到数组s中。其中“%s”是字符串格式符,在使用scanf()输入字符串时,输入项直接用数组名s,而不需要加取地址符&,因为s就代表了该字符数组的起始地址。空格是输入结束符,因此无法将包含有空格的字符串输入到字符数组中。
二、.printf格式字符:
d(或i) 以带符号的十进制形式输出整数(正数不输出正号(+)),数据长度为实际长度
o        以八进制无符号形式输出整数(不输出前导符数字0)。即将内存单元中的各二进制位的值按八进制的形式输出(八进制形式输出的整数是不需要考虑符号的)(先将要输出数字的补码转化为八进制数输出)
x(或X) 以十六进制无符号形式输出整数(不输出前导符0x),即将内存单元中的各二进制位的值按十六进制的形式输出(十六进制形式输出的整数是不需要考虑符号的)(先将要输出数字的补码转化为十六进制数输出)
u        以无符号十进制形式输出整数
c        输出一个字符(%mc:以字符形式输出一个字符,m指定输出的宽度,左端补空格。)
s        输出字符串((1)%ms表示当字符串长度大于指定的输出宽度m时,按字符串的实际长度输出;当字符串长度小于指定的输出宽度m时,则在左端补空格。(2)%-ms:表示当字符串长度大于指定的输出宽度m时,按字符串的实际长度输出;当字符串长度小于指定的输出宽度m时,则在右端补空格。(3)%m.ns表示输出字符串占m个字符位置,但zhi输出字符串中开头的n个字符,且字符串靠右齐。)
f        以小数形式输出单、双精度数,整数部分全部输出,隐含输出6位小数((1)%m.nf:表示输出实数共占m个字符位置,其中n位小数,多余位左端补空格,若实际字符数超过规定的宽度,则整数部分按实际输出,小数仍只有n位。)
e(或E) 以指数形式输出单、双精度数,尾数部分小数位数为6位(以指数形式按标准宽度输出十进制实数。标准输出宽度共占13位,分别为;尾数的整数部分为非0数字占1位,小数点1位,小数占6位,e占1位,指数正(负)号占1位,指数占3位(格式字符%m.ne:控制输出实数至少占m位,n为尾数部分的小数位数。不足则在左端补空格,多出则按实际输出。)
g(或G) 由给定的值和精度自动选用%f或%c或%E格式
%        输出百分号(%),
注意格式字符均为英文字母
三.格式输入函数scanf:
(1)输入数据分隔处理,输入时,数据之间需要用分隔符(scanf函数指定输入数据所占的宽度时,将自动按指定宽度来截取数据)eg:scanf(“%2d%3d”,&a,&b),若输入1223100,则2存入地址&a,截取231存入地址&b中。
(2)用scanf函数输入实数,格式说明符为“%f”,但不允许规定精度。
(3)如果输入时类型不匹配,sanf函数将停止处理,其返回值为0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: