在 C++ 中建立主控台計算機

C++ 程式設計人員的一般起點是命令行上執行的 “Hello, world!” 應用程式。 您將從本文開始,然後我們繼續進行更具挑戰性的內容:計算機應用程式。

必要條件

  • 已安裝 C++ 工作負載並在電腦上執行的桌面開發 Visual Studio。 若要安裝,請參閱 在 Visual Studio 中安裝 C++ 支援。
  • 本教學課程示範一項稱為編輯並繼續的功能,可讓您在執行應用程式時變更程序代碼。 若要啟用編輯並繼續,請從主功能表中選取 [工具>選項>>偵錯一般],並確定已核取 [要求原始程序檔完全符合原始版本]。

建立您的應用程式專案

Visual Studio 會使用 專案 來組織應用程式的程式代碼,以及 組織一或多個項目的解決方案 。 專案包含用來建置應用程式的所有選項、組態和規則。 它也會管理所有專案之檔案與任何外部檔案間的關聯性。 若要建立您的應用程式,請先建立新的專案和方案。

  1. 啟動 Visual Studio--[Visual Studio 開始] 對話框隨即出現。 選取 [建立新專案 ] 以開始使用。

    Visual Studio 2022 啟動時出現的對話框螢幕快照。

    對話框有複製存放庫、開啟專案或方案、開啟本機資料夾,以及建立新項目的選項。

  2. 在專案範本清單中,選取 [ 主控台應用程式],然後選取[ 下一步]。

    Visual Studio [建立新專案] 對話框的螢幕快照。主控台應用程式範本選項會反白顯示。

    重要

    請務必選取主控台應用程式範本的 C++ 版本。 它有 C++WindowsConsole 標籤,角落有 "++" 圖示。

  3. 在 [設定新專案] 對話框中,選取 [項目名稱] 文本框,將新的專案命名為 CalculatorTutorial,然後選取 [建立]。

    Visual Studio [設定新專案] 對話框的螢幕快照。它有專案名稱、專案位置和方案名稱的欄位。

    系統會建立空的 C++ Windows 控制台應用程式 'Hello World' 應用程式。 主控台應用程式會使用 Windows 主控台視窗來顯示輸出並接受使用者輸入。 在 Visual Studio 中,一個編輯器視窗隨即開啟,並顯示產生的程式碼:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!\n";
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

驗證您新的應用程式可以建置及執行

新 Windows 主控台應用程式範本會建立簡易的 C++ "Hello World" 應用程式。 此時,您會看到 Visual Studio 如何直接從 IDE 建置及執行您建立的應用程式。

  1. 若要建置專案,請從 [建置] 功能選取 [建置方案]。 [輸出] 視窗會顯示建置過程的結果。

    Visual Studio [輸出] 視窗的螢幕快照。它會顯示建置成功訊息。

  2. 若要執行程式代碼,請在功能表欄上選取 [偵錯]、 [啟動但不偵錯 ] (Ctrl+F5)。

    Visual Studio 偵錯控制台的螢幕快照,其中顯示應用程式的輸出:Hello World!。

    主控台視窗會隨即開啟並執行您的應用程式。

    當您在 Visual Studio 中啟動主控台應用程式時,它會執行您的程式碼,然後印出「按任意鍵即可關閉此視窗」。 . 。“ 可讓您有機會查看輸出。

    恭喜! 您已在 Visual Studio 中建立第一個 “Hello, world!” 控制台應用程式!

  3. 請按任意鍵關閉主控台視窗並返回 Visual Studio。

您現在已具備了在每一項變更之後建置及執行您應用程式的工具,可驗證程式碼仍依照您預期的方式運作。 稍後,我們會示範如何偵錯它,如果它沒有。

編輯程式碼

現在,讓我們將此範本中的程式碼修改為計算機應用程式。

  1. 將檔案的內容 CalculatorTutorial.cpp 取代為下列程序代碼,使其符合此範例:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
            << endl;
        return 0;
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

    了解程式碼:

    • #include 陳述式可讓您參考位於其他檔案中的程式碼。 有時候,您可能會看到檔案名稱以角括弧 (<>) 括住;其他時候,則會以引號 (" ") 括住。 一般情況下,角括弧會在參考 C++ 標準程式庫時使用,引號則用於其他檔案。
    • using namespace std; 這一行則會告知編譯器,預期在此檔案中使用來自 C++ 標準程式庫的功能。 如果沒有這一行,連結庫中的每個關鍵詞必須前面加上 std:: ,才能表示其範圍。 例如,若沒有該行,每個對 cout 的參考都必須寫成 std::cout。 新增 using 陳述式的目的是為了讓程式碼看起來更乾淨。
    • cout 關鍵字則用於印出至 C++ 中的標準輸出。 << 運算子則會告知編譯器,將此運算子右側的任何事物傳送至標準輸出。
    • 關鍵詞 endl 就像 Enter 鍵;它會結束這一行,並將游標移至下一行。 最好是將 放在 \n 字串內(包含 ""的)內,以執行相同的動作,因為 endl 一律會排清緩衝區,這可能會損害程式的效能。 但是,由於這是一個非常小的應用程式, endl 因此會改為用於更好的可讀性。
    • 所有 C++ 陳述式都必須以分號結尾,且所有的 C++ 應用程式都必須包含一個 main() 函式。 此函式是程式在開始時執行的部分。 所有程式碼都必須要能夠從 main() 存取,才能使用。
  2. 若要儲存盤案,請按 Ctrl+S,或選取 IDE 頂端附近的 [儲存 ] 圖示,功能表欄下工具列中的磁碟片圖示。

  3. 若要執行應用程式,請按 Ctrl+F5 或移至 [偵 錯] 功能表,然後選取 [ 啟動但不偵錯]。 您應該會看到一個主控台視窗出現,它顯示程式碼中指定的文字。

  4. 當您完成時,請關閉主控台視窗。

