数据类型:关于数据类型各个类型对应不同的标识符:列如
在这里我们可能会遇到%0.1f的标识符,这表示省略到小数点后一位,列如:5.57变为5.6,其遵循四舍五入原则。
家学习了这么就的C语言可能还有同学不太理解C语言中各种数据(如int ;short;long;float;char等 )的字节吧,那么我们可以用一段代码来表示出来:
#includevoid main() { int a; printf("sizeof(char):%dn", sizeof(char)); printf("sizeof(short int):%dn", sizeof(short int)); printf("sizeof(int):%d,sizeof(a):%dn", sizeof(int), sizeof(a)); printf("sizeof(unsigned int):%dn", sizeof(unsigned int)); printf("sizeof(long int):%dn", sizeof(long int)); printf("sizeof(double):%dn", sizeof(double)); printf("sizeof(long double):%dn", sizeof(long double)); } //源代码来自书籍《C语言程序设计》;
其中sizeof()函数是用于计算所占字节空间大小,则得出结果为:
但是由于每个调试器不同也会使字节不同,标准的字节还需要自行 *** 纵;
主要字节的个数:
在不同的编译器中可能会有偏差。
简单介绍一下~(按位取反),&(按位与),|(按位或),^(按位异或),<<(按位左移),>>(按位右移):
~x:按位取反,a=~x,a=-(x+1);
5&6:按位与 八位二进制5:0000 0101
6:0000 0110(只有上下都为真才为真)
5&6: 0000 0100=4
5|6:按位或 八位二进制5:0000 0101
6:0000 0110(上下有存在真则为真)
5|6: 0000 0111=7
5^6:按位异或 八位二进制5:0000 0101
6:0000 0110(上下不同为真)
5|6: 0000 0011=3
a==89,a<<2按位左移2位八位二进制89:0101 1001
a<<2:(01)0110 0100=356;
按位右移a>>2:0001 0110(01)=22;
表达式的运算:对于
表达式1?表达式2:表达式3的解析: 如果表达式1为真则返回表达式2的值如果表达式为假则返回表达式3的值。列如a>b?a:b>c?b:c就等价于a>b?a:(b>c?b:c).
对于逗号的运算实例:
#includevoid main() { int a, b, c, d; b = (a = 2, a * 3, a + 4); printf("%dt%dn", a, b); c = (a = 3, b = a + 2, b++); printf(" % dt % dt % dn", a, b, c); d = (a + 6, a - 1, a /= 2, a * 4); printf(" % dt % dn", a, d); }
输出结果为:
最后使运算符的优先级和结合性:
以上是本次介绍的全部内容供大家参考。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)