1.概述
C語言中,運算符包括有算術運算符、關系運算符、邏輯運算符和位運算。
算術運算符:+、-、*、/、%、++(自增1)、--(自減1)
關系運算符:>、>=、<、<=、==、!=
邏輯運輸符:&&(并且)、||(或者)、!(取非)
位運算:&(按位與)、|(按位或)、~(按位取反)、<<(左移一位)、>>(右移一位)
- 優先級關系如下:
第1優先級:()、[]等、成員訪問-> .
第2優先級:單目運算符,如++、--、!、~等
第3優先級:乘法*、除法/、取模%
第4優先級:加法+、減法-
第5優先級:移位<<、>>
第6優先級:大于>、大于等于>=、小于<、小于等于<=
第7優先級:等于==、不等于!=
第8優先級:按位與&
第9優先級:按位異或^
第10優先級:按位或|
第11優先級:邏輯與&&
第12優先級:邏輯或||
第13優先級:三目條件運算符 ?:
第14優先級:賦值運算符,如=、+=、-=、*=、/= 等
第15優先級:逗號運算,
運算符 |
說明 |
結合性 |
() [] -> . | 括號、數組、結構體成員訪問 | 從左往右 |
! ~ + - ++ -- (type) * & sizeof |
邏輯非、取反、負號、正號、自增、自減 強制轉換、間接、取地址、獲取空間占用 |
從右往左 |
* / % | 乘、除、取模 | 從左往右 |
+ - | 加、減 | 從左往右 |
>> << | 右移、左移 | 從左往右 |
< ?<= ?> >= | 小于、小于等于、大于、大于等于 | 從左往右 |
== != | 相等、不相等 | 從左往右 |
& | 按位與 | 從左往右 |
^ | 按位異或 | 從左到右 |
| | 按位或 | 從左到右 |
&& | 邏輯與 | 從左到右 |
|| | 邏輯或 | 從左到右 |
?: | 條件 | 從右到左 |
= += -= *= /= <<= ?>>= &= |= ^= |
等于、加等于、減等于、乘等于 除以等于、左移等于、右移等于 與等于、或等于、異或等于 |
從右到左 |
, | 逗號運算 | 從左到右 |
2.自增自減++、--
++(或者--)放后面,先用值,再+(或者-)1 示例:data++
++(或者--)放前面,先+(或者-)1,再用值 示例:++data
#include
int main()
{
int data=10;
printf("data=%dn",data++);//10
data=10;
printf("data=%dn",++data);//11
data=10;
printf("data=%dn",data--);//10
data=10;
printf("data=%dn",--data);//9
}
[wbyq@wbyq 1227]$ ./a.out
data=10
data=11
data=10
data=9
3.C練習
1.輸入一個年份,判斷是閏年還是平年。
2.輸入一個三位數,判斷是否為水仙花數(各個位上的立方之和等于本身)
示例:153=1^3+5^3+3^3
3.輸入一個華氏溫度,轉換為攝氏溫度。轉換方式:(華氏溫度-32)÷1.8;
4.從鍵盤上輸入3個整數,按從大到小的順序輸出。例如輸入32 15 20,輸出32 20 15;
5.從鍵盤上輸入一個三位數,判斷是否為回文數。例:121;
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304793 -
鍵盤
+關注
關注
4文章
859瀏覽量
39647 -
C語言
+關注
關注
180文章
7604瀏覽量
136683 -
運算符
+關注
關注
0文章
172瀏覽量
11079
發布評論請先 登錄
相關推薦
評論