標籤:c++ 教程 if while for
參考書籍:C++ Primer 5th
代碼:https://github.com/alivebao/StudyofCPlusPlus
1. Hello World
學寫代碼的第一個程式-Hello World
Code:
int _tmain(int argc, _TCHAR* argv[]){ std::cout<<"Hello World"<<std::endl; return0;}
Pic:
C++程式由一個或多個函數組成,其中有一個必須命名為main,main函數是主函數,是程式的進入點。也就是說,任何程式的執行,均由main函數開始。
什麼是函數?
可以將函數視為執行某種功能的語句塊的集合。函數由四部分組成:傳回型別,函數名,輸入參數列表(由小括弧括起)及函數體(由大括弧括起)。在Hello World這一程式中,傳回型別為int,int是C++內建類型的一種,表示一個整型數字。函數名為main,輸入參數列表為空白,函數體中第一句將Hello World輸出至螢幕,第二句return表示函數執行完畢,並返回了數字0。
2. 輸入輸出
C++中可通過cin和cout執行輸入和輸出。在Hello World中,即通過cout在螢幕上列印出了單詞。下面看一個輸入輸出使用執行個體-Add2Num。
Code:
void Add2Num(int a,int b){ std::cout<<"the sum of "<<a<<" and "<<b<<" is:"<<a+b<<std::endl; return;}int _tmain(int argc, _TCHAR* argv[]){ inti,j; std::cout<<"Please input two num:"<<std::endl; std::cin>>i>>j; Add2Num(i,j); return0;}Pic:
main函數中首先定義了兩個整型變數i和j,之後用cout列印出一句話,再利用cin將i和j賦值。最後調用Add2Num函數,列印出兩個數字相加的和。
什麼是變數?
變數是用於儲存資料的一塊記憶體空間,變數的定義由變數類型和變數名稱組成。程式通過變數名對資料進行操作。
什麼是函數調用?
這個程式中定義了一個名為Add2Num的函數,根據上一節所說,函數傳回型別為void,函數名為Add2Num,參數列表為a和b兩個整型變數。在函數體內輸出了兩個整型變數的和。該函數在main中被調用:Add2Num(i,j)。該語句將i和j賦給了a和b。
什麼是輸入輸出
這裡只要先記住通過cin可以輸入變數,通過cout可以將想輸出的內容列印至螢幕上即可。
3. 控制流程
if,for,while
Code:
int _tmain(int argc, _TCHAR* argv[]){ std::cout<<"IF Test:"<<std::endl; if(1>3) std::cout<<"1>3"<<std::endl; else std::cout<<"1<3"<<std::endl; std::cout<<"FOR Test:"<<std::endl; for(int i = 0 ; i < 3 ; ++i){ std::cout<<"i = "<<i<<std::endl; } std::cout<<"WHILE Test:"<<std::endl; intj = 3; while(j!= 0){ std::cout<<"j = "<<j<<std::endl; --j; } return0;}
Pic:
程式執行順序為從上至下依次執行,但在控制流程中,會根據邏輯判斷結果選擇性的執行。本程式中的if、for和while即為邏輯判斷。在這些判斷邏輯的括弧中即為判斷條件,若判斷條件為真,則執行之後大括弧裡的語句,為假則跳過。如if中,1>3為false,因此直接執行else中的內容。
for文法:for的括弧中一般有三個運算式,執行順序為:
1. 定義:int i = 0
2. 判斷:i是否小於3
3. i小於3,判斷條件為真,執行大括弧中的內容
4. 執行++i,++i的意思是i增加1.此時i變為1.
5. 再次判斷i是否小於3
6. 。。。
7. i不小於3時,判斷語句i<3為false,不再執行for大括弧中的內容,for迴圈結束
while文法:
1. 判斷j!=0,即j不等於0這一邏輯是否為true,為真則執行括弧中的語句
2. 括弧中輸出j的值並執行—j,即j的值減少1.再次判斷while小括弧中的判斷,發現j不等於0仍成立,因此繼續執行大括弧中的內容,直到j為0,while迴圈結束。
C++教程第一章-Hello World