C++對大小寫敏感
用cmd編譯c++程序
首先得下一個編譯器MinGW,VS等,其實主要是要該文件/VC/bin/目錄下的cl.exe編譯,將該路徑配置到環境變量的path中,原理同javac原理一致。
完成之後,將DOS命令提示符中路徑換到要編譯的文件目錄下,通過cl -EHsc xxx.cpp生成xxx.o文件以及xxx.exe程序。雙擊xxx.exe程序(若閃退,則在代碼return 0;前加cin.get()等待獲取鍵擊)或在命令行中輸入xxx.exe即可看到運行程序結果。
.cpp文件包含以下元素
- 註釋//
- 預處理編譯指令#include
- 函數頭int main()
- 編譯指令 using namespace
- 函數體,{}括起來的部分
- 顯示消息的語句cout工具
- 結束main函數的return語句
main()函數
由函數頭、函數體組成
函數頭:對函數與程序其他部分之間的接口進行了總結
函數體:指出函數應做什麼的計算機指令
語句:每條完整的指令(C++中),所有語句都以分號(西文字母的分號“;”)結束
main()中最後一條語句叫返回語句(return statement),他結束該函數。
1、作爲接口的函數頭
C++函數可被其他函數激活或調用,函數頭描述了函數與調用它的函數之間的接口。
位於函數名前面的部分叫做返回類型,它描述的是從函數返回給調用它的函數的信息。
位於函數名後面的部分叫做參數列表或形參列表,它描述的從調用函數傳遞給被調用函數的信息。
通常,main()函數被啓動代碼調用,啓動代碼是由編譯器添加到程序中的,是程序與操作系統之間的橋樑。
參數:計算機人員用來表示從一個函數傳遞到另一個函數的信息。
2、爲什麼main()不能用其他名稱
C++程序必須包含一個名爲main()的函數
在運行C++程序時,通常從main()函數開始執行的
DDL(動態鏈接庫模塊)----這是其他Windows程序可以使用的代碼。(並不需要main函數打頭)
C++註釋
註釋是程序員爲讀者提供的說明,編譯器忽略註釋。
程序越複雜,註釋的價值越大。
註釋不僅有助於他人理解這些代碼,也有助於程序員自己理解代碼,特別是隔了一段時間沒有接觸該程序的情況下,
//單行註釋
/*多行註釋*/
C++預處理器和iostream文件
#include<iostream>
該編譯指令導致預處理器將iostream文件的內容添加到程序中。
原始文件沒有被修改,而是將源代碼文件和iostream組合成一個複合文件,編譯下一個階段將用到該文件。
注意:使用cin和cout進行輸入和輸出的程序必須包含文件iostream。
頭文件名
像iostream這樣的文件叫包含文件(include file)---由於它們被包含在其他文件中
也叫頭文件(header file)---由於它們處於文件起始處。
C++編譯器自帶很多頭文件。
名稱空間
如果使用iostream,而不是iostream.h,則應使用using namespace std;名稱空間編譯指令來使iostream中的定義對程序可用。
這是using 編譯指令。
名稱空間支持是c++一項特性,旨在編寫大型程序以及將多個廠商現有代碼組合起來的程序時更容易,有助於組織程序。
程序可以使用名稱空間來區分不同的版本。
類、函數和變量便是C++編譯器的標準組件,他們現在都被放置在名稱空間std中,僅當頭文件沒有擴展名h時,情況是纔是如此。這意味着iostream中定義的用於輸出的cout變量實際上是std::cout,而endl實際上是std::endl。因此實際上可以省略編譯指令using namespace std;
這個using編譯指令使得std名稱空間中的所有名稱都可使用。這是一種偷懶的方法,在大型項目中一個潛在的問題。潛在問題?
更好的方法,就是隻使所需的名稱可用,例如:using std::cout/endl/cin等;
使用cout進行c++輸出
cout << "Come up and C++ me some time";
雙引號括起來的就是要打印的消息。---用雙引號括起來的一系列字符叫做字符串。
<<符號表示該語句將把這個字符串發送個cout
輸出是一個流,即從程序流出一系列字符。
<<插入運算符,他可以將其右側的信息插入到流中。
控制符endl
endl是一個特殊的C++符號,表示一個重要概念:重起一行。
換行符
輸出時指示換行的舊式方法:C語言符號\n,被視爲一個字符,名爲換行符。
在一定程度上,與endl相比,可減少輸入量。
差別:endl確保程序繼續運行前刷新輸出(將其立即顯示在屏幕上);而使用“\n”不能提供這樣的保證,這意味着在有些操作系統中,有時可能輸入信息後纔會出現提示。
C++源代碼格式化
在C++中,回車的作用就和空格或製表符相同。
這說明既可以把一條語句放在幾行上,也可以把幾條語句放在同一行上。
不能把空格、製表符或回車放在元素中間,也不能把回車放在字符串中間。
標記:一行代碼中不可分割的元素叫做標記
空白:空格、製表符、和回車統稱爲空白