C/C++基础知识拾遗(一)
格式字符
在printf()中用于指定输出的数据类型和格式
- d格式符:用来输出十进制整数,有以下几种用法:
1、%d,按整型数据的实际长度输出。
2、%md,m为指定的输出字段的宽度。
eg:%2d——输出两位整数,不足补空格,右对齐;如果输出的内容位数超过%d前面的数字会将内容全部输出,%d前面的数字相当于无效
3、%ld,输出长整型数据。
- o格式符: 以八进制整型式输出整数。
例:
int n=0256;
printf("%o",n);
八进制以0开头,因此0256是八进制数,以八进制输出时无需进制转换,直接输出256(并不会把前面的0输出!)。
- x格式符: 以十六进制数形式输出整数。
- u格式符: 用来输出unsigned型数据,即无符号数,以十进制形式输出。
- c格式符: 用来输出一个字符。
- s格式符: 用来输出一个字符串。
- f格式符: 用来输出实数(包括单双精度),以小数形式输出。
- e格式符: 以指数形式输出实数。
- g格式符: 用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出是占宽度较小的一种),且不输出无意义的零。
- p格式符: 用于变量地址的输出。
- %[scanfset]:
scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束;另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。