C說話運算符的優先級和聯合性實例詳解。本站提示廣大學習愛好者:(C說話運算符的優先級和聯合性實例詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話運算符的優先級和聯合性實例詳解正文
運算符是告知編譯法式履行特定算術或邏輯操作的符號。C說話的運算規模很寬,把除掌握語句和輸出輸入之外的簡直一切的根本操作都作為運算符處置。重要分為三年夜類:算術運算符、 關系運算符與邏輯運算符。除此以外,還有一些用於完成特別義務的運算符。
先來看一個例子:
#include <stdio.h> int main(){ int a=10,b=1,c=2; a=b=c; printf( "12+3*5=%d\n", 12+3*5); printf( "a=%d, c=%d\n", a, c); return 0; }
運轉成果:
12+3*5=27
a=2, c=2
1) 關於表達式12+3*5,很顯著先輩行乘法運算,盤算3*5,成果為15,再停止加法運算,盤算12+15,成果為27。也就是說,乘法的優先級比加法高,要先盤算,這與數學中的規矩是一樣的。
所謂優先級,就是當有多個運算符在統一個表達式中湧現時,先履行哪一個運算符。假如不想依照默許的規矩履行,可以加( ),例如(12+3)*5的成果為 75,(2+5)*(10-4)的成果為 42。年夜部門情形下,它們的規矩和數學中是雷同的。
2) 關於語句賦值語句a=b=c;,先履行b=c,再履行a=b,而不是反過去,這解釋賦值操作符=具有右聯合性。
所謂聯合性,就是當一個運算符屢次湧現時,先履行哪一個運算符。先履行左邊的叫右聯合性,先履行右邊的叫左聯合性。
表達式(Expression)和語句(Statement)的概念在C說話中並沒有明白的界說:
表達式可以看作一個盤算的公式,常常由數據、變量、運算符等構成,例如3*4+5、a=c=d等,它的成果一定是一個值;
語句的規模加倍普遍,紛歧定是盤算,紛歧定有值,可所以某個操作、某個函數、選擇構造、輪回等。
值得留意的是:以分號;停止的常常稱為語句,而不是表達式,例如3*4+5;、a=c=d;等。
3) 像 +、-、*、/ 如許的運算符,它的雙方都稀有據,例如 3+4、a*3 等,有兩個操作數,我們稱如許的運算符為雙目運算符。前面還會講授單目運算符和三目運算符。
以上就是對 C說話運算符的優先級和聯合性的常識整頓,願望對進修C說話的同窗有所贊助。