新增程式碼來執行數學運算

類別就像是物件的藍圖,可進行某些操作。 在此情況下,我們會定義計算機類別來包含數學邏輯。

新增 Calculator 類別

  1. 移至 [ 專案] 功能表,然後選取 [新增類別]。 在 [類別名稱] 編輯方塊中,輸入 Calculator。 選取 [確定]。

    Visual Studio [新增類別] 對話框的螢幕快照。

    類別名稱欄位設定為計算機。 .h 檔案欄位包含 Calculator.h。 .cpp檔案欄位包含Calculator.cpp。 基類欄位是空的。 未核取虛擬解構函式、內嵌和 Unmanaged 的其他選項。

    會將兩個新檔案新增到您的專案。 若要一次儲存您所有變更的檔案,請按 Ctrl+Shift+S。 它是 [檔案]>[全部儲存] 的鍵盤快速鍵。 [全部儲存] 也有一個工具列按鈕,即兩個磁碟片的圖示,您可在 [儲存] 按鈕的旁邊找到。 一般情況下,頻繁地進行 [全部儲存] 是良好的做法,因為這樣可避免您在儲存時遺漏任何檔案。

    [ 新增類別 精靈] 會 .h 建立 與 類別同名的檔案 .cpp 。 您可以在 IDE 側邊可看到的 [方案總管] 視窗中,看見您專案檔案的完整清單。 如果看不到視窗,您可以從功能表列開啟視窗:選取 [檢視> 方案總管]。

    Visual Studio 方案總管 視窗的螢幕快照。

    計算機教學課程專案具有頭文件節點,其中包含 Calculator.h。 [來源檔案] 節點包含Calculator.cpp和CalculatorTutorial.cpp。 可看見參考、外部相依性和資源文件的節點,但已關閉。

    您可以在 方案總管 視窗中按兩下檔案,以開啟檔案。 按兩下 Calculator.h 以開啟它。

  2. 將 的內容 Calculator.h 取代為下列程式代碼,讓檔案現在看起來像這樣:

    #pragma once
    class Calculator
    {
    public:
        double Calculate(double x, char oper, double y);
    };
    

    了解程式碼

    • 此程式代碼會宣告名為 Calculate的新函式,我們用來執行數學運算,以進行加法、減法、乘法和除法。
    • C++ 程式代碼會組織成 標頭.h) 檔案和 來源.cpp) 檔案。 各種編譯器還支援數種其他副檔名,但這些是您需了解的主要項目。 函式和變數通常會經過「宣告」,即在標頭檔中提供名稱和型別,然後在來源檔案中「實作」(或提供定義)。 若要存取另一個檔案中定義的程式代碼,您可以使用 #include "filename.h",其中 filename.h 是宣告您要使用的變數或函式的檔名。
    • 將您的程式碼根據其用途整理成不同檔案是一種良好做法,因為這可讓您在稍後需要的時候輕易地尋找它們。 在我們的案例中,我們將 Calculator 類別與包含 main() 函式的檔案分開來定義,但我們計劃在 main() 中參考 Calculator 類別。
  3. 綠色波浪線會出現在 下方Calculate,因為雖然已宣告函Calculate式,但並未定義。 將滑鼠停留在 Calculate上方,按兩下出現的螺絲起子上的向下箭號,然後在中Calculator.cpp選取 [建立 'Calculate' 的定義]。

    Visual Studio 編輯器視窗中螺絲起子下拉式清單的螢幕快照。醒目提示 [在 Calculator.cpp 中建立計算的定義] 選項。

    此程式代碼會新增至 Calculator.cpp

    Visual Studio 編輯器的螢幕快照,其中顯示 'Calculate' ctor 函式的定義。

    建構函式的定義是:double Calculator::Calculate( double x, char oper, double y) { return 0.0; }

    目前,它只會傳回 0.0。 讓我們改變這點。

  4. 切換至 Calculator.cpp 編輯器視窗中的檔案。 將的內容 Calculator::Calculate(double x, char oper, double y) 取代為:

    double Calculator::Calculate(double x, char oper, double y)
    {
        switch(oper)
        {
            case '+':
                return x + y;
            case '-':
                return x - y;
            case '*':
                return x * y;
            case '/':
                return x / y;
            default:
                return 0.0;
        }
    }
    

    了解程式碼

    • Calculate 函式會取用一個數字、一個運算子及第二個數字,然後在數字上執行所要求的運算。
    • Switch 陳述式會檢查提供的運算子為何,並只執行對應至該運算的案例。 default: 案例是一種後援案例,若使用者鍵入不接受的運算子,即會使用此案例以避免中斷程式。 一般情況下,使用更簡潔的方式處理無效使用者輸入會是最佳做法,但這不在本教學課程的範圍內。
    • double 關鍵字表示支援小數點的一種數字類型。 如此一來,計算機便能夠同時處理小數點及整數的數學運算。 Calculate 函式必須一律傳回這種數字,因為程式碼開頭的 double (表示函式的傳回型別) 如此要求,而這也是為什麼即使在預設案例中,我們也傳回 0.0。
    • 檔案 .h 會宣告函 式原型,其會事先告知編譯程式需要哪些參數,以及預期其傳回類型。 檔案 .cpp 具有函式的所有實作詳細數據。

如果您此時再次建置並執行程序代碼,它會在要求執行哪個作業之後立即結束。 因此,修改函 main 式以執行多個計算。

