c语言以二进制输出
C语言中,控制printf函数输出格式的是格式字符,printf没有直接打出2进制数的格式符,直接打出16进制的格式符是x格式符,即%x。
printf函数中输出的格式为printf("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格式字符组成,如%d、%f等。它的作用是将输出的数据类型转换为指定的格式然后输出。普通字符是需要在输出时原样输出的字符。C语言中,输出格式有哪些,解释下
格式控制符:
%---格式说明引导符。
----指定左对齐输出。
0---指定空位填零。
m.n---指定输出域宽度及精度。
l.h---输出长度的修正。
格式字符:
%i---输出一个整型数;
%d---输出一个整型数;
%f---输出一个浮点数;
%e---输出一个浮点数,科学计数法;
%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数;
%c---输出一个字符;
%o---输出一个八进制的整型数,前面不带0;
%#o---输出一个八进制的整型数,前面带0;
%x---输出一个十六进制的整型数,前面不带0x;
%#x---输出一个十六进制的整型数,前面带0x,如果x大写,则显示的时候也是大写。
%u---不带符号的十进制整数。
%%---输出一个%.
转义字符:
\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL),什么都不做
printf的格式控制的完整格式:
%-0m.nl或h格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
问:printf如果是想输出一个字母应该用什么格式,还有c,s的区别是什么
%d 输出整型格式,也就是10进制数 %c 输出字符格,也就是单个字母或者符号什么的 %f 输出浮点数,也就是带有四位小数位的数,比如10.0000 %ld 输出长整型格式,差不多和10进制一样,只是它可以输出很大的数 %u 输出无符号数,这个基本输出和%d差不多 %s 输出字符串,一般都是输出一个char数组的所以字符 %lf 输出长浮点数,也就是所谓的双精度浮点数,double类型,可以输出很大的带小数位的数 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%G) 浮点数不显无意义的零"0" %i 有符号十进制整数(与%d相同) %u 无符号十进制整数 %o 八进制整数 e.g. 0123 %x(%X) 十六进制整数0f(0F) e.g. 0x1234 %p 指针 %s 字符串 %% "%"