摘要:
位操作把指定的位设置为1value=value | 10)的结果取决于先计算x+y还是y+1,因为如果x+y的结果大于整型所能容纳的值,它就会产生溢出,在两种情况下溢出的地点不同。int的精度比float高,float型值仅要求6位数字的精度左值和右值左值意味着一个位置,右值意味着一个值,b + 25 =a;b+25并不能做左值,因为它并未标志一个特定的位置,因此这条赋值语句是非法的。左值是内在位置,右值是某位置内的值移位操作左移操作:值最左边的位被丢弃,右边多出来的位由0补齐。右移操作分逻辑移位和算术移位,逻辑移位左边移入的位用0填充,算术移位左边移入的位由原先该值的符号位决定,符号位为1则 阅读全文
摘要:
字符串常量:C语言中不存在字符串类型,但是C语言提供了字符串常量,字符串通常存储在字符数组中,并以NULL为结束字符。如果对一个字符串常量进行修改,其结果是未定义的,若想修改字符串,可以将它存储在数组中。在程序中使用字符串常量会生成一个指向字符串的常量指针。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。因此,可以将字符串常量赋值给一个指向字符的指针,但是不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针。singed关键字:signed关键字一般只用于char类型,因为其他类型在缺省情况下都是有符号的,至于char是否为s 阅读全文
摘要:
浮点数家族包括float,double和long double类型。浮点数字面值在缺少情况下都是double类型,除非它后面跟一个L或者l表示它是一个long double类型的值,跟一个F或者f表示它是一个float类型。对于IBM-PC而言,单精度浮点数是32位的,双精度浮点数是64位的。一个浮点数a由两个数m和e来表示:a = m × b^e。m(尾数),如果m的第一位是非0整数,称作规格化的。在计算机中一个浮点数的表示结构如下:1.含小树的浮点数表示为二进制假设要转换的数位123.456f:首先将整数部分转化为二进制:1111011然后将小数部分转化为二进制,可以通过乘以2的 阅读全文