1. 函式呼叫應在函式宣告之後,函式宣告可在main上面,也可在main內部,或者在標頭檔案裡?
2. c語言標頭檔案以.h結尾,新的ansi c++推出的編譯系統不帶.h,c++保持相容,可並存。
3. c語言無命名空間,因此無需作using namespace說明
4. c語言中,main函式無返回值: void main(){}
c++中,int main()
5. 編譯(目標檔案 .o/.obj)+庫檔案和其他目標程式-->連線(彙編)(.exe)
6. c++資料型別:
(a)基本型別
整型:短整型short int 整型int 長整形 long int
字元型:char
浮點型:單精度型float 雙精度型double 長雙精度型 long double
布林型:bool
(b)構造型別
列舉型別enum
陣列型別
結構圖struct
共同體union
類型別class
(c)指標型別
(d)引用型別
(e)空型別
7.數值的表示
020 16 16l 1.6e1
8. 常變數必須在定義時同時給出賦值,不可分開
9. 用#define a = 100為常量,在編譯時做替換,記憶體中不存在常量
用const int a = 100為常變數(本身為變數,用const限制不可修改)
10.不同資料型別運算,先進行型別轉換
double<--float
|long
|unsigned
|int<--short, char
橫向為必須的轉換,從下往上優先順序更高(低優先順序往高優先順序轉換)
疑問:int與unsigned做運算,int怎麼換為unsigned???
11.型別不匹配的賦值過程
float/double-->int,取整數部分
int-->float/double,以浮點型儲存int對應值
double-->float,若數值超出範圍,則報錯
char-->數值,值為ascii
int/short/long-->char,取低8位賦值
signed-->unsigned,連帶符號位原內容照搬(數值和符號都發生變化)
例如-5賦值給unsigned int,可能變為4294967291
12.賦值運算由右至左執行
例如,a=b=5;相當於b=5;a=b;
再如,a+=a-=a*a,若a初值為12,則首先a-=a*a(a=a-a*a)得到a=-132
然後,a+=a(a=a+a),得到a=2a=-264
13.順序求職表示式(逗號表示式)
expr1,expr2: 值為expr2的值
例如(a=3*5,a*4),a+5值為65
14.\ddd為八進位制
\xhh為16進製制
15.對於輸入流,系統會根據變數的型別從輸入流中提取相應長度的位元組。
例如,char c1,c2; int a; float b;
cin>>c1>>c2>>a>>b;
輸入1234 56.78
則,c1='1';c2='2';a=34;b=56.78;
16.輸出流格式(引用標頭檔案)
預設cout輸出流有效位數為6,可以通過cout<;
t max(t a, t b);
22.記憶體中使用者使用的儲存空間:
(1)程式區
(2)靜態儲存區
(3)動態儲存區
全域性變數儲存在靜態儲存區,在程式開始時給全域性變數分配儲存空間,在程式執行過程中占用固定的儲存單元,而不是動態的分配和釋放。
動態儲存區:形參,區域性變數,現場保護
23.c++中變數的除了資料型別屬性之外,還有儲存類別(storage class)
儲存方法分為靜態儲存和動態儲存,具體分為自動【(auto)】、靜態【staic】、暫存器【register】和外部【extern】
23.靜態區域性變數賦初值是在編譯時進行,若在定義時不賦值,編譯時自動賦值0或空字元
24.暫存器變數存放在暫存器中,避免了每次都要記憶體中訪問。對於使用十分頻繁的變數,可以在宣告為暫存器變數(例如次數較多的while迴圈)。
register int i;
eg.register double sum = 0;
register int i=0;
register int j=0;
for(i=0;i<100000;i++)
;int a[10]=;//未定義部分預設0,長度為10
int a=;//長度為5
int a[4] = ,};
int a[3] = ,{},}; //3*3
char s[10] = ; //未定義部分預設'\0'
C 重要知識點
參考從4行 看右值引用 什麼叫左值,什麼叫右值?可以對表示式取位址的是左值,不能對表示式取位址的是右值。例如 int a 1 這裡a是變數,在棧中為其分配了具體的位址,是左值。1是右值。例如 int a std max 1,3 max方法的返回值是右值,在賦值給a後會被銷毀,因此是右值。什麼是右值引...
c 知識點小結
1 sha1加密 using system.security using system.security.cryptography public static string sha1signature string str c sha1演算法實現及注意問腿 2 c 獲取時間方法 datetime.n...
網路程式設計知識點小結
目錄二 socket c s 客戶端和伺服器 b s 瀏覽器和伺服器,本質上還是客戶端和伺服器 tcp 基於資料流的可靠協議 三次握手 四次揮手 udp 基於資料報的不可靠協議 在傳輸層和應用層之間的一層抽象層,可以操作網路層和傳輸層 1 socketserver模組實現tcp簡單通訊 服務端 匯入...