初始化不是在編譯階段完成的(靜態儲存變數和外部變數的初始化是在編譯階段完成)
而是在程式執行時執行本語句時賦初值的,相當於乙個賦值語句。例如:
int a=3
; 相當於:
int a
;a=3
; 又如:
int a, b, c=5
; 相當於:
int a, b, c;
c=5;
整型(包括int、short、long)和浮點型(包括float、double)可以混合運算。
字元型資料可以與整型通用,因此,整型、浮點型、字元型資料間可以混合運算。
例如: 10+』a』+1.5-8765.1234*』b』
//最後表示式的型別是double型別 格式申明符:lf
規定:在進行運算時,不同型別的資料要先轉換成同一型別,然後進行運算。轉換的規則按下圖所示。
說明:
1. 運算前,char和short型別的資料強制轉換成int型別
2. 運算前,float型別的資料強制轉換成double型別(有效位被擴大,運算時精度提高)
3. 從下往上,表示資料資料轉換的優先順序。
比如:int 和 doubule 運算時統一將它們的資料型別轉換成double
例題:
求下面算術表示式的值
(1)x+a%3
*(int)(x+y)%2/4,設x=2.5, a=7, y=4.7
//先算(x+y) = 7.2 強制轉換後 7
// * % 優先順序相同,算數運算子的結核性:從左到右
//a % 3 * 7 % 2 / 4 = 0
//x 為 float型,運算時先轉化為double。
// x + 0 = 2.5
//最後的格式型別為double型別,格式宣告符lf
(2)(float)(a+b)/2+(int)x%(
int)y,設a=2, b=3, x=3.5, y=2.5
//(float)(a+b)/2,運算後為double型別
//(int)x%(int)y = 1
+ 1 = 3.5 格式為double型,格式宣告符lf
不同資料型別混合運算及型別轉換
結果如下 wll wll linux code test cal a b unsigned short a 0 unsigned int b 0x12345678 a b printf b 0x x,a 0x x r n b,a 結果如下 wll wll linux code test cal b ...
C語言合運算不同型別之間的混合運算
運算的兩個數中有乙個數為float或double型,結果為double型,因為系統將所有的float型資料轉換為double型別資料再進行計算。如果int型與float或double型資料進行計算,先把int型和float型資料轉換為double資料再進行計算,結果為double型。字元 char ...
資料的布林值及不同型別資料間的比較運算
資料boolean 備註 console.log 1 true 備註 console.log 0 false 備註 0false false true 1true 數字的布林值為 true true false 10false 0 true 非空字串 布林值為 true true 1 true 字串...