1 1 C 程式基本結構

2021-10-25 14:59:43 字數 2379 閱讀 4530

大綱目錄

#include: c++預處理器

預處理器是一些以**#**開頭的指令,指示編譯器在實際編譯之前所需完成的預處理。

預處理指令是給編譯器看的,不是c++語句,所以它們不會以分號結尾。

c++支援很多預處理指令,比如#include#define#if#else#line等。

#include指令,用於把頭檔案內容包含(新增)到原始檔中。預處理結束後,iostream檔案的內容將取代該行**,產生乙個復合檔案

: c++包含檔案

iostream包含檔案定義了c++的輸入輸出流, i是input, o是output

使用cincout的輸入輸出必須包含該檔案:iostream包含檔案通常被放在程式開頭,所以也被稱為標頭檔案

通常把.cpp檔案稱為原始檔,以示與標頭檔案的區別

頭檔案型別

約定示例

說明c++舊式風格

以.h結尾

iostream.hc++程式可以用c、c++程式都可使

c舊式風格

以.h結尾

math.hc++程式可以用,使用

c++新式風格

無副檔名

iosteramc++程式可以使用,用namespace std

轉換後的c

加上字首c,去掉原來的副檔名.h

cmathc++程式可以使用,不是c的特性,加namespace std

對於純粹的c++標頭檔案,去掉.h不只是形式上的變化,沒有.h的標頭檔案可以包含命名空間。

也可以用一些特殊的副檔名(.hpp或.hxx)表示c++的標頭檔案。

您可能會寫乙個名為xyz()的函式,在另乙個可用的庫中也存在乙個相同的函式xyz()。這樣,編譯器就無法判斷您所使用的是哪乙個xyz()函式。

因此,引入了命名空間這個概念,專門用於解決上面的問題,它可作為附加資訊來區分不同庫中相同名稱的函式、類、變數等。使用了命名空間即定義了上下文。本質上,命名空間就是定義了乙個範圍。

我們舉乙個計算機系統中的例子,乙個資料夾(目錄)中可以包含多個資料夾,每個資料夾中不能有相同的檔名,但不同資料夾中的檔案可以重名。

using是個編譯指令,該指令使指定的命名空間中的名稱對該指令後面的程式可用。

#include

intmain()

#include

using

namespace std;

intmain()

這種用法有個缺點,將std命名空間中的所有名稱全部暴露出來,如果程式中有多個命名空間,可能會導致命名衝突。這種懶漢式用法抹殺了命名空間的最初目標!

#include

intmain()

在每一次使用名稱的時候都加上std::字首

#include

using std::cout;

using std::endl;

using std::cin;

intmain()

#include

intmain()

第一種寫法

int

main()

第二種寫法

int

main

(int argc,

char

* ar**)

第三種寫法

int

main

(int argc,

char ar**)

第四種寫法

int

main

(void

)

注意事項:

c++多行注釋://c語言多行注釋:/* */c++多行注釋://

11 C語言迴圈結構 二

學習重點 學習內容 1.while語句的一般形式 while 表示式 語句 表示式是迴圈條件,語句是迴圈體 當表示式的值為真時,執行迴圈體語句。2.例項 求1 2 3 99 100 include int main int i 1,sum 0 while i 100 sum i i printf d...

11 C程式記憶體空間分配

bss段 bss segment 通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域。bss是英文block started by symbol的簡稱。bss段屬於靜態記憶體分配。資料段 資料段 data segment 通常是指用來存放程式中已初始化的全域性變數的一塊記憶體區域。資料段屬於...

11 C語言陣列

陣列的幾個名詞 陣列的應用場景 include int main int argc,const char ar int 元素型別 ages 陣列名稱 10 元素個數 int ages 10 int ages 3 int nums int nums 10 int nums 5 int nums int...