C基礎複習

2021-10-17 15:24:46 字數 2568 閱讀 2384

c基礎複習

1.資料型別:

有符號數是最高位為符號位,0代表正數,1代表負數。

無符號數最高位不是符號位,而就是數的一部分,無符號數不可能是負數。

當我們寫程式要處理乙個不可能出現負值的時候,一般用無符號數,這樣可以增大數的表達最大值。

有符號:signed

無符號:unsigned

預設情況下,定義變數時省略使用signed,定義無符號的數時要用到unsigned

無符號數輸出的佔位符:%u\u

整型: 型別: 範圍

short ,(-2^15 ~ 2^15-1)

int ,(-2^31 ~ 2^31-1)

long ,(-2^31 ~ 2^31-1)

long long,(-2^63 ~ 2^63-1)

大小:2 4 4 8

注:對於long:windows為4位元組,linux為4位元組(32位),8位元組(64位)

sizeof不是函式,所以不需要包含任何標頭檔案,它的功能是計算乙個資料型別的大小,單位為位元組

sizeof的返回值為size_t

size_t型別在32位作業系統下是unsigned int,是乙個無符號的整數

佔位符:%hd %d %ld %lld

2.字元型:

char ch='a';ascii碼上的東西

大小寫差了32

字元變數實際上並不是把該字元本身放到變數的記憶體單元中去,

而是將該字元對應的 ascii 編碼放到變數的儲存單元中。

char的本質就是乙個1位元組大小的整型。

佔位符:%c

大小:1位元組

3.浮點型:

浮點型變數是用來儲存小數數值的。在c語言中, 浮點型變數分為兩種:

單精度浮點數(float)、 雙精度浮點數(double), 大小分別為4 8位元組

但是double型變數所表示的浮點數比 float 型變數更精確。

不以f結尾的常量是double型別,以f結尾的常量(如3.14f)是float型別。

科學法賦值

a = 3.2e3f; = 3200,e可以寫e

printf("a1 = %f\n", a);

a = 100e-3f; //100*0.001 = 0.1

printf("a2 = %f\n", a);

佔位符:%f %lf

4.進製:

十進位制,二進位制,八進位制,十六進製制

輸出的佔位符:%d 無 %o %x

定義八進位制是以0開頭的 0-7

定義十六進製制是以0x開頭 0-9 a-f

5.計算機中數的儲存:

在計算機系統中,數值一律用補碼來儲存。

補碼特點:

對於正數,原碼、反碼、補碼相同

對於負數,其補碼為它的反碼加1

補碼符號位不動,其他位求反,最後整個數加1,得到原碼

6. 數值溢位

當超過乙個資料型別能夠存放最大的範圍時,數值會溢位。

有符號位最高位溢位的區別:符號位溢位會導致數的正負發生改變,

但最高位的溢位會導致最高位丟失。

7.型別限定

extern

宣告乙個變數,extern宣告的變數沒有建立儲存空間。

extern int a;//變數在定義的時候建立儲存空間

const

定義乙個常量,常量的值不能修改。

const int a = 10;

volatile

防止編譯器優化**

register

定義暫存器變數,提高效率。

register是建議型的指令,而不是命令型的指令,

如果cpu有空閒暫存器,那麼register就生效,

如果沒有空閒暫存器,那麼register無效。

8.字串常量

符串是記憶體中一段連續的char空間,預設以'\0'(數字0)結尾。

字串常量是由雙引號括起來的字串行,如「china」、「c program」,「$12.5」等都是合法的字串常量。

printf是輸出乙個字串,putchar輸出乙個char。

佔位符為%s:表示輸出乙個字串,遇到\0停止,如果在乙個字元陣列中沒有\0則會溢位 出現燙燙燙~

getchar是從標準輸入裝置讀取乙個char。

scanf通過%轉義的方式可以得到使用者通過標準輸入裝置輸入的資料。

scanf("%d%d",&s,&b);

是以空格或者換行符分割

scanf()把輸入的字串轉換成整數、浮點數、字元或字串,而

printf()正好與它相反,把整數、浮點數、字元和字串轉換成顯示在螢幕上

的文字。

scanf()讀取基本變數型別的值,在變數名前加上乙個&;

如果用scanf()把字串讀入字元陣列中,不要使用&。

void

test3()

void

test1()

void

test2()

intmain

(void

)

C語言基礎複習

終於狠下心來深入學習c語言,之前學了一些皮毛,今天就先複習了一下之前學到的東西,順便做個總結。c語言預處理命令 預處理命令並非c 語言的一部分,但它可以引導 c編譯器做一些額外的工作。巨集定義在習慣上均以大寫表示。ansi c的預處理命令有下面這些 define 巨集定義 例 define true...

C 基礎複習 三

看 然後回答問題 難度係數65 delegate是引用型別還是值型別?enum int和string呢 難度係數40 delegate引用型別,enum值型別,int引用型別,string引用型別。struct也是值型別 class class1 static void stringconvert ...

c 基礎複習 緒論

計算機程式語言的發展,什麼是計算機程式語言?計算機程式語言是計算機可以識別的語言,用於描述解決問題的方法,供計算機閱讀和執行。計算機程式語言的發展從機器語言 只能有計算機郵件系統可以識別的二進位制組成的語言 到組合語言 將機器語言對映為一些可以被人讀懂的助記符,在這個時候本人並沒有系統的學習到組合語...