转载来自http://longxj.iteye.com/blog/570613
读写字符函数:
getchar():读取一个字符,送到屏幕,等待键入回车键才会返回结果
getche():读取一个字符,送到屏幕,不等待回车键,非标准c定义的
getch():读取一个字符,不送回屏幕,不等待回车键,非标准c定义的
putchar():向屏幕输出一个字符
读写字符串:
gets():读入一个字符串
puts():向屏幕写一个字符串
格式化输出:
格式化限定符:
%c 字符
%d 有符号十进制整数
%i 有符号十进制整数
%e 科学表示(小写e)
%E 科学表示(大写E)
%f 十进制浮点数
%g 用%e或%f中较短的一个
%G 用%E或%F中较短的一个
%o 无符号八进制数
%s 字符串
%u 无符号十进制整数
%x 无符号十六进制数(小写)
%X 无符号十六进制数(大写)
%p 显示一个指针
%n 将至今已写入的字符数放到指定的整数中去
%% 打印一个百分号
格式化限定符的修饰符:
域宽限定符:
%5d:最小宽度为5个字符
%05d:最小宽度为5个字符,不足用0进行填充
精度限定符:
对%f,%e,%E,表示要显示的小数位数
对%g或%G,表示有效位数
对字符串:%5.7s显示一个最小5个字符数但不超过7个字符数的字符串
对%d,表示显示的最小位数:%3.8d,1000 结果为0001000(不足用0进行填充)
对齐输出:
默认为右对齐
可以加负号表示左对齐:%-f
l和h修饰符:
对于d,i,o,u,x,l表示长整型,h表示短整型
L修饰符也可当作浮点限定符e,f,g的前缀,在这种情况下表示显示双精度数
*和#修饰符:
对g,G,f,E,e前面有#,就可以确保即使没有小数位也要显示小数点:%#x
对x或X,十六进制数将带0x显示
对o,八进制数将带数字0显示
*,使得域宽限定和精度限定可以动态提供:printf("%*.*f",10,4,100.234)
格式化输入:
很多都跟格式化输入一样,可以用输入的观点来看前面输出的描述
扫描集:
scanf("%[xyz]",str):只将是xyz字符的字符子串读入str中
scanf("%[^xyz],str):将不是xyz的字符字串读入str中
压缩输入:
scanf("%d%*c%d",&x,&y)
当输入10,11时,10和11被分别读入到变量中