c语言位运算-ag凯发k8国际
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语言自增减、逻辑运算、位运算、位移运算及三目运算操作的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: c#如何通过ftp上传文件_定时上传文件