胡图图想学c语言5之考点

这篇博客介绍了C语言中的自增减运算符,包括前置与后置的区别,以及在表达式中的使用。接着讲解了关系运算符和逻辑运算符的用法,特别是逻辑运算符的短路特性。最后讨论了sizeof运算符的应用,并提到了运算符的优先级规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##自增减运算符
++(自增1) --(自减1)
int x=0,y=0;
++x; y++; 语句运行之后x和y的结果都为1
x=0,y=0;
int m=0,n=0;
m = ++x; 相当于: x = x+1; m = x; 先自增运算,再计算表达式
n = y++; 相当于: n = y; y = y+1; 先计算表达式,然后再自增
#例:
int a = 10;
int b = a++ + ++a;
//b = 22 a = 12
a = 10;
a = a++ + ++a;// 23
##关系(比较)运算符
int a = 55;
if(0<a<2){// 0<a 结果是0或者1 0<2 1<2 恒为真
##逻辑运算符
短路特性:
当&&连接的多个表达式前面的结果为false时,后面的表达式不再执行
(false && 无论&&右边的结果是true还是false都不会影响表达式最终的结果)
当||连接的多个表达式前面的结果为true时,后面的表达式不再执行
false && expr expr不会计算
true || expr expr不会计算
a||b&&c ==> a||(b&&c)
a&&b||c ==> (a&&b)||c
#例:
int a = 0, b = 0, c = 0;
int res = a++>0 && b++ > 0 || ++c > 0;// (a++>0 && b++>0) || ++c>0;
//(a++>0 && b-0.000001~0.000001++>0) || ++c >0;
printf(“a = %d , b = %d , c = %d , res = %d\n”,a,b,c,res);
a = 0,b = 0, c = 0;
res = ++c > 0 || (++a > 0 && b++ > 0);// ++c>0 || ++a>0 && b++>0
printf(“a = %d , b = %d , c = %d , res = %d\n”,a,b,c,res);
##sizeof 内存宽度运算符
sizeof(‘a’) == 4 'a’其实认为是整数
sizeof© == 1 c是变量 变量的类型是char,char一定是一字节
sizeof(c+1) == 4
sizeof(++c) == 1
sizeof(c+b) == 4
sizeof(c=b+c) == 1
表达式在进行计算时数据会进行转换
char->int short->int
unsigned char --> unsigned int
sizeof(函数名) == 1
sizeof(函数名(参数)) == 函数声明返回值类型宽度 函数并不会调用
sizeof(指针) == 4/8
##运算符优先级:
! > 算术优先级 > 关系运算符 > && > || > 赋值运算符
~ > 算术 > 移位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值