欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程资源 > 编程问答 >内容正文

编程问答

c语言位运算-ag凯发k8国际

发布时间:2024/10/14 编程问答 27 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 c语言位运算_c语言自增减、逻辑运算、位运算、位移运算及三目运算操作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

你崩溃到凌晨,她和他睡到自然醒。。。

----  网页云热评

一、自增自减操作

#include int main() { int val = 0, val1 = 0; val; //前操作 printf("val是%d\n", val); val ; //后操作 printf("val是%d\n", val); val1 = val; //前自增表达式作为数字使用的时候是自增以后的数字 printf("val是%d,val1是%d\n", val, val1); val1 = val ; //后自增表达式作为数字使用的死后是自增以前的数字 printf("val是%d,val1是%d\n", val, val1); val val; //结果不确定,不要在一条语句里对同一个变量多次进行自增或自减计算 return 0;}运算结果:val是1val是2val是3,val1是3val是4,val1是3

二、逻辑操作符

int val = 0; printf("!8是%d\n", !8); printf("3 < 7 < 5是%d\n", 3 < 7 < 5); //先计算前面的 printf("3 < 7 && 7 < 5是%d\n", 3 < 7 && 7 < 5); 1 || val; //因为||具有短路特征,前面的1可以决定整个逻辑表达式的结果,所以没有进行后面的自增计算 printf("val是%d\n", val); 0 && val; //因为&&具有短路特征,前面的0可以决定整个逻辑表达式的结果,所以没有进行后面的自增计算 printf("val是%d\n", val); system("pause");运算结果:!8是03 < 7 < 5是13 < 7 && 7 < 5是0val是0val是0

三、位运算

#include int main() { printf("3 & 5是%d\n", 3 & 5);//0与任何数与运算都是0 printf("3 | 5是%d\n", 3 | 5);//1与任何数或运算都是1 printf("3 ^ 5是%d\n", 3 ^ 5);//异或运算,相同为0,不同为1 return 0;}运行结果:3 & 5是13 | 5是73 ^ 5是6//变量内容交换#include int main() { int val = 3, val1 = 7, tmp = 0; /*tmp = val; val = val1; val1 = tmp;*/ val ^= val1; val1 ^= val; val ^= val1; printf("val是%d, val1是%d\n", val, val1); return 0;}运算结果:val是7, val1是3

四、位移操作

#include int main() { printf("10 << 2是%d\n", 10 << 2); //左移2位相当于乘4 printf("10 >> 2是%d\n", 10 >> 2);//右移2位相当于除4取整 return 0;}运行结果:10 << 2是4010 >> 2是2

五、三目运算

#include int main() { int val = 0; printf("请输入一个数字:"); scanf("%d", &val); val = val >= 0 ? val : 0 - val;//val>=0为条件,如果真,返回val,若果假,返回0-val //val >= 0 ? val = val : val = 0 - val; 不要在问号后使用赋值操作符 printf("绝对值是%d\n", val); return 0;}

欢迎关注公众号:顺便编点程

总结

以上是ag凯发k8国际为你收集整理的c语言位运算_c语言自增减、逻辑运算、位运算、位移运算及三目运算操作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图