乙個式子資料型別是C語言 c語言算術運算子

2021-10-16 02:11:30 字數 2151 閱讀 6029

算術運算子

算術運算子非常地簡單,就是小學數學裡面的一些加減乘除操作。不過呢,還是有一些語法細節需要注意的。

1.加法運算子 +

1 int a = 10;

3 int b = a + 5;

在第3行利用加法運算子 + 進行了加法運算,再將和賦值給了變數b,最終變數b的值是15

2.減法運算子 或 負值運算子 -

1 int b = 10 - 5;

3 int a = -10;

1> 在第1行利用減法運算子 - 進行了減法運算,再將差賦值給了變數b,最終變數b的值是5

2> 在第3行中,這個 - 並不是什麼減法運算子,而算是乙個負值運算子,-10代表的是負十

3.乘法運算子 *

1 int b = 10 * 5;

注意:乘法運算子並不是x或者x,而是星號*。變數b最終的值是50。

4.除法運算子 /

1 double a = 10.0 / 4;

2 double b = 10 / 4;

4 printf("a=%f, b=%f n", a, b);

注意:除法運算子並不是÷,而是乙個正斜槓 /

1> 第1行中的10.0是浮點型,4是整型,因此會將4自動型別提公升為浮點型後再進行運算,最後變數b的值是2.5

2> 第2行中的10和4都是整型,計算機中的運算有個原則:相同資料型別的值才能進行運算,而且運算結果依然是同一種資料型別。因此,整數除於整數,求出來的結果依然是整數,會損失小數部分。最後變數b的值是2。檢視輸出結果:

3> 如果想讓 整數除於整數 不損失精度的話,可以將某個整數強制轉換為浮點型資料

1 double a = (double)10 / 4;

3 double b = 10 / (double)4;

5 double c = (double)10 / (double)4;

7 double d = (double) (10 / 4);

10和4之間只要有1個強轉為浮點型資料即可,另外1個整數會自動型別提公升為浮點型資料。因此,變數a、b、c的值都是2.5。

變數d的情況就不一樣了,第7行**的意思是先計算(10/4)的值,再將(10/4)的值強轉為浮點型資料。(10/4)的值是2,將2強轉為浮點型資料,那不也就是2麼?所以,變數d的值是2

5.模運算子 或稱 取餘運算子 %

注意:這個%並不是除號÷,它是乙個取餘運算子,或者叫做模運算子。取餘的意思是,取得兩個整數相除之後的餘數。比如,5除於2的餘數是1,5除於3的餘數是2。因此使用這個%有個原則:%兩側必須都為整數。下面的寫法是錯誤的:

1 int a = 5.0 % 2;

編譯器會直接報錯,因為5.0並非整數。

1> 正數取餘

1 int a = 5 % 2;

2 int b = 2 % 5;

簡單計算可得:變數a的值為1,變數b的值為2

2> 負數取餘

1 int a = -5 % 2;

2 int b = 5 % -2;

3 int c = -5 % -2;

利用%求出來的餘數是正數還是負數,由%左邊的被除數決定,被除數是正數,餘數就是正數,反之則反。因此變數a、b、c的值分別是-1、1、-1

6.運算順序

1> 算術表示式

用算術運算子將資料連線起來的式子,稱為「算術表示式」。比如a + b、10 * 5等。如果表示式比較複雜的話,那麼就要注意一下它的運算順序。表示式的運算順序是按照運算子的結合方向和優先順序進行的。

2> 結合方向

算術運算子的結合方向是從左到右。例如表示式2+3+4,先計算2+3。

3> 優先順序

優先順序越高,就越先進行運算,當優先順序相同時,參照結合方向。下面是算術運算子的優先順序排序:

負值運算子(-) > 乘(*)、除(/)、模(%)運算子 > 加(+)、減(-)運算子

例如表示式4+5*8/-2的計算順序為:-、*、/、+,最後的結果是-16

4> 小括號

如果需要先計算優先順序低的可以使用小括號()括住,小括號的優先順序是最高的!

例如4+5*8-2預設的計算順序是:*、+、-

如果想先執行加法運算,就可以這樣寫:(4+5)*8-2,最後的結果都是不一樣的

c語言交流裙:1126743406交流一下經驗

c語言c語言程式設計基礎

9天學會linux c語言

C語言資料型別 一

todo 整型 短整型 16位 32767 32767 short si 32767 無符號短整型 16位 0 65535 unsigned short us 65535 printf short hd u short u n si,us 基本整型 32 64位 2147483622 2147483...

C語言 資料型別

基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...

c語言資料型別

下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...