PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   程式語言?!該如何入門? (https://www.pcdvd.com.tw/showthread.php?t=506161)

harrisonlin 2005-07-01 01:08 AM

寫 C/C++ 程式時,常常忘記大中小括號而 compile 錯誤嗎?

常常寫出一大堆 memory leak (new 了某些東西,卻忘記 delete) 嗎?

在這裡提供一個簡單的方法...

宣告一個 class 或是 function 時, 直接打上

class AClass {}

或是

void AFunction(int cX, int cY) {}

然後再跳回去斷行:

class AClass {
}

...

void AFunction(int cX, int cY) {
}

這樣就不會一天到晚忘括號啦~至少可以有效解決大部份這種問題~

new - delete 也是一樣!只要一 new 出某個東西,馬上把對應的 delete 寫好:

char* buff = new char[256];
delete [] buff;

然後再回到兩行之間加入程式碼:

char* buff = new char[256];

//Do something to the buff...

delete [] buff;

小小心得,供各位參考~

wangks 2005-07-01 01:59 AM

找個家教吧
一個月
光建置編輯環境
一個不懂的人也粉難吧

elohssa 2005-07-01 02:21 AM

給樓主:
第一題的參考答案
--------------------------------
代碼:
int f(int i) {
    if(i <= 5) 
        return (i/5);
    else 
        return ((i + 1) * f(i - 1));
}

--------------------------------
主要奇妙處在於遞迴(Recursive)
不懂的話像天書
懂了其實也沒什麼

第二題參考答案
--------------------------------
代碼:
int func(int n, int k) {
    if(k == 1)
        return (int)(n - (int)(n / pow(10, k)) * pow(10, k));
    else 
        return (int)(n - (int)(n / pow(10, k)) * pow(10, k)) / pow(10, (k - 1));
}

--------------------------------
pow() 是數學程式庫裡內建的函式
pow(x, n) 會傳回"x 的 n 次方"的值
例如: pow(10, 2) => 傳回100
一般標準的C 都會提供數學函式庫
所以這種函式應該不用自己寫

加油!! 耐心點~ :agree:

terrybug0 2005-07-01 02:32 AM

多謝前面所有大大們的建議,在下實在無法一一的感謝,但是真的在這邊感受到溫暖:like:,今天早上有兩位大大PM給在下,其中的建議是直接找幾本範例題庫狂k,或者先練基本功

在這邊在下會很仔細的看上面各位大大的建議,真的謝謝您們,祝大家今天有個美好的夜晚:D

paradise 2005-07-01 05:43 AM

有時間的話 除了 loop 外
recursion 也稍微看一下 有時候會比 loop 好用很多

thatguy 2005-07-01 06:05 AM

引用:
作者terrybug0
感謝您的回答,這位大大,請問有推薦的書籍嗎?在下買的是文X出版的C語言真EZ,但是真的看得霧沙沙,很怕買到不同方向的書.....另外在下真的有往這方面發展的想法,努力在下是ㄧ定要的,但前提是必須先考上啦~

在這裡再一次謝謝您~

本來以為已經得到答案而沉掉了呢 回到第一頁才又看到

不過很抱歉 因為時間是一個月
所以我也想不出什麼書能推薦你讓你在這段時間內就學會的
而且以小弟本身學過的幾種程式 得到的共通心得是
不可能只有看一本書就變強 一定是要看過幾本
互相印證 觀念比較容易清晰 然後再多看看別人寫的程式或是範例
就會紮實的變強 速成的考試方法我不會

既然是考試 倒比較推薦像 finkel兄所提的去找四技二專在用的書
然後 自己整理一下考古題 應該比較有幫助

elohssa 2005-07-01 12:41 PM

要學好程式設計
自己動手寫寫看是非常重要的
一開始會想破頭那是一定的
但是只要成功第一次
過了那個門檻
之後就會越來越順手

不過還有一個更重要的就是...........要有興趣!!

GuanMa 2005-07-01 01:26 PM

一個月....要是有辦法的話還是去弄個軟體來練習吧
寫程式要是從來沒上過機, K再多書也是進不了腦袋的
要是弄不到軟體的話, 直接K考古題會比較來得容易吧!?
樓主加油嚕!! 能夠提起勇氣挑戰, 很難得了唷!

elohssa 2005-07-02 12:47 AM

引用:
作者elohssa
給樓主:
pow() 是數學程式庫裡內建的函式
pow(x, n) 會傳回"x 的 n 次方"的值
例如: pow(10, 2) => 傳回100
一般標準的C 都會提供數學函式庫
所以這種函式應該不用自己寫


後來想起來
pow 這種函式好像也是Recursive 應用的標準考題之一
所以還是自己會寫比較好

參考寫法:
代碼:
int pow(int x, int n) {
    if(n == 0) 
        return 1;
    else
        return x * pow(x, n - 1);
}

terrybug0 2005-07-02 08:40 AM

引用:
作者thatguy
本來以為已經得到答案而沉掉了呢 回到第一頁才又看到


哈哈~在下之前說過ㄚ,在下不是為了做作業才來求答案的,在下是真的想拼拼看:D

對了~感謝樓上幾位大大的解答,在下已經有去找程式來開始練習了<用拖來的:ase:>
希望能趕在考之前把基礎弄懂一些,要是真的如願考上外加中樂透的話,每人ㄧ顆4800+加7800GT:laugh:


所有的時間均為GMT +8。 現在的時間是05:29 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。