學習筆記 C C 的基礎知識

2021-10-02 12:43:05 字數 4026 閱讀 9743

本文章是本人所學知識簡單總結的,不喜輕噴(小聲)。

1、標頭檔案:

語法:#include《頭檔名》

作用:#include 《頭檔名》 表示把頭檔名中的所有內容拷貝到「這裡」。

eg:std::cout函式的標頭檔案: iostream (#include )

system函式的標頭檔案: windows.h (#include )

查詢路徑:

#include :

<>表示,從編譯器預設的路徑中去找檔案 stdio.h 這個預設路徑,取決於編譯器。不同平台下不同編譯器的路徑都不相同。

這個預設路徑下,已經包含了 c 標準庫所需要的所有標頭檔案。

使用 c++標準庫的標頭檔案使用該方式。

#include 「mytest.h」 :

「」表示從當前目錄下尋找檔案 mytest.h 如果在當前目錄下找不到,再從編譯器預設的路徑中查詢。

使用使用者自定義的標頭檔案使用該方式。

位置:要求放在程式最前面。

如果放在後面,在之前出現的關於標頭檔案的函式就會出錯。

2、main函式:

作用:main 函式是程式的唯一入口。 也就是說,程式執行時,首先從 main 函式開始執行。 乙個程式,必須要有乙個 main 函式,而且也只能有乙個 main 函式。

格式:法1(常用):

int main(void)

法2(初學者僅需了解):

int main(int argc, char* ar**)

main 函式的返回值:

main 函式應該用 return 返回乙個 int 型別資料,也就是說,必須返回乙個整數。 一般用法: 程式成功結束,則 main 函式返回 0。

程式有異常,則返回乙個大於 0 的整數。

其他函式:

使用已有的函式,來完成自己的工作,而不是一切都由自己來實現。

這些是可以使用在程式中的其他函式:

1)c 標準庫

2)c++標準庫

3)第三方開源框架

4)公司內已經開發好的函式

5)程式設計師自己定義的函式

3、字串常量

定義:內容永遠不會發生變化的字串,它需要用半形(英文輸入法)雙引號「」括起來。

eg:std::cout << "我的年齡是" << 100;

"我的年齡是"是字串常量,"100"是整形常量。

std::cout << "007"<< "是他的代號";

"007"是字串常量。

常量和變數的區別:

常量:在程式整個執行期間,值不會發生任何變化。

變數:在程式整個執行期間,值隨時可以發生變化。

4、cout 和 printf 的使用:

例項:std::cout << 「你好!」 ;

std::cout << 「你好!」 << std::endl;

std::cout << std::endl;

std::cout <<「工資:」 << 30000;

std::cout <<「工資: 30000」;

std::cout << 3.1415;

使用要求:

需要包含標頭檔案 #include ,注意不是#include 。

std 是乙個命名空間(後面會詳細講解)。

cout 是 std 命名空間內的乙個「物件」。

endl 也是 std 命名空間內的乙個物件,用來表示「回車符」(換到下一行的最前面)

物件:簡單理解為乙個具體的實體。

std::cout << 相當於呼叫了乙個特殊的函式(但不是函式),用來列印資料。

std::cout << 「工資:」 << 「30000」; 等效於:

std::cout << 「工資」;

std::cout << 30000;

std::cout, 可以連續輸出任意多個資料,中間用 << 隔開。

c 風格的列印:

例項:printf(「你好!」);

printf(「你好!\n」);

printf(「\n」);

printf(「工資:30000」);

printf(「工資:%d」, 30000);

printf(「工資:%d 年假:%d」, 30000, 12);

printf(「%f」, 3.1415);

printf(「圓周率:%f」, 3.1415);

說明:1、佔位符的使用

2、%d 整數 %f 浮點數(帶小數部分的資料)

使用要求:

需要包含標頭檔案 #include

特別注意:

std::cout 和 printf 還有很多用法,現在只需要掌握以上最常用的用法,其他的用法現在不需要關注。

列印語句的使用場合:

『列印』常常指:把資訊輸出到「標準輸出裝置」(標準輸出裝置,就是顯示器中的「終端」)。

3. 控制台應用程式的輸出

4. 程式除錯 bug 的重要手段

5、c++避免名字衝突:使用命名空間

法1:

#include

#include

namespace china

namespace japan

using

namespace japan;

intmain

(void

)

法2:

#include

#include

namespace china

namespace japan

//注意:沒有 namespace

//直接指定命名空間中的識別符號,而不是整個網域名稱

using china::capital;

using japan::population;

intmain

(void

)

法3:

#include

#include

namespace china

namespace japan

using

namespace china;

using japan::population;

intmain

(void

)

population: 不明確的符號

錯誤原因:

命名空間china中有population,而又單獨宣告了japan的population。

解決方案:

指定完整的網域名稱(japan::population )來表示。

6、使用注釋

注釋的目的:

為了讓程式更方便閱讀(「可讀」),以便於維護。

需要注釋的內容:

重要變數名的作用(用來表示什麼)

比較複雜的演算法思想

程式中的關鍵步驟

==注釋的方式:==有兩種注釋方式

多行注釋 /* */

不支援巢狀。

注意:不要為了注釋而注釋! 過多的注釋,反而有害!會把真正需要注意的東西淹沒。 eg:int i; //定義了乙個變數 i 。

注釋的風格:

函式的注釋,有特別的「姿勢」,可以讓**顯得更規範。

在行尾注釋 使用//注釋 。

在**的上一行使用//注釋 。

多方內容的注釋,使用 /* */。

函式的注釋。

良好的注釋風格,是乙個程式設計師的基本修養。

C C 學習筆記 基礎知識3

1 和 和 有什麼區別 1 和 對運算元進行求值運算,和 只是判斷邏輯關係。2 和 在在判斷左側運算元就能確定結果的情況下就不再對右側運算元求值。注意 在程式設計的時候有些時候將 或 替換成 或 沒有出錯,但是其邏輯是錯誤的,可能會導致不可預想的後果 比如當兩個運算元乙個是 1 另乙個是 2 時 2...

C C 學習筆記 基礎知識6

1複雜表示式與序列點 序列點是乙個時間點 在整個表示式全部計算完畢之後或在 或逗號運算子處,或在函式呼叫之前 此刻塵埃落定,所有的 都已確保結束.ansi iso c 標準這樣描述 在上乙個和下乙個序列點之間,乙個物件所儲存的值至多只能被表示式的計算修改一次。而且前乙個值只能用於決定將要儲存的值。i...

C C 學習筆記 基礎知識7

1字元和字串 在 c 語言中字元用它們的字符集值對應的小整數表示。因此,你不需要任何轉換函式 如有你有字元,你就有它的值。數字字元和它們對應的 0 9 的數字之間相互轉換時,加上或減去常數 0 也就是說,0 的字元值。字串用字元陣列表示 通常你操作的是字元陣列的第乙個字元的指標,c語言從來不會把陣列...