每個程序員的Hello World程序
//This is a small c++ program #include <iostream> int main() { std::cout << "Hello, World" << std::endl; system("pause"); return 0; }
1.注釋
符號//開始,到行末都是注釋。編譯器忽略注釋。寫注釋的原因是:告訴程序相關信息,方便理解。
2.#include
在c++中,有很多基礎設施(編寫好的類和方法)。例如輸入和輸出函數,都是標准庫的一部分,而不是c++語言的一部分。c++語言隨時可以使用,但是要使用標准庫的方法,就得告訴編譯器。#include<>。 <>之間的被稱為標准頭文件。標准庫如何實現,我們不關心,我們只需要告訴編譯器要使用標准庫,#include導入頭文件,就可以使用標准庫中的類和方法了。
3.main 函數
函數: 返回值 函數名 (參數)
main()函數是程序的入口,所有c++程序都調用這個函數。
4.{}
{}之間的是函數的函數體
int main() { // left brace // the statements go here. } // right brace
5.使用標准庫輸出
std::cout << "Hello, World" << std::endl;
std 命名空間名稱。為什么要有命名空間? 如果你有3個名稱是一樣的函數 show()。 sld::show() std::show() sfd::show() 表示3個命名空間中的不同函數,這樣就不容易混淆。
cout 標准庫中的一個類。 cout重載了 << 操作符。 << 之后""之間的語句被傳送到標准輸出流中。
endl 標准庫中的一個類。std::endl表示換行。
6.返回值
return 0;
return語句表示當前函數結束。return返回值的類型必須和函數返回值的類型兼容,否則程序會報錯。
7.深度思考
該程序使用兩個的概念,涵蓋C ++編程:表達式和范圍。
一個表達式要求程序來計算某些東西。 計算產生一個結果,也可能產生一些效果(效果影響程序的狀態)。
3+4
表達式3+4,計算出一個結果7,沒有產生額外的效果。
std::cout << "Hello, world!" << std::endl
表達式 std::cout << "Hello, world!" << std::endl 沒有計算結果,但是改變了程序的狀態,窗口顯示 Hello, world!
一個表達式包含運算符和運算數。
在Hello World例子中,std::cout、"Hello, world!"、std::endl都是運算數, 兩個<<都是運算符。
運算數都有自己的類型。類型表示數據結構和對該數據結構有意義的操作的含義。
類型通常有名字。例如,c++將int定義為表示整數的類型的名稱,並且庫將std :: ostream定義為提供基於流的輸出的類型。在我們的程序中,std :: cout類型為std :: ostream。
<<運算符需要兩個操作數,但是我們寫了兩個<<運算符和三個操作數。
<<運算符的優先級,從左到右。所以先執行 std::cout << "Hello, world!"。執行返回的結果也是std::cout類型。 第二次 <<運算,實際上是 返回的std::cout << std::endl
范圍: 這個例子中我們看到 2個范圍,命名空間和函數體{}。臨時變量只在聲明它的范圍中有效。
8.課后習題
1)編譯Hello World程序。
#include <iostream> int main() { std::cout << "Hello, World" << std::endl; system("pause"); return 0; }
2)表達式3+4產生什么結果?
計算值7,對程序狀態沒有影響。
3)編譯輸出
This (") is a quote, and this (\) is a backslash.
#include <iostream> int main() { std::cout << "This (\") is a quote, and this (\\) is a backslash." << std::endl; system("pause"); return 0; }
4)重寫Hello,World! 程序,以便在程序中出現空格的地方發生換行。
#include <iostream> #include <cstdio> int main() { char c; while( (c = std::getchar()) != 'r') { if(c == ' ') std::cout << std::endl; else std::putchar(c); } system("pause"); return 0; }