<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          它來啦 ! 這就是你們想要的C++嗎?

          共 3788字,需瀏覽 8分鐘

           ·

          2021-05-20 09:23


          C++語言具有以下特點:

          1.C++是C語言的超集。它既保持了C語言的簡潔、高效和接近匯編語言等特點,又克服了C語言的缺點,其編譯系統(tǒng)能檢查更多的語法錯誤,因此,C++比C語言更安全。

          2.C++保持了與C語言的兼容。絕大多數(shù)C語言程序可以不經(jīng)修改直接在C++環(huán)境中運行,用C語言編寫的眾多庫函數(shù)可以用于C++程序中。

          3.支持面向?qū)ο蟪绦蛟O(shè)計的特征。C++既支持面向過程的程序設(shè)計,又支持面向?qū)ο蟮某绦蛟O(shè)計。

          4.C++程序在可重用性、可擴充性、可維護性和可靠性等方面都較C語言得到了提高,使其更適合開發(fā)大中型的系統(tǒng)軟件和應(yīng)用程序。

          5.C++設(shè)計成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計語言。

          6.C++設(shè)計成直接的和廣泛的支援多種程序設(shè)計風(fēng)格(程序化程序設(shè)計、資料抽象化、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計)。

          7.C++設(shè)計成給程序設(shè)計者更多的選擇,即使可能導(dǎo)致程序設(shè)計者選擇錯誤。

          8.C++設(shè)計成盡可能與C兼容,籍此提供一個從C到C++的平滑過渡。

          9.C++避免平臺限定或沒有普遍用途的特性。

          10.C++不使用會帶來額外開銷的特性。

          11.C++設(shè)計成無需復(fù)雜的程序設(shè)計環(huán)境。


          很多同學(xué)想學(xué)好計算機編程,但是自己辛辛苦苦努力了半學(xué)期發(fā)現(xiàn),自己的去年上學(xué)期學(xué)習(xí)的編程方面的知識跟沒學(xué)一樣,全部都忘得一干二凈。那么,如果想要重新學(xué)會他,亦或者想要學(xué)好一門新的編程語言,有什么能夠快速上手的辦法呢?

          對于高級程序員來說,學(xué)會新的編程語言有C/C++的基礎(chǔ)的話,學(xué)好新語言兩個星期左右就能得心應(yīng)手,沒錯,他們的編程經(jīng)驗豐富,編程水平比較高,而我們很多新手就不能這樣。當(dāng)然本篇文章也是針對新手來寫的。

          首先,編程水平的概念有點大,我們這里約定編程水平是指代碼正確性,代碼的邏輯性以及代碼可讀性三個方面。

          1、提高代碼的正確性。

          2、提高代碼的邏輯性

          3、提高代碼的可讀性

          所謂代碼的正確性是指程序在運行過程中,代碼層面運行正常。也就是我們常說的代碼健壯(代碼健壯其實還包含業(yè)務(wù)層面)。

          在本文中,我將演示如何用 C++ 在終端上實現(xiàn)猜謎游戲。


          安裝依賴關(guān)系

          要跟上本文的步伐,你需要 C++ 和一個編譯器。

          在 Linux 上,你可以通過從你的發(fā)行版軟件倉庫中安裝 Qt Creator IDE 來獲得你所需要的一切。

          在 Fedora、CentOS 或 RHEL 上:

          1. $ sudo dnf install qt-creator

          在 Debian、Ubuntu、Chromebook 或類似的系統(tǒng)上:

          1. $ sudo apt install qtcreator

          本文并沒有使用 Qt Creator IDE,但它是一個安裝你所需要的一切的簡單方法,對于復(fù)雜的 C++ 項目(包括那些帶有 GUI 的項目),它是一個必不可少的工具。

          設(shè)置包含和命名空間

          C++ 的核心語言是精簡的。即使是一個簡單的應(yīng)用程序也需要使用額外的庫。這個應(yīng)用程序使用 iostream 來獲得對 cout 和 cin 關(guān)鍵字的訪問。

          另外,確保程序使用 std 命名空間:

          1. #include <iostream>
          2. using namespace std;

          這并不是絕對必要,但如果不將命名空間設(shè)置為 std,所有來自 iostream 庫的關(guān)鍵字都需要一個命名空間前綴。例如,我不能寫作 cout,而是要寫作 std::cout。

          C++ 中的語句以分號結(jié)束。

          創(chuàng)建一個函數(shù)

          每個 C++ 應(yīng)用程序至少需要一個函數(shù)。一個 C++ 應(yīng)用程序的主函數(shù)必須稱為 main,它必須返回一個整數(shù)(int),這符合 POSIX 的期望,即一個進程在成功時返回 0,而在失敗時返回其他值。你可以通過為它提供返回類型和名稱來創(chuàng)建一個新函數(shù)。

          1. int main() {
          2.  // code goes here
          3. }

          實現(xiàn)程序邏輯

          游戲代碼必須首先產(chǎn)生一個隨機數(shù)供玩家猜測。在 C++ 中,你可以通過建立一個用于生成偽隨機數(shù)的種子來實現(xiàn)。一個簡單的種子就是當(dāng)前的時間。一旦有了種子,你就可以得到一個在 1 和 100 之間的數(shù)字。通過調(diào)用 rand 函數(shù),并設(shè)置上限值 100 來產(chǎn)生一個從 0 到 99 的隨機數(shù),所以無論選擇了什么數(shù)字都要加 1,并將結(jié)果分配給一個名為 number 的變量。你還必須聲明一個變量來保存玩家的猜測值。為了清楚起見,我稱這個變量為 guess

          這個示例代碼還包括一個調(diào)試語句,告訴你隨機數(shù)到底是什么。這對于猜測游戲來說不是很好,但它使測試速度快了很多。以后,你可以刪除這一行,或者直接在行前面用 // 注釋出來:

          1. srand (time(NULL));
          2. int number = rand() % 100+1;
          3. int guess = 0;
          4. cout << number << endl; //debug

          增加 do-while 和 if 語句

          C++ 中的 do-while 語句以關(guān)鍵字 do 開頭,并將你希望 C++ 做的所有事情用括號括起來。用 while 關(guān)鍵字結(jié)束語句,后面是必須滿足的條件(括號內(nèi)):

          1. do {
          2.  // code here
          3. } while ( number != guess );

          游戲代碼出現(xiàn)在 ifelse if 和 else 語句之間,為玩家提供提示。

          首先,用 cout 語句提示玩家猜測。cout 函數(shù)將輸出打印到 stdout 上。因為 cout 語句沒有連著 endl(endline)函數(shù),所以沒有換行。緊接著這個 cout 語句,通過使用 cin 函數(shù)告訴 C++ 等待輸入。正如你所猜測的那樣,cin 等待來自 stdin 的輸入。

          接下來,程序進入 if 控制語句。如果玩家的猜測大于 number 變量中包含的偽隨機數(shù),那么程序就會打印出一個提示,后面是一個換行符。這就中斷了 if 語句,但 C++ 仍然被困在 do-while 循環(huán)中,因為它的條件(number 變量等于 guess)還沒有滿足。

          如果玩家的猜測小于 number 變量中包含的偽隨機數(shù),那么程序就會打印出一個提示,后面是一個換行符。這再次中斷了 if 語句,但程序仍然被困在 do-while 循環(huán)中。

          當(dāng) guess 等于 number 時,最終滿足關(guān)鍵條件,觸發(fā) else 語句,do-while 循環(huán)結(jié)束,程序結(jié)束:

          1. do {
          2. cout << "Guess a number between 1 and 100: ";
          3. cin >> guess;
          4. if ( guess > number) { cout << "Too high.\n" << endl; }
          5. else if ( guess < number ) { cout << "Too low.\n" << endl; }
          6. else {
          7. cout << "That's right!\n" << endl;
          8. exit(0);
          9. } // fi
          10. } while ( number != guess );
          11. return 0;
          12. } // main

          構(gòu)建代碼和玩游戲

          你可以用 GCC 構(gòu)建你的應(yīng)用程序:

          1. $ g++ -o guess.bin guess.cpp

          運行二進制文件試試:

          1. $ ./guess.bin
          2. 74
          3. Guess a number between 1 and 100: 76
          4. Too high.
          5. Guess a number between 1 and 100: 1
          6. Too low.
          7. Guess a number between 1 and 100: 74
          8. That's right!

          成功了!

          往期推薦




          趣味設(shè)計模式
          C++ 音視頻開發(fā)
          Qt 硬核指南
          玩轉(zhuǎn) Linux
          GitHub 開源推薦
          程序人生


          關(guān)注公眾號??,一起優(yōu)(niu)秀(bi)!

          回復(fù)「1024」,送你一份程序員大禮包。
          瀏覽 83
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐网址 | 国产精品秘 精品久久久 | 疯狂而刺激3p视频 | 免费日本黄色网址 | 中文字幕成人免费视频 |