個人各種出現過的易錯易忘知識集錦

2021-09-27 07:59:42 字數 2492 閱讀 7813

1.定義在for迴圈語句中的變數屬於區域性變數

2.乙個大於1的整數,如果除了1和它自己之外,再也沒有其它的因子,這個整數就叫做質數;0與1不是質數

3.條件語句中使用 '^'符號帶上你的小括號!(不然比個球球)

實質上是『= =』的優先順序高於位運算子(&,|,^,>>,<<,~)

4.ll(long long)定義了乙個變數,當它等於幾個int型變數運算結果時,即使資料未超過ll範圍,也可能爆掉,解決方法:強制轉換或者更改使資料型別一致。不僅僅是ll,當乙個變數等於乙個等式時,等式左右涉及的變數範圍和型別如果不一致也一樣可能會出錯。

5.輸入資料有多組的字元陣列的時候,如果以斷行結束,可以通過判斷陣列長度是否為0來判斷。

6.排序時求最小交換次數即為求逆序數對數

7.unique的作用是「去掉」容器中相鄰元素的重複元素

8.lower_bound( begin,end,num):從陣列的begin位置到end-1位置二分查詢第乙個大於或等於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。

upper_bound( begin,end,num):從陣列的begin位置到end-1位置二分查詢第乙個大於num的數字,找到返回該數字的位址,不存在則返回end。通過返回的位址減去起始位址begin,得到找到數字在陣列中的下標。

9 一定注意資料範圍

10 對於scanf("%d %c"…) 中的『 』(空格符號)

可以啟到分隔字元型資料與整形資料的作用

類似輸入時間日期時的『 : 』 , 輸入分數時的』 / 』

11 所謂加權求和,用的是乘以權重再求和(阿西吧!!!!)

12 模擬題就一步步來,規律畫圖題就對比資料特徵

13 %輸出方法:%%

14 整形陣列輸入必須有空格隔開

15 小心關鍵字(例index)

16 0,1不是素數

17 longlong 輸入一定用%lld,不然亂碼

18 右對齊:%xd

左對齊:%-xd

19 多組資料,並且用%s輸出時,需要清空陣列,如果前一組資料太長,會把末尾遺留給後面的資料

20 進製準換

十進位制轉r進製,不停用十進位制的數對r進行取模再自除r

m進製轉r進製,m——>10——>r

r轉10進製:直接展開

21 輸入包含字元和換行,利用好getchar()吸收字元

22 * 的作用

在scanf中使用,則新增了 * 的部分會被忽略,不會被引數獲取%*d,%s

在printf,以作為變數控制輸出格式:

%ns  (

"%* s"

,n,a )

: 至少輸n位字串,超長不截斷,不足右對齊

%-ns : 至少輸n位字串,超長不截斷,不足左對齊

%n.ms:

("%*.*s"

,n,m,a) 至少輸n位字串,超m截斷 ,不足右對齊

%-n.ms: 至少輸n位字串,超m截斷 ,不足左對齊

* 代替變數

23 字元陣列b[m],令b[m]=0,可以截斷輸出,等價於b[m]=』\0』

24 判段1/n是否是無限迴圈小數

若:n的因子只有1,2和5,那麼1/n不是,反之n如果有其他因子

25 c語言的全域性變數在沒有賦值前預設為0

26 對存在負數取模結果最好:(x+mod)%mod

27 n個人選m種不同方案,共m^n 種情況數

28 c語言取整方法:

1、直接賦值給整數變數。如:    int i =

2.5; 或 i =

(int

)2.5

; 這種方法採用的是捨去小數部分。

2、c/c++中的整數除法運算子"/"本身就有取整功能(

int/

int),而下面介紹的取整函式返回值是double。

整數除法對正數的取整是捨去小數部分,但是整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor

(x)返回的是x的整數部分。如: floor

(2.5)=

2floor(-

2.5)=-

34、使用ceil函式。ceil

(x)返回的是不大於x的最小整數。如: ceil

(2.5)=

2ceil(-

2.5)=-

2

floor和ceil對於正數沒有區別,但是對於負數結果不同。

floor

()是向負無窮大捨入,floor(-

2.5)=-

3;ceil

()是向正無窮大捨入,ceil(-

2.5)=-

2。5、round

(x)返回x的四捨五入整數值。(

int型)

物件導向個人總結一些易錯知識

一 類的載入 1 同一類的載入順序 先加載入靜態 塊 隨著類的載入而載入 再載入構造 塊 用於多個構造方法中相同的 最後構造方法 2 若乙個子類繼承乙個父類,則在 new子類物件的時候會先載入父類構造器,用 super 呼叫,寫在子類構造方法的第一行 不寫預設為無參構造 例子 class fu st...

python簡單易忘的知識點整理

if isinstance data,str isinstance 判斷引數1是否為引數2指定的資料型別,返回bool值 random.sample a,b 從序列a中隨機抽取n個元素,並將n個元素生以list形式返回。join python的join 方法用於將序列中的各個元素 必須是str型別 ...

C的幾點易錯點,知識點梳理

c的幾點易錯點,知識點梳理 a.struct test int a int b 這是自己定義了乙個結構體。b.struct test int a int b test 這是自己定義了乙個結構體的同時,還申請了乙個結構體變數,名字是 test。c.typedef truct test int a in...