c語言定義運算符
❶ c語言中有哪些運算符,各有什麼功能
加法運算符
1、移位運算符
2、 關系運算符
3、相等運算符
4、 位與運算符
5、位異或運算符
6、 位或運算符
7、 邏輯與運算符
8、 邏輯或運算符
9、 三元條件運算符
10、 賦值運算符
12、逗號運算符
13、優先順序
❷ c語言中運算符有哪幾種,優先順序順序是怎樣
C語言中,運算符除了常見的三大類,算術運算符、關系運算符與邏輯運算符之外,還有一些用於完成特殊任務的運算符。
運算符的運算優先順序共分為15 級,1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
一級運算符:標識,常量,字元串文字量,優先順序提升表達式最優先執行。
二級運算符:數組下標運算(expression)、函數調用(argument-expression-list)、成員訪問(identifier、-> identifier)、後綴自增(i++)、後綴自減(i--)、復合初始化(initializer-list)。
三級運算符:前綴自增(++i)、前綴自減(--i)、單目轉型表式式(取地址& ,提領 * , 正號+ ,負號-、位反~ 邏輯否!)、求類型長度(sizeof unary-expression)。
四級運算符:強製表達式成為type-name指定的類型( type-name ) cast-expression。
五級運算符:「 * 」 乘法運算符。
六級運算符:「 + 」加法運算符。
七級運算符:<< 左移運算符;>> 右移運算符。
八級運算符:<、<=、>、>=關系運算符。
九級運算符:「 == 」等於運算符;「 != 」不等於運算符。
十級運算符:「 & 」按位與運算符。
十一級運算符:「 ∧ 」按位異或運算符。
十二級運算符:「 | 」按位或運算符。
十三級運算符:「&&」邏輯與運算符。
十四級運算符:「 || 」邏輯或運算符。
十五級運算符:? :條件運算符。
(2)c語言定義運算符擴展閱讀
C語言中各運算符的結合性:
1、左結合性(自左至右):
例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合方向就稱為「左結合性」。
2、右結合性(自右至左)
自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
❸ c語言 可以定義一個運算符嗎
當然不可以了,就好比,加減乘除。
但是通常為了實現自己的設計需求,可以將這些基礎的運算符,使用上,然後定義某個函數或方法或宏後,來實現自己的運算需求。
比如,要求圓形的周長,周長公式都知道是直徑乘以π,這里以最簡單的宏來表示任意圓形周長就是:#define RoundLenth(num) num*π
那麼在實際使用中,你可以直接拿RoundLenth(num)來使用。
這里表達式似乎有些多此一舉,但是就是為了用簡單的例子,來表明,如何實現自己的運算需求!而不是自己去創造一個運算符號!
❹ 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、逗號運算,
(4)c語言定義運算符擴展閱讀
9種控制語句
1、if()~else條件語句
2、for()~循環語句
3、while()~循環語句
4、do~while()循環語句
5、continue結束本次循環語句
6、break中止執行switch或循環語句
7、switch多分支選擇語句
8、goto轉向語句
9、return從函數返回語句
❺ 在C語言中的運算符有哪些類型
無論是加減乘除還是大於小於,都需要用到運算符,在C語言中的運算符和我們平時用的基本上都差不多。
運算符包括賦值運算符、算術運算符、邏輯運算符、位邏輯運算符、位移運算符、關系運算符、自增自減運算符。大多數運算符都是二目運算符,即運算符位於兩個表達式之間。單目運算符的意思是運算符作用於單個表達式。
❻ 在C語言中,運算符 是什麼意思是怎麼用的
運算符就是執行運算的符號。
和數學裡面的加減乘除類似用法。
比如A+B 這里的+ 就是運算符。
分為單目 雙目 三目三種。
❼ C語言中都有哪些運算符
運算符的種類C語言的運算符可分為以下幾類:
1.算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、
大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
❽ 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)
……
❾ C語言如何定義新的運算符號
貌似不可能實現,#define,類重載運算符都不行
testclass testclass::operator=(testclass b)
{
testclass temp(0);
temp.xx=(this->xx+b.xx)*(this->xx-b.xx);
return temp;
}//這是類重載運算符用法,注意只能重裝原有運算符
#define DEF(x,y) (x-y)*(x+y)
//這是#define用法,注意形式類似函數