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: 中文是總和的意思