Calculator呼叫類別成員函式

  1. 更新 中的 CalculatorTutorial.cppmain式,如下所示:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
             << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            result = c.Calculate(x, oper, y);
            cout << "Result " << "of " << x << oper << y << " is: " << result << endl;
        }
    
        return 0;
    }
    

    了解程式碼

    • 由於 C++ 程式一律會從 main() 函式開始,而我們需要從該處呼叫我們的其他程式碼,因此需要 #include 陳述式。
    • 我們宣告了某些初始變數 xyoperresult,分別用來儲存第一個數字、第二個數字、運算子及最終結果。 最好給他們一些初始值,以避免未定義的行為,這就是這裡完成的工作。
    • Calculator c; 這一行會宣告一個名為 'c' 的物件,作為 Calculator 類別的執行個體。 類別本身只是計算機運作的藍圖;物件則是進行數學運算的特定計算機。
    • while (true) 陳述式是一種迴圈。 只要 () 內的條件為 True,迴圈內的程式碼就會繼續重複執行。 由於此處條件直接列為 true,代表條件一律為 True,因此這個迴圈會永遠執行下去。 若要關閉程式,使用者必須手動關閉主控台視窗。 否則,程式一律都會等待新的輸入。
    • cin 關鍵字則用於接受使用者的輸入。 假設使用者輸入符合必要規格,輸入串流便能處理在主控台視窗中輸入的文字行,並依序將它放在每個列出的變數內。 您可以修改這一行以接受不同類型的輸入,例如兩個以上的數字,不過 Calculate() 函式也需要更新才能處理此作業。
    • c.Calculate(x, oper, y); 運算式會呼叫先前定義的 Calculate 函式,並提供輸入的輸入值。 函式接著會傳回儲存在 result 中的數字。
    • 最後,result 會印出到主控台,讓使用者看見運算的結果。

再次建置並測試程式碼

現在再次測試程式,以確保一切正常運作。

  1. 請按 Ctrl+F5 來重新建置並啟動應用程式。

  2. 輸入 5+5,然後按 Enter。 驗證結果為 10。

    命令視窗的螢幕快照,其中顯示執行程序的結果。

    應用程式輸出訊息:請輸入要執行的作業。 格式:a+b |a-b |a*b |a/b. 用戶輸入 5+5。 應用程式輸出:結果 5+5 為:10

偵錯應用程式

由於使用者可以在主控台視窗中輸入任何專案,因此讓我們確定計算機會處理非預期的輸入。 讓我們不要執行程式,而是進行偵錯,以便我們可以檢查其執行逐步執行的內容。

在調試程式中執行應用程式

  1. CalcuatorTutorial.cpp中,在行上設定斷點: result = c.Calculate(x, oper, y);。 若要設定中斷點,請按一下編輯器視窗左邊緣灰色垂直列中的行。 此時會出現一個紅點。

    Visual Studio 編輯器的螢幕快照。代表斷點的紅點會出現在行上:result = c.Calculate(x, oper, y)。

    現在當我們偵錯程式時,執行會暫停在該行。 我們已初步了解程式適用於簡單案例。 由於我們不想在每次呼叫 Calculate()時暫停執行,因此讓我們設定斷點條件。

  2. 以滑鼠右鍵按兩下代表斷點的紅點,然後選取 [ 條件]。 在條件的編輯方塊中,輸入 (y == 0) && (oper == '/')。 選取 [ 關閉 ] 按鈕以儲存斷點條件。

    Visual Studio 的螢幕快照,其中顯示 [斷點] 設定 彈出視窗。

    斷點的條件是:y==0 && oper == '/' 為 true。

    現在,當應用程式嘗試除以 0 時,執行會在斷點暫停。

  3. 若要偵錯程式,請按 F5,或選取 具有綠色箭號圖示的 [本機 Windows 調試程式] 工具列按鈕。 在您的主控台應用程式中,若您輸入像是 "5 - 0" 的內容,程式會正常運作並繼續執行。 但是,若您鍵入 "10 / 0",它便會在中斷點暫停。 您可以在運算符和數字之間放置任意數目的空格: cin 足夠聰明,可以適當地剖析輸入。

    Visual Studio 編輯器的螢幕快照。程序執行在行的條件斷點停止:result = c.Calculate(x, oper, y):。

偵錯工具中有用的視窗

當您對程式代碼進行偵錯時,您可能會注意到會出現一些新的視窗。 這些視窗可協助您的偵錯體驗。 讓我們看看 [自動變數] 視窗。 [自動變數] 視窗會顯示從至少 3 行以前到目前這一行為止,所使用變數目前的值。

Visual Studio 調試程式 [自動變數] 視窗的螢幕快照。

oper 的值是 47 '/',結果為 5、x 為 10,而 y 為 0。

若要查看來自該函式的所有變數,請切換到 [區域變數] 視窗。 您可以在偵錯時修改這些變數的值,以查看它們對程式有何影響。 在此案例中,我們會讓他們獨自離開。

Visual Studio 中 [局部變數] 視窗的螢幕快照,其中顯示偵錯時局部變數的目前值。

oper 的值是 47 '/',結果為 0、x 為 10,而 y 為 0。

您也可以將滑鼠停留在程式碼中的變數上方,以查看其目前執行暫停時的值。 請按一下編輯器視窗,確認該視窗仍擁有焦點。

工具提示的螢幕快照,其中顯示變數 『oper』 的值,也就是 47 或 『/』。

繼續偵錯

  1. 左邊的黃色箭號會顯示目前的執行點。 目前的行會呼叫 Calculate,因此請按 F11 來 [逐步執行] 函式。 現在,您正在函式主體 Calculate 中執行程序代碼。 請小心逐步 執行, 因為它會逐步執行您所上行的任何函式,包括標準連結庫函式。 您可以逐步執行標準連結庫,但您可能更有興趣專注於您的程序代碼,而不是連結庫程序代碼。

  2. 現在當執行點位於 Calculate 函式的開頭時,請按 F10 來移動到程式執行的下一行。 F10 又稱為 [不進入函式]。 您可以使用 [不進入函式] 來從一行移動到下一行,而無須了解該行每個部分所發生的事件。 一般而言,您應該使用 「逐步執行 」,而不是 「逐步執行 」,除非您想要更深入地深入探討從其他地方呼叫的程式代碼(就像您達到 的 Calculate主體一樣)。

  3. 繼續使用 F10不進入每一行函式,直到您回到另一個檔案的 main(),並在 cout 行上停止。

    程式正在執行預期的工作:它會採用第一個數位,並將它除以第二個數位。 在 cout 行上,在 result 變數上暫留或在 [自動變數] 視窗中查看 result。 其值 inf,看起來不對,因此讓我們修正它。 cout 行只會輸出任何儲存在 result 中的值,因此當您使用 F10 前往下一行時,會顯示主控台視窗:

    Visual Studio 偵錯控制台的螢幕快照,其中顯示零除法的結果。

    應用程式輸出:請輸入要執行的作業。 格式:a+b |a-b |a*b |a/b. 用戶輸入 5-0。 應用程式輸出:結果為:5。 THe 使用者輸入 10/0。 應用程式輸出:結果為:inf

    此結果是因為零除為未定義,因此程序沒有所要求作業的數值答案。

