C 語言教程方法和類 (2).

Mondo 教育 更新 2024-01-31

3.3 輸出引數

與參考引數類似,輸出引數不會開啟新的記憶體區域。 與引用引數的區別在於:

在呼叫方法之前,無需初始化變數。

輸出型別引數用於傳遞方法返回的資料。

呼叫包含引用引數的方法時,在傳遞引數時,需要使用 out 關鍵字將引數宣告為輸出引數。 方法返回後,傳遞的變數被視為已初始化。

我們以引數和輸出引數為例進行比較。

static void squareref( ref int x )

x = x * x;

static void squareout( out int x )

x = 8;

x = x * x;

static void main()

int i = 3, j ;

squareref(ref i);

squareout(out j);

console.writeline("i = , j = ", i, j);

該函式的輸出為:

i = 9, j = 64

分析。 從上面的例子中,我們可以看到參考引數和輸出引數之間的區別。 squareref 方法使用引用引數方法,而 squareout 方法使用輸出引數方法,兩種方法都做完全相同的事情,都是平方的。 只需在 squareout 方法中將 x 的值初始化為 8 即可。

3.4 陣列引數

陣列也可以用作方法的引數,這些方法用於表示稱為陣列引數的引數,陣列引數只能放在引數列表的末尾,陣列引數只能是一維陣列。

宣告陣列引數需要使用 params 關鍵字

using system;

class test;

console.writeline("thesum:"+sum(var));console.writeline("the sum:"+sum(10,20,30,40,50));

程式被編譯並執行輸出:

the sum:15 the sum:150

3.5. 變數:作用持續時間和範圍

變數的持續時間是指變數在記憶體中存在的時間量。

變數的作用域是指程式中可以引用變數的位置。 某些變數可以在整個程式中引用,而其他變數只能在程式的有限部分中引用。

以下示例說明了例項變數和區域性變數的作用域:

using system;

class test

public int s = 1;

public void methoda()

int s = 23;

console.writeline("s in methoda is :"+ s+"after entering methoda" );

s;console.writeline("s in methoda is :"+ s+"before le**ing methoda" );

public void methodb()

static void main()

程式的輸出如下:

s in methoda is :23after entering methoda

s in methoda is :24before le**ing methoda

s in methodb is :1after entering methodb

s in methodb is :10after entering methodb

3.6 遞迴

遞迴是乙個重要的概念,在現實生活中,我們可能會遇到這樣的問題:乙個複雜的問題可以分解成簡單的問題,乙個簡單問題的解決方法和複雜問題的解決方法是一樣的,我們知道乙個簡單問題的解決方法,這就是為什麼我們可以用遞迴來解決乙個複雜的問題。

我們知道數學中的階乘表示為 n!,計算公式為:

n! = n * n-1)*(n-2)*…1

現在讓我們用遞迴的思想來考慮因子求值,因子可以寫成:

n! = n *(n-1)!

3.7 方法過載

在C語言中,可以在乙個類中定義多個同名的方法,只要它們具有不同的引數即可,這稱為方法過載。

在下面的示例中,方法過載用於計算 int 和 double 資料的平方。

public int square(int x)

return x*x;

public double square(double x)

需要強調的是,過載方法必須至少滿足以下條件之一:

引數的數量不同。

引數型別不同。

引數的順序不同。

4. C 命名空間

命名空間提供了一種組織相關類和其他型別的方法。 與檔案或元件不同,命名空間是邏輯組合,而不是物理組合。 不在同一檔案中的多個類可以共同包含在命名空間中,從而建立邏輯結構。

若要建立命名空間,需要使用 namesapce 關鍵字

4.1 命名空間的使用

雖然命名空間的使用使類組織得更好,但也引入了類全名很長的問題,使用起來非常不方便。 C 允許簡寫類的全名,C 宣告在使用類之前,需要在檔案頂部列出類所在的命名空間,並且命名空間名稱需要在 using 關鍵字前面,以便可以使用相對名稱來引用類而不是其絕對名稱。 在以下兩個示例中,第乙個示例使用類的全名,第二個示例使用類的相對名稱:

system.int32 a;使用您的全名。

using system;

int32 a;

4.2 命名空間的別名

using 關鍵字的另乙個用途是給類和命名空間賦值別名,如果命名空間名稱很長,在 **中已經用過好幾次了,但是命名空間的名稱包含在 using 指令中,可以給命名空間賦值乙個別名,語法如下:

using alias = 命名空間名稱;

5. 類方法的使用

5.1 控制台類方法

控制台類表示控制台應用程式的標準輸入、輸出和錯誤流。

5.2 數學方法

我是技術創造者

相關問題答案

    2022 Lich 簡易語言教程

    種植停止 dbbpnet .html Easy Language是一種易於學習的程式語言,旨在使沒有程式設計基礎的人輕鬆學習習程式設計並開發自己的應用程式。Easy Language 的出現讓那些對程式設計感興趣但缺乏經驗的人可以輕鬆上手並逐漸掌握程式設計技能。簡單的語言具有多種功能和用途。首先,它...

    和在c語言中的區別

    在 C 語言中,符號 和 雖然相似,但在功能和用法上卻存在顯著差異。混淆這兩者通常會導致程式設計錯誤和邏輯問題。本文將深入探討這兩個運算子的定義 功能和區別,以及它們在 C 語言中的實際應用。在 C 中,用於將右邊的值分配給左邊的變數。這是乙個賦值操作,它不比較變數,而是更改變數的值。用於比較兩個值...

    Python和C語言的比較分析

    Python 和 C 是兩種常見的程式語言,它們在語法 應用場景和開發效率方面有很大不同。Python 和 C 在語法上存在很大差異。具體表現在以下幾個方面 資料型別 Python 是一種動態型別語言,可以在執行時根據變數的值確定變數的型別另一方面,C 是一種靜態型別語言,它在編譯時指定變數的型別。...

    一種在 C 中保留十進位數的除法方法

    在 C 中,除法運算通常返回整數結果。但是,有時我們需要進行除法運算並獲得保留小數的結果,這在需要準確計算和輸出的情況下很重要。本文將詳細介紹如何在 C 中除以和保留十進位數,包括使用浮點數 型別轉換和使用數學h 庫函式等的提示和注意事項 在 C 中保留小數的除法描述如下 .使用浮點數 最簡單的方法...

    如何在C語言中輸入字串?分析了這三種方法

    C語言作為一種古老而強大的程式語言,一直因其對字串的輸入操作而備受程式設計師的關注。在編寫程式時,如何高效準確地輸入字串成為必備技能。本文將為讀者提供全面而實用的指南,介紹在 C 中輸入字串的各種方法。.使用 scanf 函式 在 C 語言中,scanf 函式是專門用於從標準輸入裝置獲取資料的經典選...