Lession 2 C 內建型別

2021-05-01 11:32:46 字數 1685 閱讀 4014

變數是什麼?  是用於放資料的東西。 變數命名首字不可以是 數字

常量: const string str = "helloworld!";

*: 只有常量才可以賦值給常量

整型     乙個位元組佔8位

byte    (8)  0 -- 255 

sbyte   (8)  -127 -- 0 -- 128  

short   (16) 0 -- 65535    2^16 = 65536

ushort  (16)  -32767 -- 0 -- 32768

int   (32) 42,9496,7296

uint   (32)

long   (64位)

ulong  (64位) 無符號

浮點型float (32)  沒有符號的說法

double (64) 也有 64位,128位的

一般用於多**中,最大特點:不精確 。 財務資料堅決不可用。

為什麼浮點數是不精確的呢?

1. 因為浮點數是無限的集合

2. 而32位是有限的集合

3. 現在用乙個有限的集合來表示乙個無限的資料,所以自然會造成不精確。

定點型(貨幣型別)

decimal (64) 有限的集合 ,但可以結合單位,如千,萬,億之類的,組合來表示資料

補充:

object/object,  string/string, double/double, float/float 等是等價的

浮點型往往是飛彈發射偏差的主要原因。

布林型別

bool b = true/flase;   只有2個資料,沒有別的。

char ch = 'a';    1. 只能是乙個字元,用單引號括住 2.可以是中文 3.是個unicode字元 4.字元不可以是空的 char ch=''(wrong);

不可有tab鍵等,可以用轉義字元/

/t   製表符

/n/r 回車換行符

//    反斜槓

字串型別

string  字元陣列

補充:long lnumb = 123l;

ulong ulnumber = 123ul;

float fnumb = 12.4f;

double dnumb = 12.4d;

decimal dec = 12.4m;

object型別

是所有物件的基類

clr 不** 值型別

string str = "123" + 5;  // 1235

編譯器會自動呼叫tostring()方法

運算子: ?

checked  :檢查是否溢位 如果溢位就丟擲異常

unchecked   :不檢查是否溢位 如果溢位被截斷,相當於環繞

as   : 轉換,相當於顯示轉換

is    :bool b = true is int;

(a>b)? a:b   三目運算子

& 與   255 & y = y

| 或     255 | y = 255

^ 異或   255 ^ y = 255 - y

>> 左移位 相當於除以2 (因cup中有相應的指令,所以執行速度更快)

<<  右移位 相當於乘以2

void 表示一種型別,只是表示該函式不返回任何值,不可用於什麼變數用

表示式,總返回乙個值

c 內建型別

c 定義了一組表示整數 浮點數 單個字元和布林值的 算術型別 arithmetic types 另外還定義了一種稱為 void 的特殊型別。void 型別沒有對應的值,僅用在有限的情況下。通常用作無返回值的函式的返回型別。算術型別的儲存空間依機器而定。型別儲存空間是指用來表示該型別的位 bit 數。...

C 基本內建型別

算術型別 算術型別分為兩類 整型 integral type,包括字元和布林型別在內 和浮點型。算術型別的尺寸 也就是該型別資料所佔的位元數 在不同機器上有所差別。下表列出了c 標準規定的尺寸的最小值,同時允許編譯器賦予這些型別更大的尺寸。某一型別所佔的位元數不同,它所能表示的資料範圍也不一樣。c ...

C 內建型別轉換

toboolean 轉換為布林型。bool tobyte 轉換為位元組型別。byte tochar 如果可能的話,把型別轉換為單個 unicode 字元型別。char todatetime 把型別 整數或字串型別 轉換為 日期 時間 結構。datatime todecimal 把浮點型或整數型別轉換...