跳到主要內容

第二章 C++ 程式設計簡介

C++  How to Program 7/E
第二章 C++ 程式設計簡介
學習目標
  • 用C++撰寫簡單的電腦程式
  • 撰寫簡單的輸入與輸出敘述
  • 使用基本型別
  • 基本電腦記憶體觀念
  • 使用算數運算子
  • 算術運算子的優先順序
  • 撰寫簡單的判斷敘述



基本上這單元分為三個部分,皆非常非常基本而重要,試著去多次抄寫,熟記這些基本功。
  1. 第一個程式與程式基本架構
  2. 記憶體觀念
  3. 算術運算子、判斷運算子


Part I 第一個程式與程式基本架構

螢幕快照 2016-05-17 下午4.06.15.png


第一行頭兩個斜線「//」表示後面接有註解(Comment),盡量保持好習慣在程式開頭書寫註解,方便自己與他人閱讀與理解程式。
//______    此種為單一開口型的註解,只能寫單行註解。
/*______*/此種為C風格封口型的註解,可以連續撰寫註解直到包覆結束。
第二行 #include <iostream> 是前置處理指令(preprocessor directive),用來通知前置處理器,將輸入/輸出串流標頭檔<iostream>(input/output stream header file) 的內容引入。任何城市想要用C++的串流將資料從鍵盤輸入or螢幕輸出,皆需要有這個標頭檔。
第五行int main() 是每個C++城市都有的部分。int 是一個關鍵字(keyword)表示 main 函式會傳回一個整數。
main之後的小括號表示main是程式的一個建構區塊——函式(function)。每個城市只能有一個稱為 main 的函式,也是程式中最一開始就會執行的函式(不管位置)。
第六行+第十行{ ____ }(L/R braces)是表示main 函式的主體(body)之起始、結束。
第七行 std::cout (standard output stream object)會將後面的字串輸出,通常在程式中每個cout, cin, cerr前面都要加上std::,不過因為麻煩,因此在程式開頭使用using namespace std;來取代。
反斜線\ 稱為跳脫字元(escape character) 表示輸出一個特殊字元,\n表示新增一行,讓游標移到下一行。
第九行return 0;是離開函式的方法之一。在這個程市中指出,使用return 敘述(return statement)時,若值為0,表示執行成功。不過,在C++標準中,假如main 的最後沒碰到返回敘述,仍然表示程式成功結束。


Part II 記憶體觀念

新數值放到記憶體的位置是具有破壞性的(destructive),即如果定義了一個變數number 1,原本已經賦予一個數值 0,但是當匯入新的字元時,就字元即被刪除;但如果又另創變數number 2,則兩者會互不衝突,記憶體會另闢個位置給number 2 ,最終將兩者數值相加,並賦予該數值給變數sum,這個計算過程,數值皆不會被刪除,因此過程是不具破壞性的(nondesrtuctive)。


Part III 算術運算子、判斷運算子

運算子的優先順序,一般與代數中的規則相同:
  1. 在同一對小括號中的運算子先進行計算。小括號具有「最高優先權」。若為巢狀(nested,或稱嵌入,embedded)的小括號(parenthese),則會由最裡面的小括號開始執行。
  2. 接著處理乘除,並由左處理到右。
  3. 接著處理加減,同樣由左向右。
判斷運算子
if 敘述(if statement)它可讓城市按照某些條件的真假值來選擇執行哪些動作。如果條件為true,則會執行if敘述主體內的敘述。若條件不吻合(false)則程式不會執行if 中的敘述。
注意:!=, >=, <= 若倒寫(=!, =>, =<)皆會造成語法錯誤,無法使程式執行。某些情形下,=! 不算是語法錯誤,但絕對為邏輯錯誤( logic error )執行期間會造成影響。
fatal logic error 會讓程式失敗且提早結束。
nonfatal logic error 可以讓程式繼續執行,但可能會產生不正確的結果。

留言

這個網誌中的熱門文章

【Quora 翻譯&整理】對於程式初學者嘗試解決問題的好網站推薦

原文出處: What are some suggested websites to solve programming problems for beginners? (2016/5/15) 此篇文章強調的是去參加project的那種網站推薦

第一章 電腦、網際網路與全球資訊網簡介

C++  How to Program 7/E 筆記 第一章 電腦、網際網路與全球資訊網簡介 學習目標 基本軟硬體觀念 物件技術觀念(類別、物件、屬性、行為、封裝、繼承) 程式語言的種類 典型的C++開發環境 業界標準物件導向素模語言——UML 沿革 網際網路、球球資訊網與Web 2.0現象的沿革 在Linux 的GNU C++ 與在Microsoft Visual C++環境中測試C++ 應用程式 *結構化程式設計(structured programming) *物件導向程式設計

【 Intro to Java Programming 】Lesson 1 : Introduction-5 (Algorithms)

This Notes is according to the udacity free course : Intro to Java Programming Lesson 1 : Introduction-5(Algorithms) Key Word : pseudocode Algorithms just like a doing things protocol+condition. Without protocol+condition, you can not make choice or do the decision. So if you want to buy car, you know the car speed and you don't consider the car price or the car condition, so it is your thought, it is the algorithm you buy a car. For computer, we give them the program ===>for them to do algorithm, but now we try to write done in Pseudocode. Pseudocode write in "spoken language" which help us to understand the problem so we can translate them into computer language ==>JAVA Code.org maybe it could help you have fun from learning code