c语言位运算_C语言自增减、逻辑运算、位运算、位移运算及三目运算操作
生活随笔
收集整理的這篇文章主要介紹了
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;}歡迎關注公眾號:順便編點程
總結
以上是生活随笔為你收集整理的c语言位运算_C语言自增减、逻辑运算、位运算、位移运算及三目运算操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c读取ini配置文件_Go-INI -
- 下一篇: c#如何通过ftp上传文件_定时上传文件