以0开头为八进制
如0101表示十进制数65
以0X或0x开头为十六进制
如0x101表示十进制数257

简单的验证:

#include<stdio.h>
int main(){
printf(“%d”,0101);
return 0;
}

输出结果是65

在printf中

%d表示以十进制格式输出
%o表示以八进制格式输出
注意%D和%O编译器不一定认识,尽量不要使用
%x表示以十六进制格式输出(以小写字母)
%X表示以十六进制格式输出(以大写字母)
输出时不含前缀0和0X

在scanf中

%d表示以十进制格式输入
%o表示以八进制格式输入
%x或者%X表示以十六进制格式输入(输入可以不分大小写)

字符常量可用一个数表示,它可以是十进制,八进制,十六进制
如字符A有以下表示:

65
0101
0x41
‘A’
‘\101’ // ‘\ddd’为1~3位八进制数所表示的字符,’\71’就表示字符’9’
‘\x41’ // ‘\xdd’为1~2位十六进制数所表示的字符