c語言複習總結:
這個檔案是在學習完c語言的基本用法後,回顧c語言的一些語法和易錯,不易理解的一下內容,可能會存在內容不連續的情況.
本文內容,有參考自 m了個
j的部落格
根據自身的學習進行了部分的摘抄和擴寫
原文請參考:
算術運算:
模運算子或稱取餘運算子%
使用這個
%有個原則:
%兩側必須都為整數。
負數取餘
1int
a = -5%
2; 2
intb =
5% -2;
3intc = -
5% -2;
利用%求出來的餘數是正數還是負數,由
%左邊的被除數決定,被除數是正數,餘數就是正數,反之則反。因此變數a、
b、c的值分別是-1、
1、-1
自加運算:
再來看乙個比較刁鑽的例子 1
inta = 10;
2 3a = a++;
很多人一眼看上去,覺得最後
a的值應該是
11,其實最後
a的值是
10。前面已經說過
a++的作用了,這裡也是一樣的。先將
a的值拷貝出來乙份,然後對a執行
+1操作,於是
a變成了
11,但是拷貝出來的值還是10,
a++運算完畢後,再將拷貝出來的值
10賦值給了
a,所以最後變數
a的值是10
sizeof
可以用來計算乙個變數或者乙個常量、一種資料型別所佔的記憶體位元組數。
c語言中各類運算子的優先順序:
小括號() >
負號- >
!>
算術運算子
>
關係運算子
>
&&> ||
位運算:
&按位與整數a
和b各對應的二進位相與。只有對應的兩個二進位均為
1時,結果位才為
1,否則為
0。參與運算的數以補碼
方式出現
可以通過與運算判斷 二進位制形式的某乙個數的某一位是1 還是0
|按位或整數a
和b各對應的二進位相或。只要對應的二個二進位有乙個為
1時,結果位就為
1,否則為0
^按位異或整數a
和b各對應的二進位相異或。當對應的二進位相異(不相同)時,結果為
1,否則為0
~取反
對整數a
的各二進位進行取反(0變
1,1變
0)<<左移
把整數a
的各二進位全部左移n位,
高位丟棄,低位補
0。左移
n位其實就是乘以2的
n次方。
>>右移
把整數a
的各二進位全部右移n位,
保持符號位不變
if 條件語句使用注意
1、千萬不要在
if的小括號後面新增分號 2、
像a==0
這樣的表示式,最好寫成
0==a
,若你誤寫成
0=a,編譯器會直接報錯的
switch語句使用注意: 1、
如果某個
case
後面沒有
break
,意味著執行完這個
case
中的語句後,會按順序執行後面所有
case
和default
中的語句,直到遇到
break為止
2、在某些時候,我們確實沒有必要在每乙個
case
後面新增
break
。下面舉乙個例子:判斷分數的優良中差等級(
100分滿分)。 1
intscore = 77;
2 3switch
(score/
10)
3、有時候,我們可能會想在
case
中定義一些變數,這個時候,就必須用大括號
{}括住
case
中的所有語句。(作用域 要明確 if語句也有此要求)
break和continue
break
跳出此次迴圈,只會影響它所在的那個迴圈。雙重迴圈,不會影響外面的迴圈
continue
跳過這一次迴圈,直接進入下一次迴圈,只會影響它所在的那個迴圈
函式:1.任何乙個函式在使用之前都必須進行定義
2、呼叫函式時傳遞的實參個數必須和函式的形參個數必須保持一致
3.當使用基本資料型別(char、int、float等)作為實參時,實參和形參之間只是值傳遞,修改形參的值並不影響到實參
4.函式可以沒有形參
5.返回值就是函式呼叫完後,返回給函式呼叫者的結果,用return關鍵字進行返回。定義函式時,要指明函式的返回值型別
6、乙個函式可以沒有返回值,如果沒有返回值,應該用void表示返回值型別
7、如果乙個函式沒有返回值,最後面的return語句可以省略
8、如果乙個函式沒有明確寫出返回值型別,那麼代表這個函式的返回值型別是int
9、return語句可以在函式內部返回乙個值給函式呼叫者
10、乙個函式內部可以多次使用return語句,使用了return語句後,函式就會馬上停止執行,return語句後面的**就不再被執行
黑馬訓練營 C 基礎篇總結2
1 在兩種情況下使用結構 一 儲存乙個人的資訊要宣告一組變數,當存n個人的資訊 時就要宣告n組變數 二 儲存乙個人資訊的這幾個變數間沒有關係,容易記混。2 計算機中最小單位叫 位 bit,位元 計算機能夠處理的最小單位叫 位元組 byte,b kb mb gb 3 bps是網路頻寬的單位 4 如何把...
機器學習訓練營
邏輯回歸 logistic regression,簡稱lr 雖然其中帶有 回歸 兩個字,但邏輯回歸其實是乙個分類模型,並且廣泛應用於各個領域之中。雖然現在深度學習相對於這些傳統方法更為火熱,但實則這些傳統方法由於其獨特的優勢依然廣泛應用於各個領域中。而對於邏輯回歸而且,最為突出的兩點就是其模型簡單和...
黑馬訓練營 優化大資料插入
asp.net android ios開發 net培訓 期待與您交流!利用普通的方法進行大資料的插入,速度十分的慢。如圖可見,25萬8千條資料的插入,按照普通的方案,即便是獨佔connection不斷開,也需要將近20分鐘。而對比bulk僅需要將近4秒鐘,對比差距很大。而bulk僅僅是開始,我們繼續...