大一程設
東華大學
東華大學資管系
基本程式概念
資管經驗分享
不經一番寒徹骨,焉得梅花撲鼻香。 不經一番程式歷練,焉得 Ouput 美好滋味。 orange
程式能夠幫我們做到的事情非常多,不然就不會有甚麼遊戲,大家現在常看到的網頁,又甚至是很多協助人類的科技資訊研究,但是在碰到這些有趣的東西之前,該會的工具要先學起來,總不能 LV 1 的時候想要打 LV 100 的王吧!
寫程式是固定費時、燒腦,卻也是讓你成長到跟社會接軌的一件事情。 你的努力一定不會白費。 orange
話不多說,趕緊從頭學起吧!助教會用最熱忱的心教的!!
在寫程式的過程中,我們時常需要設計邏輯,而邏輯又需要很多其他的工具來輔助我們,其中基本中的基本工具就是變數,變數能夠幫我們處理運算、條件判斷、字串處理這三件事,再搭配其他額外的工具來讓變數的能力最大化,我們現在來談談在 C++ 裡有的變數型態吧!
變數型態 | 中文名稱 | 所占記憶體空間(位元組 bytes)(以 Win10 64位元為例) | 值域範圍 |
---|---|---|---|
short | 整數 | 2bytes | -32,768 至 32,767 |
int | 整數 | 4bytes | -2,147,483,648 至 2,147,483,647 |
long | 整數 | 4bytes | -2,147,483,648 至 2,147,483,647 |
float | 浮點數 | 4bytes | ~ |
double | 浮點數 | 8bytes | ~ |
bool | 布林值 | 1bytes | false 或 true |
char | 字元 | 1bytes | -128 到127(預設值) |
粗體字的要熟記,因為很常用!
值域範圍跟位元組的概念是計算機概論的基本知識,這邊如果有看不懂沒關係,要和計概一起學,學計概如果有問題可以再洽 Orange
這邊請左轉計算機概論,我先不負責XD 我是會,但先不跟程式設計混在一起 有需要請洽 Orange
我們馬上就會講宣告是什麼,莫驚莫荒。
這邊你們看不懂沒關係,請左轉計算機概論,有問題一樣洽 Orange
只要記得 float 跟 double 能夠拿來做小數運算就對了!
剛剛上面講完了資料型態,那就可以來講講甚麼是變數了,變數藉由給定資料型態來讓其副有意義,下面舉例。
所以我們可以得出一個通則
variable_type variable_name;
變數型態 變數名稱
而變數名稱都是由自己定義的,變數型態是 C++ 這個語言規定好的,無法改變,而通常在為一個變數命名的時候,要養成取「有意義」的名字的習慣,這邊舉個例。
假設今天有一道題目想麻煩你算出自己的 BMI,在為變數命名的時候,我會這樣做。
這樣閱讀者在閱讀的時候能夠馬上理解你在做的事,而且不會混淆,同樣的事情我們如果用很糟糕的命名方式,那會非常頭痛,這邊舉個錯誤示範!
忽然間好像甚麼都不會了,a、b、c 分別是什麼呀? 然而這個只有寫這段程式的那個人知道,所以一定要養成取有意義的名字的習慣!
然後最後要加上一個分號,在 C++ 裡面,一個陳述句最後都要加上分號,但不是說每一行都要分號哦,這邊舉個例,雖然有些內容沒看過,不過後面就會學到了。
這邊看的出來,第三行第六行沒有加分號,其他還有很多大括號包住程式範圍,所以並不是每一行都要加分號哦,而是一個陳述句才要加,像是變數的宣告、內容的輸入或印出(cout / cin)。
而條件判斷語句 if-else 後面會教不用擔心。
不失一般性,變數能被宣告既然要被拿來用,我們當然要給他值摟,值可以在後續運算的時候儲存,也可以在變數宣告的時候立即給他值,而這個動作就稱為初始化,我們直接看看例子。
應該不難理解,第二行跟第三行是在宣告變數的同時順便初始化,而第四行跟第五行則是我先宣告一個變數,但沒有值,之後我再初始化他的值。但一般會在變數宣告的時候就立即初始化,如果我們暫時用不到他,我們也會把他設為 0,預防一些錯誤,而這也是初始化的好處。
透過上面的例子我們知道了怎麼宣告變數,而在學程式的人中,有許多潛規則,有很多用語我們都會不自覺地使用出來,這邊要講的其中之二就是宣告、初始化
我們時常會說宣告一個變數,宣告一個整數變數,這邊的宣告在英文會常用 declare,未來有機會常看英文教學的時候就會知道。
we declare an integer variable called height,
and declare another one called weight.
而初始化我們則常用 initialize / initial,前者是動詞後者是形容詞,所以在外國教學會很常聽到如下的句子。
1.Now we initialize an integer variable called height and give it 200.
2.Now we give an initial value for this integer variable.
上面兩種都是很常聽到的句子,所以可以知道在這廣大的世界中其實有很多事情都有共通的語言,你聽到的時候其實不是不懂,而是你沒有見過,所以多吸收新知吧少年少女! orange
所以如果助教今天在台上一直講宣告宣告宣告初始化初始化,就是指這個意思!
程式設計師會把遇到的問題透過他的邏輯來呈現,而在我們的邏輯中需要什麼型態的資料,我們就會把它宣告出來使用。
所以變數的用意會根據問題被程式設計師賦予意義,所以上面說的取名字就非常重要,以上面的 BMI 為例,double 變數是被我賦予意義的,一個用來存身高,一個存體重,最後保存我們的 bmi 值。