2011年(24)
分类: C/C++
2011-04-05 22:12:43
前面已经写过sizeof()是以字节位单位返回其操作数的大小奥的
C规定,sizeof()返回的是size_t类型的值
对于取模来说,%的两边必须是整数
不要太聪明于在一句语句中使用过多的运算符,要不然连你字节都会被那些运算符的优先级搞晕的
C语言中的类型转换
基本的规则如下
一,当出现在表达式中,有符号和无符号的char和short类型都将自动被转为int,在需要的情况下将自动转换成unsigned int。
二,在包含两种数据类型的任何运算符里,两个值都将被转换成两种类型里较高的级别。
三,类型级别从高到低的位long double ,double,float,unsigned long long,long long ,unsignedlong ,long,unsigned int 和int.
四,在赋值语句里,计算的最后结果被转换成将要被赋予值得那个变量的类型。
五,当作为函数的参数被传递时候,char和short会被转换成int 而float会被转换成double
指派运算符 -- 指派运算符的形式如下:(type) 例如: mice = 1.5+1.7 mice = (int )1.6 + (int)1.7
C99 _bool值,只可以具有1和0,如果把一个_bool变量付给一个非零的数值,变量就回被设置为1,这说明C把任何非零的值都当做真
总结新运算符
+= 把右边的值加到左边的变量上
- 从左边的变量中减去右边的值
*= 把左边的变量乘以右边的值
/= 把左边的变量除以右边的值
%= 给出左边的变量除以右边的值之后的余数
面向字符I/O而设计的一对C函数getchar() ,putchar();他们只对字符起作用,
如果程序中需要将所有的字母进行转换,而其他非字母的全部留下 那么现在C提供了一个非常好的函数 ctye.h 此头文件包含了这些函数的原型,这些函数接受一个字符作为参数,如果该字符属于某个特定的种类则返回非零值,否则返回零。
NOTICE: 不要写成这样的代码 if(x < a < y) 应该写成 if(x< a && a < y)