c 表示式 型別轉換

2021-09-30 03:51:00 字數 736 閱讀 6916

隱式型別轉換

1. 混合算術運算中,最寬的型別為目標轉換型別

int x = 2.32+2;   //2被提公升為double型

2. 賦值運算中,被賦值物件為目標轉換型別

int x = 2.32+2   //2被提公升為double型後,相加為4.32  double再轉換為int, 賦值給x, 注意小數字直接捨去。

3. 函式呼叫引數中

double sqrt(double);    sqrt(2);   //會將2轉為double型

4. 函式呼叫返回值中

double sqrt(double)

算術轉換

1. 為防止精度損失,型別總是轉換為較寬的型別

2. 所有小於整形的有序序列表示式中,在運算前都會轉為整形

char cval;

bool found;

enum mumble mval;

unsigned long ulong;

char c1='a', c2='b';

cval+ulong;    //可認為cval先轉為int型,再進行計算

sizeof(c1+c2);  //會先將c1, c2都轉換為int型

unsigned int 與int相比,unsinged為較寬的

有些例外,如long型+ unsinged int型,會都轉為unsigned long(32位作業系統)

Java表示式型別轉換

舉個例子說一下表示式型別轉換中的一種 public class test 問題是這兩個的輸出結果是什麼?為什麼會是那種輸出結果?當看到時,大多數人會說結果不一樣,但是有的人會忽略為什麼不一樣,因為他們用編譯器執行了,結果不一樣 第乙個是字串和字元做鏈結,結果是乙個字串,新的字串和數值8做連線,結果還...

表示式轉換 中綴表示式轉換為字尾表示式

算術表示式有字首表示法 中綴表示法和字尾表示法等形式。日常使用的算術表示式是採用中綴表示法,即二元運算子位於兩個運算數中間。請設計程式將中綴表示式轉換為字尾表示式。輸入格式 輸入在一行中給出不含空格的中綴表示式,可包含 以及左右括號 表示式不超過20個字元。輸出格式 在一行中輸出轉換後的字尾表示式,...

表示式轉換

2 3 7 4 8 4 2 3 7 4 8 4 思路 a.若為 入棧 b.若為 則依次把棧中的的運算子加入字尾表示式中,直到出現 從棧中刪除 c.若為 除括號外的其他運算子,當其優先順序高於除 以外的棧頂運算子時,直接入棧。否則從棧頂開始,依次彈出比當前處理的運算子優先順序高和優先順序相等的運算子,...