1、加減乘除運算符
加減法運算符
我們先看一段代碼演示加減法的使用。
輸出結果是:
右邊相加減的結果賦值給左邊變量。
除法運算符
看一段演示除法運算符代碼
輸出結果是:
從輸出我們看到num3 = 0明顯和我想要的結果不一樣,而num4的結果完全符合我們的意料。
下面我們再看一段代碼
輸出結果是:
在代碼里num3定義成一個整型(int),肯定不能存儲小數,那么是因為num3是整型才會導致num3值只保留整數部分還是因為除法運算符"/"?我們再看一段代碼,把num3定義成單精度浮點型(float),看看輸出結果。
輸出結果:
輸出結果依舊是0,說明不是因為num3的數據類型造成輸出結果變化,是因為除法運算符"/",兩個整型相除,結果則是商向下取整。我們知道除法運算不僅僅是2個整型的運算,還可以是浮點型和整型,浮點型和浮點型之間的運算。我們先看一段代碼整型和浮點型之間的除法運算。
輸出結果:
現在輸出結果達到我們的想要了。那么現在我們看看除數和被除數兩者都是浮點型呢?將會輸出什么?先看這段代碼
輸出結果:
結果完全符合我們的預期。說明兩個數相除,只要任意一方是浮點型,得到的結果就是浮點型,保留小數部分。
現在我們總結一下除法運算符的結果的不同之處。
兩個整數相除
結果是商向下取整
兩個數相除,任意一方是浮點型
結果是商保留整數部分和小數部分
乘法運算符
乘法運算和除法運算結果有一個不同之處就是,乘法運算的結果不會發生截斷,兩個數都是整數,結果則是整數。兩個數任意一方是浮點數,結果則是浮點數,但是我們通常情況下會遇到類似下面的代碼。
輸出結果是:
我們不是說兩個數相乘任意一方是浮點型,結果則是浮點型嗎?為什么小數點后面的數沒了?其實這是發生了截斷,在C語言里浮點型強制轉換成整型會發生數據截斷,小數部分被丟棄了。那么我們怎么知道數據發生了截斷呢?看看下面這段代碼我們就知道了。
輸出結果是:
說明整型和浮點型相乘得到的結果是浮點型!這里要注意一下10.2f后面帶有f表明將10.2轉換成單精度浮點型,如果不帶f則不會輸出"good!"字符串。
2、求余運算符
在C語言里求余運算符是%,下面我們看一段代碼。
輸出結果:
在C語言里%只能對整型進行求余,任意一方是浮點型時,語法錯誤。
3、自增自減運算符
自增運算符
在C語言里自增運算符使用++,而自減運算符使用--,下面我們用實際代碼分別看看自增自減和常規的加減法有什么不一樣。
輸出結果是:
從輸出結果我們可以知道,num1和num2第一次自增輸出結果一樣,說明前自增和后自增都可以對變量進行加1。那么第二次輸出就有點不同了,雖然都進行了自增,但是num1輸出3而num2輸出2,最后一次輸出num2則是3。這是因為前自增先對變量進行加1后再使用,而后自增則先使用變量再進行加1操作。
自減法運算符
自增和自減法運算符運算過程一樣,區別則是一個做加1操作另外一個做減1操作。
4、逗號運算符
首先我們看一段代碼
這段代碼的輸出結果是:
從輸出結果我們可以知道,逗號運算符是從左往右結合,先計算num2 = num1 + 1,此時num2= 2,再計算num2 = num1 + 2,此時num2 = 3,最后取num2的最終值加1的結果賦值給s。
責任編輯:lq6
-
C語言
+關注
關注
180文章
7604瀏覽量
136692 -
運算符
+關注
關注
0文章
172瀏覽量
11081
原文標題:C語言入門基礎之運算符詳解
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論