目前分類:dev c++ (16)

瀏覽方式: 標題列表 簡短摘要

【不是惡夢的開始,而是再度的精進。 C++ 回傳指標】

在呼叫函數時,引數有傳值、傳址、傳參考等方式。而函數回傳時也有回傳值、回傳指標等方式,回傳值得方式我們就不多說了(程式入口 int main()就是回傳整數值給作業系統),我們直接來看看回傳指標。


#include <iostream>

using namespace std;

伊蒙‧普羅客 發表在 痞客邦 留言(7) 人氣()

【不是惡夢的開始,而是再度的精進。陣列名稱可以視為一個位址】


陣列名稱可以視為一個位址,因此當我們要將陣列傳給函數的時候,或許會選擇使用指標的方式傳給函數,以避免陣列的內容必須一個一個複製,尤其複製大陣列是非常沒有效率的。


例:

伊蒙‧普羅客 發表在 痞客邦 留言(4) 人氣()

【不是惡夢的開始,而是再度的精進。 傳值、傳址、傳參考】

 

在傳遞引數給函數時,有著很繞口的傳值、傳址、傳參考,也因為繞口,就變得很容易混淆觀念,因此就用同一個例子來看看傳值、傳址、傳參考到底有多少差別。


就先來看看傳值的方式:

伊蒙‧普羅客 發表在 痞客邦 留言(4) 人氣()


【不是惡夢的開始,而是再度的精進。 自訂函數】

我們在程式中需要重複執行某一組指令功能時,迴圈就是最好的選擇。那麼將這一組能完成特定工作的指令,模組化成一個完整的函數,便可以隨時呼叫引用,這就是自訂函數了。


在這之前,其實我們不知不覺中已經使用過無數次的函數了,那就是主程式的入口

伊蒙‧普羅客 發表在 痞客邦 留言(1) 人氣()


【不是惡夢的開始,而是再度的精進。指標】


在談指標之前,我們先回顧一下變數。


伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()


【不是惡夢的開始,而是再度的精進。掀開指標的神秘面紗】


指標之所以不好學,就是總讓初學者感覺上是隔著一層面紗在探索指標,那種似東非東,似西非西捉摸不定的飄渺感覺。


伊蒙‧普羅客 發表在 痞客邦 留言(2) 人氣()

【不是惡夢的開始,而是再度的精進。】

 

對於字串的處理除了使用字元陣列,還有另一種較好的方法,就是使用 string 物件。


標頭檔string定義了string型態,string型態是由類別(class)定義。基本上類別只是引入一種新型態而已,實際上使用類別定義的型態和基本資料型態的使用並無差異。類別型態的實體通常稱為物件(object)而不是變數,雖然string不是基本的資料型態,但它是ANSI標準的一部份,所以你可以將它視為你可用的另一種資料型態,而且string物件的處理方式和基本資料型態變數的處理方式完全相同。

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。】

 

我們已經學會了如何宣告並初值化基本型態的變數,每個變數可以儲存特定型態的單一資料項,
就是我們可以儲存整數、浮點數的變數,或是儲存字元的變數,而陣列則可以儲存相同型態的數個資料項,可以是整數陣列、浮點數陣列或是字元陣列。

 

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。 while迴圈  do-while迴圈】


程式中需要重複執行某一組指令功能時,迴圈就是最好的選擇。

我們可以根據程式的需求與習慣,選擇 for、while 及 do-while 迴圈,一般來說,while 迴圈和 do-while 迴圈則是對於無法事先知道迴圈要執行多少次才夠時。


伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。 for迴圈】


程式中需要重複執行某一組指令功能時,迴圈就是最好的選擇。

我們可以根據程式的需求與習慣,選擇 for、while 及 do-while 迴圈,一般來說,for 迴圈用在已知要重複執行幾次時。


伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。】

當面臨多重選擇時,我們不必再巢狀的 if else-if else-if 不斷的判斷,避免掉 if 和 else-if 配對混淆造成的閱讀困難及執行上的錯誤,改而使用 switch-case 敘述則簡約明暸,其格式如下: 

switch(運算式)
{
  case 選擇值1:

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。】

 

在程式設計中,作決策是很基本的,就像是十字路口般,根據不同的選擇,程式的執行會有不同的方向與結果。當我們想要根據判斷條件的結果來執行不同的敘述時,if判斷式會是一個很實用的選擇,它會忠實的測試判斷條件的值,再決定是否執行後面的敘述,if判斷式的格式如下: 

 

if(判斷條件)

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。】

 

if()測試
在 if 測試條件為真時,就執行單一敘述,或是執行用大括號包住的區塊敘述。

 

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()

【不是惡夢的開始,而是再度的精進。】

 

在程式中總免不了需要做各種的判斷,因此關係運算與條件運算是很重要的支柱之一,在進入主題之前先看一下一些有用的測試字元的函數集。

 

在程式中引入標頭檔 cctype,就可以使用測試字元很有用的函數集,對於每個函數,都要傳給函數 int 型態的變數或文字,若你傳遞 char 型態,則它會自動轉成 int。

伊蒙‧普羅客 發表在 痞客邦 留言(0) 人氣()


C++是強制型態的語言,就是程式中的每個項目都需要用型態來定義它是甚麼,C++編譯器會做廣泛的檢查,然而我是早期學過BASIC,而且還是直譯式那種的BASIC,所有的變數根本就不需要先定義變數的資料型態,想要甚麼變數就直接命名使用,丟數字給他..OK,丟文字給他...也OK,電腦真的好聰明,好不快活。


一開始學C++的時候真是痛苦極了,這個也編譯錯誤,那個也編譯不過,所以下課回家時都又重回BASIC的懷抱,唉....都已經不是學生了,還這樣。(當時是晚上自行到電腦補習班的課啊)。


伊蒙‧普羅客 發表在 痞客邦 留言(1) 人氣()


怎麼又來"第一支 dev c++ 程式"?!
呵呵~這次少了視窗兩個字喔,這次是主控台版本的 c++

還是依照前例,如圖

 

文章標籤

伊蒙‧普羅客 發表在 痞客邦 留言(1) 人氣()