❶ c語言中都有哪些運算符
運算符的種類C語言的運算符可分為以下幾類:
1.算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、
大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
❷ C語言中,有哪些算術運算符
C語言中算術運算符有以下這些
實例:
#include<stdio.h>
intmain()
{
inta=21;
intb=10;
intc;
c=a+b;
printf("Line 1 - c 的值是 %d ",c);
c=a-b;
printf("Line 2 - c 的值是 %d ",c);
c=a*b;
printf("Line 3 - c 的值是 %d ",c);
c=a/b;
printf("Line 4 - c 的值是 %d ",c);
c=a%b;
printf("Line 5 - c 的值是 %d ",c);
c=a++; // 賦值後再加 1 ,c 為 21,a 為 22
printf("Line 6 - c 的值是 %d ",c);
c=a--; // 賦值後再減 1 ,c 為 22 ,a 為 21
printf("Line 7 - c 的值是 %d ",c);
return0;
}
當上面的代碼被編譯和執行時,它會產生下列結果:
Line 1 - c 的值是 31
Line 2 - c 的值是 11
Line 3 - c 的值是 210
Line 4 - c 的值是 2
Line 5 - c 的值是 1
Line 6 - c 的值是 21
Line 7 - c 的值是 22
(2)c語言的算式運算符擴展閱讀:
C語言中,除了算數運算符,還提供以下運算符:
1、關系運算符
2、邏輯運算符
3、位運算符
4、賦值運算符
5、雜項運算符
運算符優先順序:
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。
在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
運算符結合性:
C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。
如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。
最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而->及.是取結構成員。
其次是單目運算符,所有的單目運算符具有相同的優先順序,因此在我認為的 真正的運算符中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
❸ C語言中能進行數學運算的運算符包括哪些
C語言中能進行數學運算的運算符包括三類:
一、常規的數學運算,包括加(+),減(-),乘(*),除(/),和模除(%)。
形式為
a op b
結果為對應的數學運算結果。
其中模除%又稱作取余,計算a除以b得到的余數,是唯一一個只能用來做整型計算的數學運算符。
二、自加(++)自減(--)運算:
自加和自減屬於單目運算,使用後使變數自加1或者自減1.有前置自加自減和後置自加自減區別。形式為
++a, a++, --a, a--,
四種。
三、帶賦值的運算,即在一中提到的物種運算符加上=,組合成復合運算符+=, -=, *=, /=和%=.
對於這類運算符,形式為
a op b
表示a=a op的前一個符號 b。
比如
a+=b
等效於
a=a+b
這是一類特殊的數學運算操作符。
❹ C語言中算術運算符%,++,— —,都是什麼意思能舉例子說明嗎
C語言中,算術運算符「%」代表模(取余)運算,「++」代表變數自增運算,「--」代表變數自減運算。
1、模運算「%」
「模」是「Mod」的音譯,模運算多應用於程序編寫中。 Mod的含義為求余。模運算在數論和程序設計中都有著廣泛的應用,從奇偶數的判別到素數的判別,從模冪運算到最大公約數的求法,從孫子問題到凱撒密碼問題,無不充斥著模運算的身影。
C語言用「%」代表模運算,例如7%2=1、8%5=3等。
2、自增運算「++」
C語言用「++」代表自增運算,分為前綴自增和後綴自增,其效果均為自身變數值+1。前綴自增例如「a=5;b=++a;」,則運行結果是「a=6,b=6」。後綴自增例如「a=5;b=a++;」,則運行結果是「a=6,b=5」。
3、自減運算「--」
C語言用「--」代表自減運算,分為前綴自減和後綴自減,其效果均為自身變數值-1。前綴自減例如「a=5;b=--a;」,則運行結果是「a=4,b=4」。後綴自減例如「a=5;b=a--;」,則運行結果是「a=4,b=5」。
(4)c語言的算式運算符擴展閱讀:
C語言常用運算符:
+:加法
-:減法
<<:位左移
>>:位右移
<:小於
<=:小於等於
>:大於
>=:大於等於
+=:加賦值運算
-=:減賦值運算
*=:乘賦值運算
/=:除賦值運算
%=:模賦值運算
❺ c語言的算術運算符有哪些 各自的功能又是什麼
算術運算符:+(加),-(減),*(乘),/(除),%(取余,操作數必須都是整數)。。
賦值運算符:=(右值賦值給左值,左值必須是變數)。。
邏輯運算符:||(或),&&(與),!(非),^(或非)。。
位運算符:|(位或),&(位與),!(位非),>>(右移),<<(左移)。。
條件運算符:?:(如,
a>b?a:b,如果a>b,則值為a,反之值為b)。。
C語言中的運算符大概就這些,具體的用法你可以參考一下書本。
❻ C語言34種運算符
34種運算符:
01、圓括弧()
02、下標[]
03、指針型結構成員->
04、結構成員.
05、邏輯非!
06、位非~
07、自增++
08、自減--
09、取負-
10、類型轉換(類型)
11、取內容*
12、取地址&
13、求位元組sizeof
14、乘*
15、除/
16、求余%
17、加+
18、減-
19、左移<<
20、右移>>
21、小於<
22、小於等於<=
23、大於>
24、大於等於>=
25、等於==
26、不等於!=
27、位與&
28、位異或^
29、位或|
30、&&與
31、或||
32、條件運算?:
33、賦值運算=
34、逗號運算,
(6)c語言的算式運算符擴展閱讀
9種控制語句
1、if()~else條件語句
2、for()~循環語句
3、while()~循環語句
4、do~while()循環語句
5、continue結束本次循環語句
6、break中止執行switch或循環語句
7、switch多分支選擇語句
8、goto轉向語句
9、return從函數返回語句
❼ c語言中有哪些運算符,各有什麼功能
加法運算符
1、移位運算符
2、 關系運算符
3、相等運算符
4、 位與運算符
5、位異或運算符
6、 位或運算符
7、 邏輯與運算符
8、 邏輯或運算符
9、 三元條件運算符
10、 賦值運算符
12、逗號運算符
13、優先順序
❽ C語言中的運算符
簡單賦值運算符記為「=」,由「= 」連接的式子稱為賦值表達式。歡迎大家閱讀!更多相關信息請關注相關欄目!
無論是加減乘除還是大於小於,都需要用到運算符,在C語言中的運算符和我們平時用的基本上都差不多。運算符包括賦值運算符、算術運算符、邏輯運算符、位邏輯運算符、位移運算符、關系運算符、自增自減運算符。大多數運算符都是二目運算符,即運算符位於兩個表達式之間。單目運算符的意思是運算符作用於單個表達式。(具體什麼是表達式下一節再說)
C語言中的運算符
無論是加減乘除還是大於小於,都需要用到運算符,在C語言中的運算符和我們平時用的基本上都差不多。運算符包括賦值運算符、算術運算符、邏輯運算符、位邏輯運算符、位移運算符、關系運算符、自增自減運算符。大多數運算符都是二目運算符,即運算符位於兩個表達式之間。單目運算符的意思是運算符作用於單個表達式。(具體什麼是表達式下一節再說)
一、賦值運算符
賦值語句的作用是把某個常量或變數或表達式的值賦值給另一個變數。符號為『=』。這里並不是等於的意思,只是賦值,等於用『==』表示。
注意:賦值語句左邊的變數在程序的其他地方必須要聲明。
得已賦值的變數我們稱為左值,因為它們出現在賦值語句的左邊;產生值的表達式我們稱為右值,因為她它們出現在賦值語句的右邊。常數只能作為右值。
例如:
count=5;
total1=total2=0;
第一個賦值語句大家都能理解。
第二個賦值語句的意思是把0同時賦值給兩個變數。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算。這樣它先total2=0;然後total1=total2;那麼我們這樣行不行呢?
(total1=total2)=0;
這樣是不可以的,因為先要算括弧裡面的,這時total1=total2是一個表達式,而賦值語句的左邊是不允許表達式存在的。
二、算術運算符
在C語言中有兩個單目和五個雙目運算符。
符號
功能
單目正
單目負
乘法
除法
取模
加法
減法
下面是一些賦值語句的例子,
在賦值運算符右側的表達式中就使用了上面的算術運算符:
Area=Height*Width;
num=num1+num2/num3-num4;
運算符也有個運算順序問題,先算乘除再算加減。單目正和單目負最先運算。
取模運算符(%)用於計算兩個整數相除所得的余數。例如:
a=7%4;
最終a的結果是3,因為7%4的余數是3。
那麼有人要問了,我要想求它們的商怎麼辦呢?
b=7/4;
這樣b就是它們的商了,應該是1。
也許有人就不明白了,7/4應該是1.75,怎麼會是1呢?這里需要說明的是,當兩個整數相除時,所得到的結果仍然是整數,沒有小數部分。要想也得到小數部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個數變為非整數。
怎樣由一個實數得到它的整數部分呢?這就需要用強制類型轉換了。例如:
a=(int)
(7.0/4);
因為7.0/4的值為1.75,如果在前面加上(int)就表示把結果強制轉換成整型,這就得到了1。那麼思考一下a=(float)
(7/4);最終a的結果是多少?
單目減運算符相當於取相反值,若是正值就變為負值,若是負數就變為正值。
單目加運算符沒有意義,純粹是和單目減構成一對用的。
三、邏輯運算符
邏輯運算符是根據表達式的值來返回真值或是假值。其實在C語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。
符號
功能
&&
邏輯與
邏輯或
邏輯非
例如:
5!3;
0||-2&&5;
!4;
當表達式進行&&運算時,只要有一個為假,總的表達式就為假,只有當所有都為真時,總的式子才為真。當表達式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!)運算是把相應的變數數據轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。
還有一點很重要,當一個邏輯表達式的後一部分的取值不會影響整個表達式的值時,後一部分就不會進行運算了。例如:
a=2,b=1;
a||b-1;
因為a=2,為真值,所以不管b-1是不是真值,總的表達式一定為真值,這時後面的表達式就不會再計算了。
四、關系運算符
關系運算符是對兩個表達式進行比較,返回一個真/假值。
符號
功能
>
大於
<
小於
>=
大於等於
<=
小於等於
等於
不等於
這些運算符大家都能明白,主要問題就是等於==和賦值=的區別了。
一些剛開始學習C語言的人總是對這兩個運算符弄不明白,經常在一些簡單問題上出錯,自己檢查時還找不出來。看下面的代碼:
if(Amount=123)
很多新人都理解為如果Amount等於123,就怎麼樣。其實這行代碼的意思是先賦值Amount=123,然後判斷這個表達式是不是真值,因為結果為123,是真值,那麼就做後面的。如果想讓當Amount等於123才運行時,應該if(Amount==123)
……