printf 常用格式输出符
2011-03-04 20:24
253 查看
%d 按照十进制整形数据实际长度输出
%md m为制定的输出字段的宽度,如果数据的位数小于m,则左端补以空格
%ld 输出长整形,长整形如果按照整形输出的话就会出错
%o 以八进制整数形式输出,输出的数值不带符号,将内存中的各位值按照八进制形式输出
%x 以十六进制的形式输出整数,同样不会出现负数,大写x以大写字母输出
%u 用来输出unsigned类型数据,即无符号数,以十进制整数形式输出,有符号int类型可以用%u输出,同样一个 unsigned 类型数据也可以用%o或者%x来输出
%c 用来输出一个字符,一个整数,只要其值在0~255之间,就可以用%c按照字符形式输出,反之,一个字符数据也可以 用整数形式输出
%s 用来输出字符串
%ms 输出的字符串占m列,如果字符串本身长度大于m,则将字符串全部输出,若串小于m,则左补空格
%-ms 如果串长小于m,则在m列范围内,字符串向左靠,右补空格
%m.ns 输出占m列,但是只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格
%-m.ns 其中m n含义同上,n个字符输出在m列范围的左侧,右补空格
%.n 即只指定了n,没有指定m,自动使m=n
%f 整数部分全部输出并输出6位小数,单精度实数即float类型有效位一般为7位,双精度有效位一般为16位,给出小数6位
%m.nf 输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格
%e 以指数形式输出实数,小数位数为6,指数部分占5位(如e+002),大写e就用大写E来输出
%m.ne和%-m.ne 同- 含义与前相同,n指输出数据小数部分位数
%g 用来输出实数,根据数值大小,自动选f格式或者e格式,且不输出无意义的零
scanf函数
1,可以指定输入数据所占的列数,系统自动按其截取所需数据
例如: scanf("%3d%3d",&a,&b); 输入123456后,系统自动将123给变量a,456给变量b ,
2,如果在%后加上一个*附加说明符号,表示跳过它指定的列数,即不会将其赋值给任何变量,例如
scanf("%2d%*3d%2d",&a,&b); 1234567,那么就是将12给a,345跳过不赋值给任何变量,然后67给b
3,输入数据时不能规定精度,例如scanf("%7.2f",&a);是不合法的
4,如果在格式控制字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应当输入与这些字符相同的字符,例如:
scanf("%d,%d",&a,&b);输入时就应当3,4即需要注意逗号的使用
5,在使用%c格式输入字符时,空格字符和转义字符都作为有效字符输入
%md m为制定的输出字段的宽度,如果数据的位数小于m,则左端补以空格
%ld 输出长整形,长整形如果按照整形输出的话就会出错
%o 以八进制整数形式输出,输出的数值不带符号,将内存中的各位值按照八进制形式输出
%x 以十六进制的形式输出整数,同样不会出现负数,大写x以大写字母输出
%u 用来输出unsigned类型数据,即无符号数,以十进制整数形式输出,有符号int类型可以用%u输出,同样一个 unsigned 类型数据也可以用%o或者%x来输出
%c 用来输出一个字符,一个整数,只要其值在0~255之间,就可以用%c按照字符形式输出,反之,一个字符数据也可以 用整数形式输出
%s 用来输出字符串
%ms 输出的字符串占m列,如果字符串本身长度大于m,则将字符串全部输出,若串小于m,则左补空格
%-ms 如果串长小于m,则在m列范围内,字符串向左靠,右补空格
%m.ns 输出占m列,但是只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格
%-m.ns 其中m n含义同上,n个字符输出在m列范围的左侧,右补空格
%.n 即只指定了n,没有指定m,自动使m=n
%f 整数部分全部输出并输出6位小数,单精度实数即float类型有效位一般为7位,双精度有效位一般为16位,给出小数6位
%m.nf 输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格
%e 以指数形式输出实数,小数位数为6,指数部分占5位(如e+002),大写e就用大写E来输出
%m.ne和%-m.ne 同- 含义与前相同,n指输出数据小数部分位数
%g 用来输出实数,根据数值大小,自动选f格式或者e格式,且不输出无意义的零
scanf函数
1,可以指定输入数据所占的列数,系统自动按其截取所需数据
例如: scanf("%3d%3d",&a,&b); 输入123456后,系统自动将123给变量a,456给变量b ,
2,如果在%后加上一个*附加说明符号,表示跳过它指定的列数,即不会将其赋值给任何变量,例如
scanf("%2d%*3d%2d",&a,&b); 1234567,那么就是将12给a,345跳过不赋值给任何变量,然后67给b
3,输入数据时不能规定精度,例如scanf("%7.2f",&a);是不合法的
4,如果在格式控制字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应当输入与这些字符相同的字符,例如:
scanf("%d,%d",&a,&b);输入时就应当3,4即需要注意逗号的使用
5,在使用%c格式输入字符时,空格字符和转义字符都作为有效字符输入
相关文章推荐
- 常用输出格式
- cout输出格式不常用情况
- printf 格式输出
- printf输出格式
- C/C++中printf和C++中cout的输出格式
- shell 控制输出格式 echo printf
- printf——动态指定输出格式长度
- printf常用格式
- c语言 printf()输出格式控制
- 格式转换说明符scanf,printf格式%大全/格式化输入输出
- printf输出格式总结
- printf输出格式
- printf()输出格式
- c语言 printf()输出格式控制
- 使用printf输出各种格式的字符串
- printf()输出格式
- C语言格式输出函数printf()详解
- cout输出格式不常用情况
- printf输出格式特殊用法
- string.Format 日期常用格式输出