修正「除以零」錯誤

讓我們更正常地處理除法,讓使用者更容易了解問題。

  1. CalculatorTutorial.cpp 中進行下列變更。 (您可以讓程式在編輯時繼續執行,這要歸功於稱為 的調試程式功能編輯後繼續)。 if新增下列cin >> x >> oper >> y;語句,以檢查除法是否為零,並在發生時將訊息輸出給使用者。 否則,會列印結果。

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            if (oper == '/' && y == 0)
            {
                cout << "Attempted to divide by zero!" << endl;
                continue;
            }
            else
            {
                result = c.Calculate(x, oper, y);
            }
            cout << "Result " << "of " << x << oper << y << " is: " << result << endl;
        }
    
        return 0;
    }
    
  2. F5 一次。 程式會繼續執行,直到需要暫停要求使用者輸入為止。 再次輸入 10 / 0。 現在會印出更有幫助的訊息。 程式會向使用者要求更多輸入,且程式會繼續正常執行。

    控制台視窗的螢幕快照,其中顯示實作變更以處理除法后的最終輸出。

    控制台視窗會顯示兩行:10 / 0 結果為:inf,後面接著 10 / 0 數學錯誤:嘗試除以零。

    注意

    當您在處於偵錯模式的期間編輯程式碼時,可能會有程式碼過時的風險。 這會在偵錯工具仍在執行您的舊版程式碼,且尚未使用您的變更進行更新時發生。 調試程式會顯示對話方塊,以通知您何時發生這種情況。 有時候,您可能需要按 F5 來重新整理正在執行的程式碼。 特別是,如果您在函式內進行變更,而執行點位於該函式內,則需要逐步離開函式,然後再回到該函式,以取得更新的程序代碼。 如果這無法運作,而且您看到錯誤訊息,您可以單擊 IDE 頂端功能表選單的紅色方塊來停止偵錯,然後輸入 F5 或選擇工具列上停止按鈕旁的綠色「播放」箭號,再次開始偵錯。

    編輯後繼續可能會失敗的另一個原因是,如果您看到一則訊息,指出「需要原始程序檔完全符合偵錯->選項->一般]底下的原始版本設定,則必須啟用...」。若要修正此問題,請從主功能表中選取 [工具>選項>>偵錯一般],並確定已核取 [要求原始程序檔完全符合原始版本]。

    了解執行和偵錯快速鍵

    • F5 (或 [偵錯]>[開始偵錯]) 會啟動偵錯工作階段 (若沒有正在使用中的工作階段) 並執行程式,直到到達中斷點或程式需要使用者進行輸入。 若不需要使用者輸入且沒有可到達的中斷點,程式會在完成執行時終止並關閉主控台視窗本身。 如果您有類似要執行的 「Hello World」 程式,請在按下 F5 以保持窗口開啟之前,先使用 Ctrl+F5 或設定斷點。
    • Ctrl+F5 (或 [偵錯]>[啟動但不偵錯]) 會執行應用程式,而不會進入偵錯模式。 這比偵錯稍快,且主控台視窗會在程式完成執行時維持在開啟狀態。
    • F10 (又稱為 [不進入函式]) 可讓您逐一且逐行查看程式碼,並視覺化程式碼執行方式及每個執行步驟中的變數值為何。
    • F11 (又稱為 [逐步執行]) 的運作方式與 [不進入函式] 相似,但它會進入任何在執行行上呼叫的函式。 例如,當執行的行呼叫一個函式時,按 F11 會將指標移動到函式主體,讓您可以跟隨所執行的函式程式碼,然後回到您開始的那一行。 按 F10 可不進入函式,直接移動到下一行;函式仍會獲得呼叫,但程式不會暫停並顯示其正在進行的操作。

關閉應用程式

  • 若仍在執行中,請關閉計算機應用程式的主控台視窗。

新增 Git 原始程式碼控制

既然您已建立應用程式,您可能就想要將其新增至 Git 存放庫。 我們會助您一臂之力。 Visual Studio 會透過您可以直接從 IDE 使用的 Git 工具,讓該流程變得容易。

提示

Git 是最廣泛使用的新式版本控制系統,因此無論您是專業開發人員,還是您正在學習如何撰寫程式碼,Git 都非常有用。 如果您不熟悉 Git,https://git-scm.com/ 網站是很好的起點。 在那裡,您可以在找到速查表、熱門的線上書籍和 Git 基本概念影片。

