1. 程式人生 > >C++禿頭之旅:第一個C++程式

C++禿頭之旅:第一個C++程式

經典的程式,列印hello,world:

 

//C++的第一個程式,列印hello world

#include <iostream> //標頭檔案 意思:stdio in out stream

using namespace std;

   

int main() // C++中必須寫int main()

{

        // 輸出 ----- 對程式碼的功能做描述,意義,對於程式設計師來說

        // C++ 註釋符號 ---- //或者/* */

        cout << "hello world!" << endl; //輸出
cout << "你好,C++,我來了" << endl; //cout是個物件,不是關鍵字,也不是輸出 cin.get(); //要讓視窗一直開啟 return 0; //必須寫上return 0 }

 

 

 

注意:要讓視窗一直開著,知道您按任何鍵,必須新增 cin.get() 語句

   

這個程式包含以下元素:

  • 註釋,由字首//標識
  • 前處理器編譯指令#include
  • 函式頭,int main()
  • 編譯指令 using namespace
  • 函式體,用{}括起
  • 使用C++的cout工具顯示訊息的語句
  • 結束main()函式的 return 語句

   

main() 函式

  • 去掉修飾後,程式如下:
    int main()
    
    {
    
            statements
    
            return 0;
    
    }
  • 這幾行程式碼構成了函式定義,該定義有兩部分組成:
    • 函式頭:int main()
      • 注意:C++句法規定:要求main()函式的定義以函式頭int main()開始
    • 函式體:花括號{} 中包括的部分
      • 是指出函式應做什麼的計算機指令
      • 每條完整的指令都稱為語句,所有的語句都已分號結束
        • 注意:在輸入一條完整語句時,請不要省略分號,因為它是一個終止符,是語句的組成部分
      • main()中最後一條語句叫返回語句,它結束該函式

   

C++註釋

  • C++ 註釋以// 打頭,到行尾結束。註釋可以位於單獨的一行上,也可以和程式碼位於同一行。
    • 注意:應使用註釋來說明應用程式,程式越複雜,註釋的價值越大
  • C++也能夠識別c註釋,c註釋包括在/*...*/之間

   

標頭檔案

  • iostream這樣的檔案叫做包含檔案,由於他們被包含在其他檔案中:也叫標頭檔案
  • iostream中的io指的是輸入(進入程式的資訊)和輸出(從程式中傳送出去的資訊)
    • 注意:使用cincout進行輸入和輸出的程式必須包含標頭檔案iostream
  • 有些c標頭檔案被轉換為c++標頭檔案,這些檔案被重新命名,去掉了擴充套件h,並在名稱前面加上字首c(表明這些檔案來自c語言)

   

名稱空間

using namespace std;

  • 注意:這叫做using編譯指令,到第九章時詳解,這裡不過多介紹
  • 名稱空間
    • 它是一項c++特性,讓你在編寫大型程式以及將多個廠商現有的程式碼組合起來的程式時更容易,它還有助於組織程式
    • 類,函式和變數便是c++編譯器的標準組件,他們現在都被放置在名稱空間std中
      • 這意味著iostream定義的用於輸出的cout變數實際上是std::cout
      • using編譯指令使得std名稱空間的所有名稱都可用,而不必使用std::字首

   

使用cout進行C++輸出

cout << "Come up and C++ me some time."

  • 從概念上看,輸出是一個流,即從程式流出的一系列字元。cout物件表示這種流,其屬性是在iostream檔案中定義的
  • cout物件包括一個插入運算子(<<),他可以將其右側的資訊插入到流中
  • 控制符endl: cout << endl;
    • endl是一個特殊的C++符號,表示一個重要的概念:重起一行,在輸出流中插入endl將導致螢幕游標移到下一行開頭
    • 諸如endl等對於cout來說有特殊含義的特殊符號被稱為控制符
    • cout一樣,endl也是在標頭檔案iostream中定義的,且位於名稱空間std中
  • 換行符
    • C++還提供了另一種輸出中指示換行的舊式方法:C語言符號 \n:
      • cout << "What's next ?\n";
      • \n被視為一個字元,名為換行符
      • 注意:
        endl:為換行符,並且清空,重新整理緩衝區,可以立即顯示
        \n換行符,也可以換行,但只有換行功能
        在微觀上,endl的效率比\n慢,\n的顯示會比endl慢半拍

   

C++原始碼的格式化

  • C ++中通常可以在能夠使用回車的地方使用空格,使用空格的地方可以使用回車,這說明既可以把幾條語句放在同一行上,也可以把幾條語句放在同一行上
    #include <iostream>
    
    int main()
    { 
        using namespace std; 
    
        cout << "come up and c++ me some time."; 
        cout <<endl; 
        cout <<"you are regreat it!" <<endl; 
    
        return 0;
    }
  • 原始碼中的標記和空白
    • 一行程式碼中不可分割的元素叫做標記,通常必須使用空格、製表符、或回車將兩個標記分開,空格、製表符和回車統稱為空白