C 基礎學習筆記

2021-09-26 16:07:21 字數 2221 閱讀 7027

c++ 完全支援物件導向的程式設計,包括物件導向開發的四大特性:

#include using namespace std;

// main() 是程式開始執行的地方

int main()

程式結構介紹:

儲存類定義 c++ 程式中變數/函式的範圍(可見性)和生命週期。這些說明符放置在它們所修飾的型別之前。下面列出 c++ 程式中可用的儲存類:

extern儲存類用於提供乙個全域性變數的引用,全域性變數對所有的程式檔案都是可見的。當您使用 『extern』 時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。

當有多個檔案且定義了乙個可以在其他檔案中使用的全域性變數或函式時,可以在其他檔案中使用 extern 來得到已定義的變數或函式的引用。可以這麼理解,extern 是用來在另乙個檔案中宣告乙個全域性變數或函式。

extern 修飾符通常用於當有兩個或多個檔案共享相同的全域性變數或函式的時候,如些所示:

#include int count ;

extern void write_extern();

int main()

#include extern int count;

void write_extern(void)

c++ 中的函式定義的一般形式如下:

return_type function_name( parameter list )

在 c++ 中,函式由乙個函式頭和乙個函式主體組成。下面列出乙個函式的所有組成部分:

// 函式返回兩個數中較大的那個數

int max(int num1, int num2)

c++生產隨機數

(1)rand()

rand()會返回一隨機數值, 範圍在0至rand_max 間。rand_max定義在stdlib.h, 其值為2147483647。

#include #include using namespace std;

int main()

return 0;

}

(2)srand()

srand()可用來設定rand()產生隨機數時的隨機數種子。通過設定不同的種子,我們可以獲取不同的隨機數序列。

可以利用srand((int)(time(null))的方法,利用系統時鐘,產生不同的隨機數種子。不過要呼叫time(),需要加入標頭檔案< ctime >。

#include #include #include using namespace std;

int main()

return 0;

}

(3)用巨集定義來替換 rand函式

#include #include #include #define random(x) rand()%(x)

using namespace std;

int main()

return 0;

}

其他的隨機數的範圍通式

產生一定範圍隨機數的通用表示公式是:

要取得[0,n) 就是rand()%n 表示 從0到n-1的數

要取得[a,b)的隨機整數,使用(rand() % (b-a))+ a;

要取得[a,b]的隨機整數,使用(rand() % (b-a+1))+ a;

要取得(a,b]的隨機整數,使用(rand() % (b-a))+ a + 1;

通用公式:a + rand() % n;其中的a是起始值,n是整數的範圍。

要取得a到b之間的隨機整數,另一種表示:a + (int)b * rand() / (rand_max + 1)。

要取得0~1之間的浮點數,可以使用rand() / double(rand_max)。

C 基礎學習筆記

1.decimal型別不是基本型別,所以在計算時使用會有效能損失。2.c 的char表示乙個8位字元,而c 的char包含16位。原因是不允許在char型別與8位的byte型別之間進行隱式轉換。3.從字串獲取列舉值 timeofday time1 timeofday enum.parse typeo...

C語言基礎學習筆記

1.變數,變數的輸出 include int main 字串佔位符是 s,指標佔位符為 zd,指標的長度都為8位。p是位址佔位符,int陣列之間位址差值為4 2.風格 printf 積分等級 c n score 逗號後面跟空格。3.乙個漢字是3個位元組,乙個位元組佔8位。4.陣列 include i...

C 基礎學習筆記 指標

鬱悶,每次改完一看又發現有打錯的地方,又改,又審核半天,看來還是不夠細心 指標是儲存變數位址的變數。1.指標基本宣告與使用 using namespace std int num 1 int pnum int nums 2 int pnums nums int p new int 10 p 10 c...