而今,重走C 路 開始

2021-10-01 22:26:48 字數 1955 閱讀 6850

源程式檔案命名約定

程式檔案通常被稱為原始檔(source file)。不同編譯器使用不同的字尾命名c++程式,最常見的包括:.cc.cxx.cpp.cp.c

使用命令執行編譯器

$ cc prog1.cc——

cc是編譯器的名字,$是系統提示符。編譯器生成乙個可執行檔案。

windows系統會將這個可執行檔案命名為 prog1.exe

unix系統中的編譯器會將可執行檔案命名為 a.out

在unix系統中,使用$ echo $?在windows系統中,使用$ echo %errorlevel%c++並沒有定義任何輸入輸出(io)語句,取而代之包含了乙個全面的標準庫(standard library)來提供io機制(以及很多其他設施)。

iostream庫包含兩個基礎型別,istreamostream,分別表示輸入流和輸出流。

標準庫定義了4個io物件。

使用了乙個名為cin的istream型別的物件,這個物件被稱為標準輸入(standard input)

使用了乙個名為cout的ostream型別的物件,這個物件被稱為標準輸出(standard output)

cerr來輸出警告和錯誤資訊

clog來輸出程式執行時的一般性資訊

// 告訴編譯器要使用iostream庫,<>表示是標頭檔案

#include int main()

兩種注釋方式:

單行注釋 //

注釋界定符 /* */

#include int main()

類機制是c++中最重要的特性之一。在c++中,我們通過定義乙個類(class)來定義自己的資料結構。

實際上,c++最初的設計焦點就是能定義使用上像內建型別一樣自然的類型別(class type)。

為了使用類,我們需要了解三件事情:

下面通過乙個簡單的例子來解決這些問題:

對於乙個書店程式來說,我們假定類名為sales_item,在標頭檔案sales_item.h中定義這個類。

如此可見,為了使用標準庫設施,我們必須包含相關的標頭檔案。類似的,我們也需要使用標頭檔案來訪問自己的應用程式所定義的類。習慣上,標頭檔案根據其中定義的類的名字來命名。我們通常會使用.h作為標頭檔案的字尾,但也有一些程式猿習慣使用.h.hpp.hxx。標準庫標頭檔案通常不帶字尾。編譯器一般不關心頭檔名的形式,但有的ide對此有特殊的要求。

sales_item類的作用是表示一本書的總銷售額、售出冊數和平均售價。

每個類實際上都定義了乙個新的型別,其型別名就是類名。因此,我們的sales_item類定義了乙個名為sales_item的型別。與內建型別一樣,我們可以定義類型別的變數。

sales_item item;
定義了乙個sales_item型別的變數之後,我們還可以:

使用#include "sales_item.h"來引入自定義的類。

$ additems outfile

item1.isbn()

而今,重走C 路 基礎(1)

c 定義了一套包括算數型別 arithmetic type 和空型別 void 在內的基本資料型別。算數型別分為兩類 整型 integral type,包括字元和布林型別在內 浮點型 算數型別的尺寸 也就是該型別資料所佔的位元數 在不同的機器上有所差別。如下表展示了c 標準規定的尺寸的最小值,同時允...

重走普及路 貪心 合併果子

在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗體力之和。...

重走普及路 樹 FBI樹

我們可以把由 0 和 1 組成的字串分為三類 全 0 串稱為b串,全 1 串稱為i串,既含 0 又含 1 的串則稱為f串。fbi樹是一種二叉樹,它的結點型別也包括f結點,b結點和i結點三種。由乙個長度為2 n的 01 串s可以構造出一棵fbi樹t,遞迴的構造方法如下 1 t的根結點為r,其型別與串s...