从细节角度出发看待C语言的,数据类型,运算符。

从细节角度出发看待C语言的,数据类型,运算符。,第1张

从细节角度出发看待C语言的,数据类型,运算符。

数据类型:关于数据类型各个类型对应不同的标识符:列如

int%dchar%cdouble/float/long%f

在这里我们可能会遇到%0.1f的标识符,这表示省略到小数点后一位,列如:5.57变为5.6,其遵循四舍五入原则。

家学习了这么就的C语言可能还有同学不太理解C语言中各种数据(如int ;short;long;float;char等 )的字节吧,那么我们可以用一段代码来表示出来:

#include
void 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()函数是用于计算所占字节空间大小,则得出结果为:

但是由于每个调试器不同也会使字节不同,标准的字节还需要自行 *** 纵;


主要字节的个数:

C类型3264char11shoet int22int 44long int44long long int88char*48float44double88

在不同的编译器中可能会有偏差。


简单介绍一下~(按位取反),&(按位与),|(按位或),^(按位异或),<<(按位左移),>>(按位右移):

~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).


对于逗号的运算实例:

#include
void 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);
}


输出结果为:


最后使运算符的优先级和结合性:

 以上是本次介绍的全部内容供大家参考。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5698283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存