2、C语言源程序后缀为.c ,在windows平台上,编译后的后缀为.obj,连接后的后缀为.exe。在linux平台上,预处理后的文件扩展名一般为.i,C语言编译器编译后的文件扩展名一般为.S,是一个汇编代码文件,汇编器编译后的文件扩展一般为.o,链接器生成的可执行文件默认为.out。

一个很简单的例子就能体现:
两个printf都是输出“二进制编码”:01000001(前缀0b用于说明后面的数字是二进制而非十进制)
然而输出结果却是:
因为%c的含义就是:将对应数字视为一个字符然后输出。所以第一个printf输出了01000001对应的字符A。
而%d的含义则是:将对应数字以十进制整数形式输出。所以第二个printf输出了01000001的十进制形式65。
我觉得这个例子已经可以很好的说明:
同样的数据,以不同的形式解读,就可以有不同的含义。
这个道理不仅仅适用于编程。
有,0BXXXXXXXX,代表二进制,C语言中也可以用二进制。但造成程序可读性不强(如果是配置寄存器,个人感觉比十六进制可读性强,可读性最好的是例如:PORTA&=~(1<<5);将PA.5置零,PORTA|=(1<<5);pa.5=1)
c语言中,计算机以不同的前缀表示计算机采用哪种进制的数显示数值。
0表示8进制数的前缀。
0x和0X都表示16进制数的前缀。
比如十进制数16使用8进制数表示是020。(2乘以8的1次方)。
十进制数16使用16进制数表示是0x10。(1乘以16的1次方)。
在程序中,8进制数的转换说明是%#o, 16进制数的转换说明是%#x或者%#X。
c语言中,计算机以不同的前缀表示计算机采用哪种进制的数显示数值。
0表示8进制数的前缀。
0x和0X都表示16进制数的前缀。
比如十进制数16使用8进制数表示是020。(2乘以8的1次方)。
十进制数16使用16进制数表示是0x10。(1乘以16的1次方)。
在程序中,8进制数的转换说明是%#o, 16进制数的转换说明是%#x或者%#X。