若要將程式代碼與 Git 產生關聯,您一開始會建立程式代碼所在的新 Git 存放庫。 方法如下:

  1. 在 Visual Studio 右下角的狀態列中,選取 [新增至原始程式碼控制],然後選取 [Git]

    [方案總管] 窗格下方 Git 原始檔控制按鈕的螢幕快照,其中醒目提示 [新增至原始檔控制] 按鈕。

  2. 在 [建立 Git 存放庫] 對話方塊中,登入 GitHub。

    [建立 Git 存放庫] 對話框視窗的螢幕快照,您可以在其中建立新的 GitHub 存放庫。

    存放庫名稱會根據您的資料夾位置自動填入。 根據預設,您的新存放庫是私人的,這表示您是唯一可以存取它的人員。

    提示

    無論您的存放庫是公用還是私人,最好有程式碼的遠端備份安全地儲存在 GitHub 上。 即使您未與小組合作,遠端存放庫仍可讓您從任何電腦使用您的程式碼。

  3. 選取 [建立並推送]

    建立存放庫之後,狀態詳細數據會出現在狀態欄中。

    存放庫狀態列的螢幕快照,其位於Visual Studio 方案總管窗格下方,其中顯示未完成變更的分支名稱和數目。

    第一個具有箭號的圖示會顯示您的最新分支中有多少個傳出/傳入認可。 您可以使用此圖示來提取任何傳入認可或推送任何傳出認可。 您也可以選擇先檢視這些認可。 若要這樣做,請選取圖示,然後選取 [檢視傳出/傳入]

    具有鉛筆的第二個圖示會顯示程式碼未認可的變更數目。 您可以選取此圖示,在 [Git 變更] 視窗中檢視這些變更。

若要深入了解如何搭配您的應用程式使用 Git,請參閱 Visual Studio 版本控制文件

完成的應用程式

恭喜! 您已完成計算機應用程式的程式代碼、建置並對其進行偵錯,並將它新增至存放庫,全部都在Visual Studio中。

下一步

深入了解適用於 C++ 的 Visual Studio

C++ 程式設計人員的一般起點是命令行上執行的 “Hello, world!” 應用程式。 您從本文開始,然後我們繼續進行更具挑戰性的內容:計算機應用程式。

必要條件

  • 已安裝 C++ 工作負載並在電腦上執行的桌面開發 Visual Studio。 若要安裝,請參閱 在 Visual Studio 中安裝 C++ 支援。

建立您的應用程式專案

Visual Studio 會使用 專案 來組織應用程式的程式代碼,以及 組織一或多個項目的解決方案 。 專案包含用來建置應用程式的所有選項、組態和規則。 它也會管理所有專案之檔案與任何外部檔案間的關聯性。 若要建立您的應用程式,請先建立新的專案和方案。

  1. 在 Visual Studio 的功能表欄上,選取 [檔案>>專案]。 [新增專案] 視窗隨即開啟。

  2. 在左邊的側邊欄上,確認已選取 [Visual C++]。 在中央,選取 [Windows 控制台應用程式]。

  3. 在底部的 [ 名稱 ] 文本框中,將新專案 命名為 CalculatorTutorial,然後選取 [ 確定]。

    [新增專案] 對話框的螢幕快照。已選取 [Windows 控制台應用程式] 項目類型。[名稱] 文本框設定為 CalculatorTutorial。

    系統會建立空的 C++ Windows 控制台應用程式 'Hello World' 應用程式。 主控台應用程式會使用 Windows 主控台視窗來顯示輸出並接受使用者輸入。 在 Visual Studio 中,一個編輯器視窗隨即開啟,並顯示產生的程式碼:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!\n";
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

驗證您新的應用程式可以建置及執行

新 Windows 主控台應用程式範本會建立一個簡單的 C++ "Hello World" 應用程式。 此時,您會看到 Visual Studio 如何直接從 IDE 建置及執行您建立的應用程式。

  1. 若要建置專案,請從 [建置] 功能選取 [建置方案]。 [輸出] 視窗會顯示建置過程的結果。

    Visual Studio [輸出] 視窗的螢幕快照,其中顯示組建成功。

  2. 若要執行程式代碼,請在功能表欄上選取 [偵錯]、 [啟動但不偵錯 ] (Ctrl+F5)。

    Visual Studio 偵錯控制台的螢幕快照,其中顯示輸出:Hello World!。

    主控台視窗會隨即開啟並執行您的應用程式。

    當您在 Visual Studio 中啟動主控台應用程式時,它會執行您的程式碼,然後印出「按任意鍵即可關閉此視窗」。 . 。“ 可讓您有機會查看輸出。

    恭喜! 您已在 Visual Studio 中建立第一個 “Hello, world!” 控制台應用程式!

  3. 請按任意鍵關閉主控台視窗並返回 Visual Studio。

您現在已具備了在每一項變更之後建置及執行您應用程式的工具,可驗證程式碼仍依照您預期的方式運作。 稍後,我們會示範如何偵錯它,如果它沒有。

編輯程式碼

現在,讓我們將此範本中的程式代碼變成計算機應用程式。

  1. 將檔案的內容 CalculatorTutorial.cpp 取代為下列程序代碼,使其符合此範例:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
        return 0;
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

    了解程式碼:

    • #include 陳述式可讓您參考位於其他檔案中的程式碼。 有時候,您可能會看到檔案名稱以角括弧 (<>) 括住;其他時候,則會以引號 (" ") 括住。 一般情況下,角括弧會在參考 C++ 標準程式庫時使用,引號則用於其他檔案。
    • using namespace std; 這一行則會告知編譯器,預期在此檔案中使用來自 C++ 標準程式庫的功能。 如果沒有這一行,連結庫中的每個關鍵詞必須前面加上 std:: ,才能表示其範圍。 例如,若沒有該行,每個對 cout 的參考都必須寫成 std::cout。 新增 using 陳述式的目的是為了讓程式碼看起來更乾淨。
    • cout 關鍵字則用於印出至 C++ 中的標準輸出。 *<< 運算符會指示編譯程式將任何內容傳送至標準輸出右邊。
    • 關鍵詞 endl 就像 Enter 鍵;它會結束這一行,並將游標移至下一行。 最好是將 放在 \n 字串內(包含 "")以執行相同動作,因為 endl 一律會排清緩衝區,而且可能會損害程式的效能。 但是,由於這是一個非常小的應用程式, endl 因此會改為用於更好的可讀性。
    • 所有 C++ 陳述式都必須以分號結尾,且所有的 C++ 應用程式都必須包含一個 main() 函式。 此函式是程式在開始時執行的部分。 所有程式碼都必須要能夠從 main() 存取,才能使用。
  2. 若要儲存盤案,請按 Ctrl+S,或選取 IDE 頂端附近的 [儲存 ] 圖示,功能表欄下工具列中的磁碟片圖示。

  3. 若要執行應用程式,請按 Ctrl+F5 或移至 [偵 錯] 功能表,然後選取 [ 啟動但不偵錯]。 如果您收到顯示此專案已過期的彈出視窗,您可以選取 [不要再顯示此對話框],然後選取 [] 來建置您的應用程式。 您應該會看到一個主控台視窗出現,它顯示程式碼中指定的文字。

    影片顯示 IDE 中執行計算機應用程式的程式。

    首先會出現對話框,詢問是否要建置,因為專案已過期。 已選取 [不要再次顯示此對話框] 的複選框。 選取 [是] 以建置專案、計算機專案建置,然後在 Windows 控制台視窗中啟動。

  4. 當您完成時,請關閉主控台視窗。

