關於c語言中各符號的意義,以及優先順序。
<1> ? x:y 類似於if語句,例如: x>9?50:100; 意思是x是否大於9 ,是的話就輸出50,不是的話就輸出100;
<2>字母與數字比較大小,實際比較ASCII碼值大小,字母都大於數字。
<3>c語言中,!的作用是邏輯非,例如:!a 凡是a不等於0,那麼輸出都是0,只有當a等於0時,輸出的才是0; !=意思是不等於,一般應用與判斷 if(a!=b);
<4>c語言中,&&表示邏輯且(交集) ,||表示邏輯或(並集); 實際上兩者也是用來輸出正確與錯誤,也就是輸出0或1,判斷的意思。
程式碼演示:
#include<stdio.h>
int main ()
{
char c1='a',c2='B',c3='c';
int i1=10,i2=20,i3=30;
double d1=0.1,d2=0.2,d3=0.3;
char x;
x=c1+i2*i3/i2%i1;
printf("%c\n",x);
int y;
y=i1+i2%i3;
printf("%d\n",y);
int z;
z=c1>i1?i1:i2;
printf("%d\n",z);
int k;
k=!i1&&i2;
printf("%d\n",k);
printf("%d% d\n",!1,!0);
int l;
l=9;
printf("%d\n",l<10&&l>8);
}
<5>瞭解下面所有程式碼的含義。
<6> 位運算
&:and 運用於2進位制運算中,兩個數並列如果位數上都為1,則得出也為1,如果位數上不是1,則為0.
例如:100110
100010
得100010
.
|:or 運用於2進位制,有1就是1,都沒有1就是0.
例如:00101
11100
得11101
^:xor 運用於2進位制,都是1或者都是0,就是0,其他都是1
例如:00101
11100 得11001~:not 運用於2進位制,取反。
>>: a>>b a後面減少b位 或 a<<b a後面加b個0
*優先順序:
1 | ~ |
2 | <<、>> |
3 | & |
4 | ^ |
5 | | |
6 | &=、^=、|=、<<=、>>= |