输入即input,输出即output,输入输出即i/o。标准i/o数据库的一些公用信息被集中放在头文件stdio.h中
printf()中的f代表单词format就是格式化的意思,所谓的格式化就是与献给程序员定义一批显示格式。
格式控制字符
格式说明信息,格式说明信息由%和格式字符组成,在格式控制字符中,凡是遇到%。说明开始了一个格式控制,函数就会读入%后面的格式控制字符,记住控制的内容。输入的时候,将数据转换成指定的格式输出
非格式化说明信息,即普通字符。普通字符就是不用%引导的字符。
eg:如果要显示一个%z可以%%,%%表示不再是一个格式控制因到付,二十一个真正的%符号
转换说明符 | 转换说明符意义 |
---|---|
d | 以十进制形式输出带符号整数(正数不输出符号) |
e | 一直属性是输出单双精度实数,默认6位小数 |
f | 以小数形式输出单双精度实数,默认6位小数 |
g | 以%f,%e中较短的输出宽度输出单双精度实数,如果指数小于-4或但与等于精度。但使用E/e格式否则用f格式,末尾多余的0省略 |
i | 以十进制形式输出带符号整数(正数不输出符号) |
o | 以八进制形式输出无符号整数 |
s | 输出字符串,参数为char指针,显示空符号之前的所有字符或者指定数目的数字,不显示末尾的空字符 |
c | 输入单个字符,参数为该字符的ASCii码 |
u | 以十进制形式输出无符号整数 |
x | 以十六进制形式输出无符号整数 |
%d是用的最多的格式符,表示以十进制形式输出带符号整数,正数不输出符号
在d前可以添加数字,表示输出的最小宽度。比如%5d表示显示一个整数,最小占5哥字符的宽度。如果这个数只有3位,则在前面用空格填充。如果这个位数大于5就按照实际位数输出
长整型输出%ld
%ld表示长整型方式输出。
%*md表示读入宽度m位数据后忽略丢弃
输出八进制形式 %o
输出十六进制形式 %x
输出十进制的unsigned型数据
输出字符%c
输出字符串%s
%ms :m是一个整数,这个表明这个这个字符串的最小宽度,如果字符串本身宽度不足指定的最小宽度,则前面用空格补齐。%-ms:格式表示左对齐
%m.ns:m还是指定最小宽度,而n是显示的时候,只显示字符串中前n个字符
%-m.ns:同样是指左对齐,如果现实的字符串宽度小于指定的最小宽度,则在右边补空格
输出实型数据%f
%f格式符用来输出实型数据,包括单精度和双精度,以小数形式输出。计算机中单精度实数的有效位一般为7位,包括整数和小数部分。也就是说,一个单精度实型数据有8位,则其个位数是不准确的,更别说小数位了。
双精度实型数据的有效位是16位,且输出6位小数位
%m.nf 不多说
%-m.nf 不多说
%e 不指定输出来的数据在屏幕中所含的字符个数宽度,也不指定数字部分和小数部分位数,由系统自动指定
%m.ne %-m.ne
自动选择%f或者%e形式输出%g
%g格式用来输出实数。%g跟俊实数的大小,自动选择%F格式或者%e格式,选择标准为输出时占用宽度较小的一种,且不输出没有意义0
字符输出putchar()和字符串输出puts()
putchar ()函数是字符输出函数,其功能是使在显示器上打印单个字符。
字符数据可以是一个字符型变量
字符数据也可以是一个字符变量
字符数据可以是一个整数,整数可以是十进制整数
字符数据可以是一个表达式,只要结果是255以内的整数即可
字符数据可以是转义字符
puts()函数功能比较单一或者说是非常单一,就是在显示屏上输出一个字符串并换行
字符输入函数getchar()
getchar()函数是得到字符输入函数,其功能是得到用户输入的一个字符。getchar()函数是一个标准的C语言库函数。