新增程式碼來執行數學運算

類別就像是物件的藍圖,可進行某些操作。 在此情況下,我們會定義計算機類別來包含數學邏輯。

新增 Calculator 類別

  1. 移至 [ 專案] 功能表,然後選取 [新增類別]。 在 [類別名稱] 編輯方塊中,輸入 Calculator。 選取 [確定]。

    顯示用戶開啟 [新增類別] 對話框的影片,在 [類別名稱] 字段中輸入 'Calculator',然後按兩下 [確定]。

    類別就像是物件的藍圖,可進行某些操作。 在此案例中,我們會定義一個計算機及其運作的方式。

    會將兩個新檔案新增到您的專案。 若要一次儲存您所有變更的檔案,請按 Ctrl+Shift+S。 它是 [檔案]>[全部儲存] 的鍵盤快速鍵。 [全部儲存] 也有一個工具列按鈕,即兩個磁碟片的圖示,您可在 [儲存] 按鈕的旁邊找到。 一般情況下,頻繁地進行 [全部儲存] 是良好的做法,因為這樣可避免您在儲存時遺漏任何檔案。

    [ 新增類別 精靈] 會 .h 建立 與 類別同名的檔案 .cpp 。 您可以在 IDE 側邊可看到的 [方案總管] 視窗中,看見您專案檔案的完整清單。 如果看不到視窗,您可以從功能表列開啟視窗:選取 [檢視> 方案總管]。

    Visual Studio 方案總管 視窗的螢幕快照。

    計算機教學課程專案具有頭文件節點,其中包含 Calculator.h、stdafx.h 和 targetver.h。 來源檔案節點包含Calculator.cpp、CalculatorTutorial.cpp和stdafx.cpp。 可看見參考、外部相依性和資源文件的節點,但已關閉。

    您可以在 方案總管 視窗中按兩下檔案,以開啟檔案。 按兩下 Calculator.h 以開啟它。

  2. 將 的內容 Calculator.h 取代為下列程式代碼,讓檔案現在看起來像這樣:

    #pragma once
    class Calculator
    {
    public:
        double Calculate(double x, char oper, double y);
    };
    

    了解程式碼

    • 此程式代碼會宣告名為 Calculate的新函式,我們用來執行數學運算,以進行加法、減法、乘法和除法。
    • C++ 程式代碼會組織成 標頭.h) 檔案和 來源.cpp) 檔案。 各種編譯器還支援數種其他副檔名,但這些是您需了解的主要項目。 函式和變數通常會經過「宣告」,即在標頭檔中提供名稱和型別,然後在來源檔案中「實作」(或提供定義)。 若要存取另一個檔案中定義的程式代碼,您可以使用 #include "filename.h",其中 filename.h 是宣告您要使用的變數或函式的檔名。
    • 將您的程式碼根據其用途整理成不同檔案是一種良好做法,因為這可讓您在稍後需要的時候輕易地尋找它們。 在我們的案例中,我們將 Calculator 類別與包含 main() 函式的檔案分開來定義,但我們計劃在 main() 中參考 Calculator 類別。
  3. 綠色波浪線會出現在 下方Calculate,因為雖然已宣告函Calculate式,但並未定義。 將滑鼠停留在 Calculate上方,按兩下出現的螺絲起子上的向下箭號,然後在中Calculator.cpp選取 [建立 'Calculate' 的定義]。 快顯視窗隨即出現,可讓您預覽在其他檔案中進行的程式碼變更。 程式代碼已新增至 Calculator.cpp

    顯示使用燈泡下拉式清單的影片,以選取 [在 Calculator.cpp 中建立計算的定義]。

    目前,它只會傳回 0.0。 讓我們改變這點。 按 Esc 來關閉快顯視窗。

  4. 切換至 Calculator.cpp 編輯器視窗中的檔案。 以下列程式碼來取代 檔案的內容:

    #include "Calculator.h"
    
    double Calculator::Calculate(double x, char oper, double y)
    {
        switch(oper)
        {
            case '+':
                return x + y;
            case '-':
                return x - y;
            case '*':
                return x * y;
            case '/':
                return x / y;
            default:
                return 0.0;
        }
    }
    

    了解程式碼

    • Calculate 函式會取用一個數字、一個運算子及第二個數字,然後在數字上執行所要求的運算。
    • Switch 陳述式會檢查提供的運算子為何,並只執行對應至該運算的案例。 default: 案例是一種後援案例,若使用者鍵入不接受的運算子,即會使用此案例以避免中斷程式。 一般情況下,使用更簡潔的方式處理無效使用者輸入會是最佳做法,但這不在本教學課程的範圍內。
    • double 關鍵字表示支援小數點的一種數字類型。 如此一來,計算機便能夠同時處理小數點及整數的數學運算。 Calculate 函式必須一律傳回這種數字,因為程式碼開頭的 double (表示函式的傳回型別) 如此要求,而這也是為什麼即使在預設案例中,我們也傳回 0.0。
    • 檔案 .h 會宣告函 式原型,其會事先告知編譯程式需要哪些參數,以及預期其傳回類型。 檔案 .cpp 具有函式的所有實作詳細數據。

