Nova的科學反主流學院 

反主流的精神在於不屈於大環境, 本站旨在提供輕鬆自學各種科學。

C++程式範例-從1加到N是多少?上篇(怎麼存放資料-宣告變數/讓人看得更清楚-註解)

 

 

此篇章節包含

1.程式碼範例

2.程式執行結果

3.程式說明

程式設計概念-設計變數(存放資料的箱子)

程式設計概念-設計註解

 

 

以下開始正文:

 

1.程式碼範例

 

#include <iostream>

int main(int argc, char** argv)
{
    int n = 1; // 存放1加到多少的變數 
    
    int sum = 0; // 存放目前累加的總數 
    
    std::cout << "你希望從1加到幾?";
    
    std::cin >> n; // 讀取使用者輸入的數字 

    std::cout << "從1加到" << n << "的結果是:\n";
    
    for(int i = 0;i <= n;i++){
        sum = sum + i;
    }
    
    std::cout << sum;
}

 

2.程式碼執行結果

程式執行後會跳出這行數字,這時候可以按下鍵盤的數字,再按下鍵盤的Enter輸入 

 

然後程式就會開始計算,這邊以按下3為例,程式會開始1+2+3=6

 

假如把程式重新再跑一次,輸入更大的數字,也會發現一樣很快就出來答案

 

所以這個就是程式的好處,人類可能要花很久時間算的事情,他只要一瞬間就能達成!

 

3.程式碼說明

把最前面程式碼範例的貼到你的Dev C++中的樣子,如下所示:

 

main的前後部分和#include可以參考此篇

Dev C++ 教學 Hello World程式講解(基本程式架構、輸出文字)

 

程式設計概念-設計變數(箱子)

首先,我們想要算 1 + 2 + 3 + ... + N 這個動作,得先準備兩個東西

1.一個是 N ,也就是我們命令電腦加到多少就停 

2.另一個是 sum *1,讓數字每次加都存放在裡面。

 

所以我們在第 5 行和第 7 行分別宣告了兩個變數,N 和 sum

宣告就是跟電腦講,你幫我準備一個箱子,等等我要放資料進去,

變數的意思就是存放資料的箱子

如下:

 

那前面的int是什麼意思呢?

 

因為C++的特色是變數存放資料必須先指定型態,意思是資料有分類,像是int是整數,double是浮點數等等。

因為,我們今天是想要整數的 1 加到 N ,所以選擇了 int ,他是 interger (整數)的縮寫。 

所以我們假如想要一個 n ,應該寫成 int n; (中間有空白,後面要有分號)

 

那後面的 =1 又是什麼意思呢?

 

意思是,跟電腦講說,你幫我準備好裝資料的箱子後,並且先把資料放進去。

這邊的 =就是把資料丟進去變數的意思。

所以這邊的 int n = 1; 就是準備一個叫做 n 的箱子,並且把 1 這個資料丟進去。

不過這邊其實後面的數字給他多少沒關係,因為等等是我們手動輸入,所以會把他取代掉。

 

那另外還要準備一個 sum 的箱子,讓他每次把資料加完丟進去

所以我們會再多一個 int sum = 0;

這邊就一定要先歸 0 了,不然假如箱子裡一開始就有資料,加起來就跟你想要的結果不一樣了。

 

設計變數的時候有兩個要點:

1.取名字要自己好記

比如說通常我們數學是說 1 加到 N ,所以取名是 n ,比較好記。

而總和的英文是 sum ,所以取名 sum 比較好記。

2.使用型態要用對

這邊我們因為需要使用整數,所以用 int ,

之後我們會在其他的範例說明不同變數的用途。

 

程式設計概念-設計註解

 

我們有時候怕忘記(誰也不知道以後會不會回來再看),

或是怕給別人看不懂(不管是給老師看,或是跟同學、同事一起合作)

我們會寫紙條作記錄。

 

那程式也是一樣,我們可以寫一個說明紙條,只給人看,電腦不會去管他

這個功能就叫做註解。

 

像是剛才這一段,我們怕以後看到忘記 n 和 sum 是什麼東西,我們可以在後面加上

// 存放1加到多少的變數

 

所以只要使用兩個這個方向的斜線( // )後面的就會變成註解了嗎?

沒錯,後面要打英文中文火星文都可以,重點是要讓會看見這份程式的人懂在說什麼。

電腦只要看到斜線,就不會管後面的字,所以他不會把他當程式去執行

記住,不要打成( \\ )這個方向的斜線,這個是別的功能,電腦會把他當成你打錯。

 

另外,假如你需要連續的多行註解,覺得加太多個斜線很麻煩,也可以改下面這樣

 

    int n = 1; // 存放1加到多少的變數 
    
    /*  這是多行註解的第一行 
        這是多行註解的第二行 
         這是多行註解的第三行  */ 
         
    int sum = 0; // 存放目前累加的總數 

 

簡單的說就是用/**/夾住多行文字。電腦就把它當成每一行都是註解。

在Dev C++等工具中,一樣會標相同顏色的告訴你他是註解,如下圖:

 

 

上篇講解到此。

 

下篇(四則運算/重複執行-迴圈):

*1: 中文是總和的意思