C語言基礎篇(一)

2021-08-13 09:05:28 字數 1613 閱讀 6249

計算機只能識別0和1,所有資料在計算機中以二進位制形式儲存,想要學好計算機就要先掌握數制間的轉換。常見的數制有二進位制,八進位制,十進位制,十六進製制。

1.十進位制轉為二進位制

a.寫出2^n

b.用所求十進位制數與2^n比較,若大於等於記1,減去2^n,小於記0

c.所得數再與2^(n-1)比較(同第二步),直至n為0

例:100轉換為二進位制

100<2^7 0

100>2^6 1

100-2^6=36>2^5 1

36-2^5=4<2^4 0

4<2^3 0

4>=2^2 1

4-2^2=0<2^1 0

0<2^0 0

所以100的二進位制為1100100

2.二進位制轉為十進位制

用二進位制每一位乘2^然後相加

例:1100100轉為十進位制

1*2^6+1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0=100

3.十進位制轉為其它進製

a.先將十進位制轉為二進位制

b.由後往前每三位二進位制轉為十進位制當作八進位制的一位,高位不夠補0

由後往前每四位二進位制轉為十進位制當作十六進製制的一位,高位不夠補0

資料在計算機中以補碼的形式儲存,所以我們要掌握原碼,反碼,補碼之間的轉換。
原碼:在二進位制數前加乙個符號位,0表示正數,1表示負數。

反碼:正數的反碼是它本身,負數的反碼是除符號位取反。

補碼:正數的補碼是它本身,負數的補碼是反碼加1。

例1:100的原碼,反碼,補碼

原碼:01100100

反碼:01100100

補碼:01100100

例2:-100的原碼,反碼,補碼

原碼:11100100

反碼:10011011

補碼:10011100

c語言中型別分為基本型別,列舉型別,空型別,派生型別。基本型別又分為整型和浮點型。本文主要講述整型,其他型別後續會講。
整型

大小/位元組

float

1short

2int

2/4long

4long long8

int的大小由編譯器決定,16位編譯器上為2位元組,32位編譯器為4位元組。

(這裡以char為例講解整型)

a.整型分為無符號和有符號,無符號的取值範圍為0~255,有符號的取值範圍為-128~127

int main()

return

0;}

int main()

return

0;}

這兩個程式執行結果有什麼區別?

第乙個程式進入死迴圈,因為它定義的是有符號的char,最大為127,無法退出迴圈。

第二個程式定義的是無符號char,所以它輸出了0~127.

c語言基礎篇(一)

一 基本資料型別 整型 int 實型 float double 字元型 char 這些資料型別是用來修飾 變數 程式執行過程中可以改變的量 二 變數的命名規則 1.以字母丶下劃線開頭,中間可以包含數字,但不能以數字開頭 2.可以使用美元符號開頭 但不建議 3.見名知意 4.不可使用系統保留字 三 賦...

C 基礎語言篇(一)

1.說一下static關鍵字的作用 全域性靜態變數 區域性靜態變數 靜態函式 類的靜態成員 類的靜態函式 2.說一下c 與c的區別 設計思想 物件導向與面向過程 語法上 3 說一下c 中四種cast轉換 const cast 將const變數轉為非const static cast 用於各種隱式型別...

C 語言基礎篇

一 型別轉換 在 c 中,變數分為以下幾種型別 1.值型別變數可以直接分配給乙個值。它們是從類system.valuetype中派生的。值型別直接包含資料。比如int char float,它們分別儲存數字 字元 浮點數。當您宣告乙個int型別時,系統分配記憶體來儲存值。2.引用型別不包含儲存在變數...