系統學習C (2)

2021-08-07 21:22:04 字數 2648 閱讀 7165

第一部分是c++的一些基本的知識,還沒有涉及成段的**,而且都是一些零散的知識點,第二部分,涉及了函式的知識,**涉及的知識點會多一點。

練習6.4:編寫乙個與使用者互動的函式,要求使用者輸入乙個數字,計算生成該數字的階乘。在main函式中呼叫該函式。
程式實現:

#include 

using

namespace

std;

int factorial(int i)

}int main()

catch (runtime_error e)

cout

<< "again? enter y or n : " ;

char c;

cin >> c;

if(!cin||c=='n') // 如果沒有輸入任何字元(直接enter)或者輸入的是n

break;}}

執行結果:

練習6.6:說明形參、區域性變數以及區域性靜態變數的區別。編寫乙個程式,同時用到這三種形式。
**實現:

#include 

using

namespace

std;

void fun1(int i) // i是形參

int main()

return

0;}

執行結果:

練習6.7:編寫乙個函式,當它第一次被呼叫時返回0,以後每次呼叫返回值加1。
**實現:

#include 

using

namespace

std;

// 可使用靜態區域性變數實現

int countcall()

int main()

}

執行結果:

練習6.10:編寫乙個函式,使用指標形參交換兩個整數的值。
**實現:

#include 

using namespace std;

// 指標傳值的經典題目!

void exchange(int

*p,int

*q);

int main()

執行結果:

練習6.12:使用引用而非指標交換兩個整數的值。
#include 

using

namespace

std;

void change(int &a, int &b)

int main()

執行結果:

練習6.42:給make_plural函式(參見201頁)的第二個形參賦予預設引數's',利用新版本的函式輸出單詞sucess和failure的單數和複數形式。
分析:看了一下make_pural函式,感覺應該是給第個引數賦予預設值。

**實現:

#include 

#include

using

namespace

std;

string make_plural(size_t ctr, const

string &word,

const

string &ending = "s")

int main(int argc, char *argv)

}int main(int argv, char *argc)

; vector

vec(a,a+5);

printvec(vec);

return

0;}

執行截圖:

練習6.51:編寫函式f的4個版本,令其各輸出一條可以區分的訊息。
分析:主要在於函式的形參個數和型別的區別

程式實現:

未完待續。。。

PHP系統學習2

字串操作 字串擷取 substr 字串格式化printf 格式化無需echo sprintf 需要echo nl2br 可以將 n轉換成 wordwrap 單詞之類的函式目前不知道有什麼具體用途 strtolower 轉換小寫 strtoupper 轉換大寫 ucwords 首字母轉換成大寫 str...

C (2)導讀學習筆記

計算機的最基本功能是 資料處理 c 能夠處理的基本資料型別 除了資料之外,還要有運算。c 支援基本的運算是 算數運算,邏輯運算 程式要能夠輸入資料,輸出資料。程式要能夠從外部裝置如鍵盤上讀入資料。輸出資料如呈現在顯示器上,輸出至某個外裝置。c 中的資料輸入 輸出可以呼叫預定義的功能模組實現。只需呼叫...

C 系統學習 陣列

與vector的異同相同 都是存放型別相同物件的容器不同 陣列的大小確定不變,不能隨意向陣列中增加元素 1 定義和初始化內建陣列 陣列中元素的個數也屬於陣列型別的一部分,編譯的時候維度應該是已知的,也就是說,維度必須是乙個常量表示式。預設情況下,陣列的元素被預設初始化。note 定義陣列的時候必須制...