如果您此時再次建置並執行程式碼,其仍會在詢問要執行哪項作業後結束。 接下來,修改 函 main 式以執行一些計算。

呼叫 Calculator 類別成員函式

  1. 現在讓我們在 中CalculatorTutorial.cpp更新 函main式:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            result = c.Calculate(x, oper, y);
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    

    了解程式碼

    • 由於 C++ 程式一律會從 main() 函式開始,而我們需要從該處呼叫我們的其他程式碼,因此需要 #include 陳述式。
    • 我們宣告了某些初始變數 xyoperresult,分別用來儲存第一個數字、第二個數字、運算子及最終結果。 最好給他們一些初始值,以避免未定義的行為,這就是這裡完成的工作。
    • Calculator c; 這一行會宣告一個名為 'c' 的物件,作為 Calculator 類別的執行個體。 類別本身只是計算機運作的藍圖;物件則是進行數學運算的特定計算機。
    • while (true) 陳述式是一種迴圈。 只要 () 內的條件為 True,迴圈內的程式碼就會繼續重複執行。 由於此處條件直接列為 true,代表條件一律為 True,因此這個迴圈會永遠執行下去。 若要關閉程式,使用者必須手動關閉主控台視窗。 否則,程式一律都會等待新的輸入。
    • cin 關鍵字則用於接受使用者的輸入。 假設使用者輸入符合必要規格,輸入串流便能處理在主控台視窗中輸入的文字行,並依序將它放在每個列出的變數內。 您可以修改這一行以接受不同類型的輸入,例如兩個以上的數字,不過 Calculate() 函式也需要更新才能處理此作業。
    • c.Calculate(x, oper, y); 運算式會呼叫先前定義的 Calculate 函式,並提供輸入的輸入值。 函式接著會傳回儲存在 result 中的數字。
    • 最後,result 會印出到主控台,讓使用者看見運算的結果。

再次建置並測試程式碼

再次測試程式,以確保一切正常運作。

  1. 請按 Ctrl+F5 來重新建置並啟動應用程式。

  2. 輸入 5+5,然後按 Enter。 驗證結果為 10。

    執行計算機應用程式的命令視窗螢幕快照。它會顯示 5 + 5 的結果為 10。

偵錯應用程式

由於使用者可以在主控台視窗中輸入任何專案,因此讓我們確定計算機會處理非預期的輸入。 讓我們不要執行程式,而是進行偵錯,因此我們可以檢查其執行逐步執行的內容。

在調試程式中執行應用程式

  1. CalcuatorTutorial.cpp中,設定行上的 result = c.Calculate(x, oper, y); 斷點。 若要設定中斷點,請按一下編輯器視窗左邊緣灰色垂直列中的行。 此時會出現一個紅點。

    顯示使用者在第 25 行上設定斷點的影片:result = c.Calculate(x, oper, y):。

    現在,當我們偵錯程式時,它會一律在該行暫停執行。 我們已初步了解程式適用於簡單案例。 因為我們不想要每次都暫停執行,讓我們把中斷點設定為選擇性。

  2. 以滑鼠右鍵按兩下代表斷點的紅點,然後選取 [ 條件]。 在條件的編輯方塊中,輸入 (y == 0) && (oper == '/')。 當您完成儲存斷點條件時,請選取 [ 關閉 ] 按鈕。

    示範設定條件斷點程式的影片。

    斷點位於行上:result = c dot Calculate (x, oper, y)。 '條件...'在斷點下拉式清單中選取 ,這會開啟斷點設定視窗。 核取 [條件] 選項,下拉式清單會設定為:'條件表達式' 和 'Is true'。 用戶在條件文本框中輸入 y == 0 && oper == '/',然後選取接近以設定條件斷點。

    現在我們會在使用者嘗試除以 0 時在中斷點上暫停執行。

  3. 若要偵錯程式,請按 F5,或選取 具有綠色箭號圖示的 [本機 Windows 調試程式] 工具列按鈕。 在您的主控台應用程式中,若您輸入像是 "5 - 0" 的內容,程式會正常運作並繼續執行。 但是,若您鍵入 "10 / 0",它便會在中斷點暫停。 您甚至可以在運算子及數字間輸入任意數量的空格,因為 cin 能夠適當地剖析輸入。

    顯示程式執行暫停於條件斷點的影片。

    用戶輸入 5 - 0。 應用程式輸出:結果為 5。 然後,使用者輸入 10/0,而且因為符合條件斷點的條件,所以會在行上停止執行:result = c.Calculate(x,oper,y):

偵錯工具中有用的視窗

當您對程式代碼進行偵錯時,您可能會注意到會出現一些新的視窗。 這些視窗可協助您的偵錯體驗。 讓我們看看 [自動變數] 視窗。 [自動變數] 視窗會顯示從至少 3 行以前到目前這一行為止,所使用變數目前的值。

Visual Studio 調試程式 [自動變數] 視窗的螢幕快照。

oper 的值是 47 '/',結果為 5、x 為 10,而 y 為 0。

若要查看來自該函式的所有變數,請切換到 [區域變數] 視窗。 您可以在偵錯時修改這些變數的值,以查看它們對程式有何影響。 在此案例中,我們會讓他們獨自離開。

Visual Studio 中 [局部變數] 視窗的螢幕快照,其中顯示偵錯時局部變數的目前值。

oper 的值是 47 '/',結果為 0、x 為 10,而 y 為 0。

您也可以將滑鼠停留在程式碼本身的變數上方,以查看其目前暫停執行的值。 請按一下編輯器視窗,確認該視窗仍擁有焦點。

