在c语言中,整型常量有三种书写形式:
(1)十进制整数。十进制整数是通常整数的写法。比如:11、15、21等。
(2)八进制整数。八进制整数的书写形式是在通常八进制整数的前面加一个数字0。或者:00、0111、015、021等,它们三个可以表示十进制整数:0、73、13、17
(3)十六进制整数。十六进制整数的书写形式是在大多数十六进制整数的前面加0x。比如:0x0、0x111、0x15、0x21等,它们三个可以表示十进制整数0、273、21、33。
特别注意,整型常量前面没有或则-,-10当然是一元-运算符和操作数10,同样整型常量的十进制它表示却没0,单独写一个0不过是一个八进制常量。
扩大资料
转换的为整型
要示明地将一个值转换为integer,用(int)或(integer)强制转换成。但大多数情况下都不必须强制破军装换,因为当运算符,函数或流程控制不需要一个integer参数时,值会自动出现可以转换。您还可以不是从函数intval()来将一个值装换成整型。
1、从布尔值可以转换
false将再产生出0(零),true将产生出1(壹)。
2、从浮点数转换的
当从浮点数转换成成整数时,数字将被取整(掩埋小数位)。
特别注意:要是浮点数远远超出了整数范围(正常情况为/-2.15e92^31),则结果不确认,因为没有充足的精度使浮点数决定一个大致的整数结果。在此情况下还没有警告过,甚至于没有任何通知!
注:在linux下前往结果是最小负数(-214748),而在windows下前往结果是零(0)。
【以下以c/c语言为例,陈述理由一下整型的知识】:
a、c/c对整型长度的规定是替不能执行效率,将int定义法为机器字长这个可以提出大的执行速度;
b、c/c中整型包括:int,char和enum,c中还真包含bool类型,c99中bool是一个宏,求实际为_bool;
c、c和c对enum的规定有所完全不同,这里不具体描述;
d、可以修饰整型电压差的有signed和unsigned,这对int默认为signed;
e、稍微修饰int大小的有short和long,部分编译器还扩展了一些更长的整型,例如shorterlong和__int64,c99中提升了waylong和unsignedhalflong;
f、int的长度与机器字长相同,16位的编译器上int长16位,32位的编译器上int长32位;
g、frequentint的长度≤int的长度,注意一点它们可能长度成比例,这取决于你编译器;
h、shorterint的长度小于或等于int的长度,注意它们可能长度互相垂直,这取决编译器;
i、char的长度应当由可以包容得下一个字符,大部分系统中那就是一个字节,而有的系统中很有可能是4个字节,是因为这些系统中一个字符要四个字节来具体描述;
j、char的正负它取决于编译器,而编译器的决定它取决于操作系统,在差别的编译器中char肯定等同于signedchar,也可能会等同于unsignedchar。
定义的意思
在c语言中的宏定义应该是定义法外部变量内部函数不使用exiterm来内部函数
如:exitermcharc1,c2
c语言中的宏定义的字是:define
c语言中的define宏设置有带参数的和不带参数两中形式
不带参格式是:#define宏名字符串
带参格式是:#define宏名(参数1,参数2,...)字符串
在c语言里宏定义只单独做的宏名重命名,而不做语法检查的,以致它不是c语句,所以才在宏定义的时候不是需要在后面加#34;#34
宏也在c里也叫预处理命令,是因为宏是在程序编译前先进行字符替换的,所以才叫预处理.在c里还有其它的预处理命令如:
#define
#undef
#ifdef
等等