天天看點

算法筆記學習1

《算法筆記》非常适合計算機上機考試,對于資料結構水過的大三計科狗更像是一個重新學習的機會。

一、基本資料類型

1、整型:

(1)int占用32比bit,在算法測試中,絕對值在10^9範圍以内的整數都可以定義成int型。

(2)長整型long long,占用64bit,題目要求整數取值超過2147483647則需要使用。當long long指派大于2^31-1的初值,需要在後面加LL,否則編譯錯誤(codeblocks好像沒毛病)。

2、浮點型

(1)單精度float:6~7位精度,在精度要求高的題目裡面不适用。

(2)雙精度double:15~16位精度,比較常用,以後碰到浮點型的資料就用double。

3、字元型

(1)小寫字母比大寫字母大32。(%c是C語言中char的輸出格式)

(2)轉義字元:

\n:換行;

\0:代表空字元NULL,ASCII碼為0非空格。

4、布爾型

5、強制類型轉換

6、符号常量和const常量

(1)#define pi 3.14

(2)const double pi=3.14

(3)define可以定義任何語句或片段,宏定義不能随便用,盡量不能使用宏定義來做除了定義常量以外的事情,除非給任何地方加上括号

7、自增運算符

i++:先使用i再将i加1

++i:先将i加1再使用i

8、位運算符

比如左移、右移、與、或、異或、取反

程式中個比較大的數可以設定成(1<<31)-1(注意:必須加括号,位運算優先級比算數運算低)

二、順序結構

1、指派表達式

2、輸入輸出語句

(1)在scanf中,除了char數組整個輸入的情況不加&之外,其他變量類型都需要加&

(2)scanf對其他格式符(%d)的輸入是以空白符(空格、tab)為結束判斷标志的

(3)scanf的%c格式可以讀入空格跟換行

3、getchar和putchar輸入輸出字元

getchar用于輸入單個字元,putchar用來輸出單個字元,使用scanf不便的場合使用getchar輸入字元。值得注意的是,getchar可以識别換行符。

4、常用math函數

數學函數的使用需要在程式開頭加math.h

(1)fabs(double x):取絕對值

(2)floor(double x) ceil(double x):向下取整和向上取整

(3)power(double r, double p):傳回r^p

(4)round(double x):将double型變量x四舍五入

三、選擇語句

1、if語句

if(n)==if(n!=0)

if(!n)==if(n==0)

兩者等價,是一種簡化的寫法