示範將滑鼠停留在變數 y 上方時出現的工具提示的影片。它會顯示 y 的目前值,也就是 0。

繼續偵錯

  1. 左邊的黃色箭號會顯示目前的執行點。 目前的行會呼叫 Calculate,因此請按 F11逐步執行 函式,這會帶您進入函式的 Calculate 主體。 請小心逐步 執行, 因為它會逐步執行您所上行的任何函式,包括標準連結庫函式。 您可以逐步執行標準連結庫,但您可能更有興趣專注於您的程序代碼,而不是連結庫程序代碼。

  2. 現在當執行點位於 Calculate 函式的開頭時,請按 F10 來移動到程式執行的下一行。 F10 又稱為 [不進入函式]。 您可以使用 [不進入函式] 來從一行移動到下一行,而無須了解該行每個部分所發生的事件。 一般情況下,建議您使用 [不進入函式] 而非 [逐步執行],除非您想要更深入地了解從其他位置呼叫的程式碼 (如同您為了觸達 Calculate 主體所進行的操作)。

  3. 繼續使用 F10不進入每一行函式,直到您回到另一個檔案的 main(),並在 cout 行上停止。

    顯示逐步執行 Calculate 函式中每一行程式代碼的影片。

    Calculate 函式中的每一行程式代碼都會逐步執行,直到控件傳回 main 函式為止。 然後,使用者將滑鼠停留在具名結果的變數上,以查看其值,也就是:inf。

    程式正在執行預期的工作:它會採用第一個數位,並將它除以第二個數位。 在 cout 行上,在 result 變數上暫留或在 [自動變數] 視窗中查看 result。 其值為 inf,看起來不對,因此讓我們修正它。 cout 行只會輸出任何儲存在 result 中的值,因此當您使用 F10 前往下一行時,會顯示主控台視窗:

    Visual Studio 偵錯控制台的螢幕快照,其中顯示零除法的結果。

    應用程式輸出:請輸入要執行的作業。 格式:a+b |a-b |a*b |a/b. 用戶輸入 5-0。 應用程式輸出:結果為:5。 THe 使用者輸入 10/0。 應用程式輸出:結果為:inf

    此結果是因為零除為未定義,因此程序沒有所要求作業的數值答案。

修正「除以零」錯誤

讓我們更正常地處理除法,讓使用者更容易了解問題。

  1. CalculatorTutorial.cpp 中進行下列變更。 (您可以讓程式在編輯時繼續執行,這要歸功於稱為 的調試程式功能編輯後繼續)。 變更是新增 if 下列 cin >> x >> oper >> y; 語句,以檢查除法是否為零,並在發生時將訊息輸出給使用者。 否則,會列印結果:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            if (oper == '/' && y == 0)
            {
                cout << "Division by 0 exception" << endl;
                continue;
            }
            else
            {
                result = c.Calculate(x, oper, y);
            }
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    
  2. F5 一次。 程式會繼續執行,直到需要暫停要求使用者輸入為止。 再次輸入 10 / 0。 現在會印出更有幫助的訊息。 程式會向使用者要求更多輸入,且程式會繼續正常執行。

    偵錯主控台的影片,顯示程式碼變更後的最終結果。輸入 10 / 0,程式會顯示「除以 0 例外狀況」。

    注意

    當您在處於偵錯模式的期間編輯程式碼時,可能會有程式碼過時的風險。 這會在偵錯工具仍在執行您的舊版程式碼,且尚未使用您的變更進行更新時發生。 偵錯工具會在發生此情況時彈出一個對話方塊提醒您。 有時候,您可能需要按 F5 來重新整理正在執行的程式碼。 特別是,如果您在函式內執行點位於該函式內時進行變更,請從函式中跳出,然後再回到函式,以取得更新的程序代碼。 若因為某些原因仍無法正常運作,且您看到了錯誤訊息,您可以按一下 IDE 頂端功能表下方工具列中的紅色方塊來停止偵錯,然後按 F5 來再次啟動偵錯,或選擇工具列上停止按鈕旁邊的綠色 [執行] 箭頭來進行。

    編輯後繼續可能會失敗的另一個原因是您必須移至主功能表,然後選取 [工具>選項>>偵錯一般],並確定已核取 [要求原始程序檔完全符合原始版本]。

    了解執行和偵錯快速鍵

    • F5 (或 [偵錯]>[開始偵錯]) 會啟動偵錯工作階段 (若沒有正在使用中的工作階段) 並執行程式,直到到達中斷點或程式需要使用者進行輸入。 若不需要使用者輸入且沒有可到達的中斷點,程式會在完成執行時終止並關閉主控台視窗本身。 如果您有類似要執行的 「Hello World」 程式,請在按下 F5 以保持窗口開啟之前,先使用 Ctrl+F5 或設定斷點。
    • Ctrl+F5 (或 [偵錯]>[啟動但不偵錯]) 會執行應用程式,而不會進入偵錯模式。 這比偵錯稍快,且主控台視窗會在程式完成執行時維持在開啟狀態。
    • F10 (又稱為 [不進入函式]) 可讓您逐一且逐行查看程式碼,並視覺化程式碼執行方式及每個執行步驟中的變數值為何。
    • F11 (又稱為 [逐步執行]) 的運作方式與 [不進入函式] 相似,但它會進入任何在執行行上呼叫的函式。 例如,當執行的行呼叫一個函式時,按 F11 會將指標移動到函式主體,讓您可以跟隨所執行的函式程式碼,然後回到您開始的那一行。 按 F10 可不進入函式,直接移動到下一行;函式仍會獲得呼叫,但程式不會暫停並顯示其正在進行的操作。

關閉應用程式

  • 若仍在執行中,請關閉計算機應用程式的主控台視窗。

恭喜! 您已完成計算機應用程式的程式代碼,並在 Visual Studio 中建置並對其進行偵錯。

下一步

深入了解適用於 C++ 的 Visual Studio