返回目錄 1 面向對象技術
上一節 1.3 面向對象設計
下一節 1.5 結構體和類ios
廢話很少說,敲代碼的第一步,固然是HelloWorld。c++
/* helloWorld.cpp,用C++寫HelloWorld */ #include <iostream> int main() { std::cout << "Hello" << std::ends << "World!" << std::endl; // 輸出語句 return 0; }
源文件命名爲HelloWorld.cpp。編程
你可使用IDE自動編譯,或者使用命令行手動編譯(我是在Windows環境)。segmentfault
而後我使用命令行編譯。函數
cd /d 源文件目錄
命令定位到源文件目錄;使用g++ HelloWorld.cpp -o HelloWorld
命令對HelloWorld.cpp源文件進行編譯,並將編譯完成的可執行文件重命名爲HelloWorld.exe;spa
g++ 源文件名.cpp
能夠用來編譯,編譯完成的可執行文件名爲a.exe;-o HelloWorld
用來將編譯的a.exe重命名爲HelloWorld.exe。HelloWorld
直接運行HelloWorld.exe。編譯運行結果:命令行
Hello World!
如你所見,只需包含iostream頭文件,就可使用:設計
要輸出的內容跟在<<後面便可,沒必要像C語言的printf()通常,要補充格式控制符。code
同時,使用cout,一樣可使用轉義字符,如n。對象
在C++中, std其實就是standard——標準的意思。這裏涉及到一個命名空間的問題。
namespace即「命名空間」,也稱「名稱空間」 、」名字空間」。這是一種代碼組織的形式,經過名稱空間來分類,區別不一樣的代碼功能,同時也是全部類的徹底名稱的一部分。
std::cout的意思就是std這個命名空間中的cout函數。
輸入輸出是咱們接觸編程這一門技術的入門小菜,接下來咱們用一個簡單的加法函數來展現C++的簡單輸入輸出。
/* io.cpp,C++輸入輸出實例:輸入兩個整數輸出其和 */ #include <iostream> int addNum(int num_1, int num_2) { return num_1 + num_2; // 返回傳入兩個變量之和的值 } int main() { int num_1, num_2; std::cout << "請輸入兩個整數用來求和:\n"; // 輸出提示語句 std::cin >> num_1 >> num_2; // 輸入兩個整型變量 std::cout << num_1 << " + " << num_2 << " = " << addNum(num_1, num_2); // 調用求和函數,獲得兩個整數的和並輸出 return 0; }
請輸入兩個整數用來求和:
; 1 1
; 1 + 1 = 2
。很簡單。std::cin表示輸入,上面也講了,std::cout表示輸出。
一樣的,cin不須要格式控制符,直接對標變量的數據類型進行賦值。
寫函數和調用函數和C語言幾乎一致。
/* for.cpp,for循環實例,用循環算順序累加和 */ #include <iostream> int main() { int sum = 0, min_num, max_num; // 存儲累加的結果、最小值和最大值 std::cout << "請輸入最小值:" << std::endl; std::cin >> min_num; std::cout << "請輸入最大值:" << std::endl; std::cin >> max_num; for (int i = min_num; i <= max_num; ++i) { sum += i; // 循環累加 } std::cout << "從" << min_num << "加到" << max_num << "的和爲:" << sum << std::endl; // 輸出累加和 return 0; }
C++的for循環與C相比沒什麼區別,不一樣的是在for()裏面的第一項能夠定義新變量。若是採用g++編譯C程序,也是能夠的。
#### 編譯運行
>> 請輸入最小值: << 1 >> 請輸入最大值: << 100 >> 從1加到100的和爲:5050
/* while.cpp,while循環實例,多個數字的和 */ #include <iostream> int main() { int num = 0, sum = 0; std::cout << "你能夠對任意個數的整數求和,請輸入任意個數的整數,最後輸入EOF結束(Windows環境鍵盤快捷鍵爲Ctrl+Z):" << std::endl; while (std::cin >> num) // 遇到EOF退出while循環 { sum += num; // 相加 } std::cout << "你輸入的數字總和爲:" << sum << std::endl; // 輸出和 return 0; }
c++的while()中能夠直接用std::cin做爲條件,只有輸入EOF時,退出循環。
>> 你能夠對任意個數的整數求和,請輸入任意個數的整數,最後輸入EOF結束(Windows環境鍵盤快捷鍵爲Ctrl+Z): << 1 << 23 << 456 << 7890 << ^Z >> 你輸入的數字總和爲:8370
/* dowhile.cpp do ... while實例 */ #include <iostream> int main() { int sum = 0; do { sum++; std::cout << "程序已經執行了" << sum << "次!按回車繼續執行下一次!按其它鍵後回車退出!"; } while (getchar()=='\n'); return 0; }
do ... while和while差很少,只是do ... while要先執行一次之後,再看while的條件。
程序已經執行了1次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了2次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了3次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了4次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了5次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了6次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了7次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了8次!按回車繼續執行下一次!按其它鍵後回車退出! 程序已經執行了9次!按回車繼續執行下一次!按其它鍵後回車退出!233
/* recursion.cpp 遞歸實例 */ #include <iostream> int ChristianKramp(int num) // 這個函數是求階乘的 { if (num > 0) { if (num == 1) { return 1; } else { return num * ChristianKramp(num - 1); } } else { return -1; } } int main() { std::cout << ChristianKramp(5); // 輸出5的階乘 return 0; }
這是一個簡單的遞歸實例,效果是求階乘
>> 120
返回目錄 1 面向對象技術
上一節 1.3 面向對象設計
下一節 1.5 結構體和類
參考資料: