c语言 运算符的作用,C语言运算符
原標題:C語言運算符
運算符
在應用程序中,經常會對數據進行運算,為此,C語言提供了多種類型的運算符,即專門用于告訴程序執行特定運算或邏輯操作的符號。根據運算符的作用,可以將 C語言中常見的運算符分為下圖中的六大類。
算術運算符
在數學運算中最常見的就是加減乘除四則運算。C語言中的算術運算符就是用來處理四則運算的符號,這是最簡單、最常用的運算符號。表 2-11列出了 C語言中的算術運算符及其用法。
算術運算符看上去都比較簡單,也很容易理解,但在實際使用時還有很多需要注意的問題,具體如下:
1、進行四則混合運算時,運算順序遵循數學中“先乘除后加減”的原則。
2、在進行自增(++)和自減(--)的運算時,如果運算符(++或--)放在操作數的前面則是先進行自增或自減運算,再進行其他運算。反之,如果運算符放在操作數的后面則是先進行其他運算再進行自增或自減運算。
請仔細閱讀下面的代碼塊,思考運行的結果。
int num1 = 1; int num2 = 2;
int res = num1 + num2++;
printf("num2=%d" + num2);
printf("res=%d" + res);
上面的代碼塊運行結果為:num2=3,res=3,
具體分析如下:
第一步:運算 mum1+mun2++的結果,此時變量 mun1,mum2的值不變。
第二步:將第一步的運算結果賦值給變量 res,此時 res值為 3。
第三步:mum2進行自增,此時其值為 3。
3、在進行除法運算時,當除數和被除數都為整數時,得到的結果也是一個整數。如果除法運算有浮點數參與運算,系統會將整數數據隱形類型轉換為浮點類型,最終得到的結果會是一個浮點數。
例如, 2510/1000 屬于整數之間相除,會忽略小數部分,得到的結果是 2,而 2.5/10 的實際結果為 0.25。
請思考一下下面表達式的結果:
3500/1000*1000
所得結果為3000。由于表達式的執行順序是從左到右,所以先執行除法運算 3500/1000,得到結果為 3,然后再乘以 1000,最終得到的結果就是 3000。
4、取余運算在程序設計中都有著廣泛的應用,例如判斷奇偶數的方法就是求一個數字除以 2 的余數是1 還是 0。在進行取余運算時,運算結果的正負取決于被余數(%左邊的數)的符號,與余數(%右邊的數)的符號無關。
如:(-5)%3=-2,而 5%(-3)=2。
賦值運算符
賦值運算符的作用就是將常量、變量或表達式的值賦給某一個變量。下表中列舉了 C語言中的賦值運算符及其用法。
在這個表中, “ = ” 的作用不是表示相等關系,而是賦值運算符,即將等號右側的值賦給等號左側的變量。在賦值運算符的使用中,需要注意以下幾個問題:
1、在 C 語言中可以通過一條賦值語句對多個變量進行賦值,具體示例如下:
int x, y, z;
x = y = z = 5; //為三個變量同時賦值
在上述代碼中,一條賦值語句可以同時為變量 x、y、z賦值,這是由于賦值運算符的結合性為“從右向左”,即先將 5賦值給變量 z,然后再把變量 z的值賦值給變量 y,最后把變量 y的值賦值變量 x,表達式賦值完成。
需要注意的是,下面的這種寫法在 C語言中是不可取的。
intx = y = z = 5;//這樣寫是錯誤的
2、在該表中,除了 “ = ”,其他的都是特殊的賦值運算符,接下來以“+=”為例,學習特殊賦值運算符的用法,示例代碼如下:
int x=2;
x+=3;
上述代碼中,執行代碼 x += 3后,x的值為 5。這是因為在表達式 x+=3中的執行過程為:
(1)將 x的值和 3的執行相加。
(2)將相加的結果賦值給變量 x。
所以,表達式 x=+3就相當于 x = x + 3,先進行相加運算,在進行賦值。-=、*=、/=、%=賦值運算符都可依此類推。
多學一招:運算符的結合性
運算符的結合性指同一優先級的運算符在表達式中操作的結合方向,即當一個運算對象兩側運算符的優先級別相同時,運算對象與運算符的結合順序。大多數運算符結合方向是“自左至右”。示代碼如下:
a-b+c;
上述代碼中表達式 a- b + c,b兩側有-和+兩種運算符的優先級相同,按先左后右的結合方向, b先與減號結合,執行 a- b的運算,然后再執行加 c的運算。除了自左至右的結合性外, C語言還有三類運算符,它們分別是單目運算符、條件運算符和賦值運算符。以賦值運算符為例,具體代碼如下所示:
責任編輯:
總結
以上是生活随笔為你收集整理的c语言 运算符的作用,C语言运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录一次微信小程序+阿里云oss的配置步
- 下一篇: 《华盛顿邮报》评选的完整电影清单(包括上