當前位置:首頁 » 編程語言 » c語言編程感悟132集
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程感悟132集

發布時間: 2022-05-11 22:42:01

Ⅰ 我想學習c語言編程,大俠們給點建議

首先,計劃只能自己制定,別人製作的就像你說,我沒鞋子而且不會造鞋子,能不能幫忙造一個。別人製作的鞋子不一定適合你的腳。你需要的是製作鞋子的方法。

學C語言,首先,要有本好教材,推薦譚浩強的《C程序設計<第三版>》,

其次,要找個老師或者至少比你強的人,因為你是新手,所以從其他人那裡學經驗是很重要的,這可以幫你節省時間,更重要的是,指導你學習調試程序。

再次,你要多和別人交流,從交流中學習別人的演算法、設計思路、學習方法,調試程序方法……

加入一個群固然是個不錯的選擇,我還是建議你在身邊找個懂C語言的,這樣會好的多。

,下面給你一個網摘,很不錯的,雖然是關於C++的,但還是有用,你也收藏了吧:
下面的是學 C++ 時要注意的。

1. 把 C++ 當成一門新的語言學習(和 C 沒啥關系!真的。);

2. 看《 Thinking In C++ 》,不要看《 C++ 變成死相》;

3. 看《 The C++ Programming Language 》和《 Inside The C++ Object Model 》 , 不要因為他們很難而我們自己是初學者所以就不看;

4. 不要被 VC 、 BCB 、 BC 、 MC 、 TC 等詞彙所迷惑 —— 他們都是集成開發環境,而我們要學的是一門語言;

5. 不要放過任何一個看上去很簡單的小編程問題 —— 他們往往並不那麼簡單,或者可以引伸出很多知識點;

6. 會用 Visual C++ ,並不說明你會 C++ ;

7. 學 class 並不難, template 、 STL 、 generic programming 也不過如此 —— 難的是長期堅持實踐和不遺餘力的博覽群書;

8. 如果不是天才的話,想學編程就不要想玩游戲 —— 你以為你做到了,其實你的 C++ 水平並沒有和你通關的能力一起變高 —— 其實可以時刻記住:學 C++ 是為了編游戲的;

9. 看 Visual C++ 的書,是學不了 C++ 語言的;

10. 浮躁的人容易說: XX 語言不行了,應該學 YY ; —— 是你自己不行了吧!?

11. 浮躁的人容易問:我到底該學什麼; —— 別問,學就對了;

12. 浮躁的人容易問: XX 有錢途嗎; —— 建議你去搶銀行;

13. 浮躁的人容易說:我要中文版!我英文不行! —— 不行?學呀!

14. 浮躁的人容易問: XX 和 YY 哪個好; —— 告訴你吧,都好 —— 只要你學就行;

15. 浮躁的人分兩種: a) 只觀望而不學的人; b) 只學而不堅持的人;

16. 把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;

17.C++ 不僅僅是支持面向對象的程序設計語言;

18. 學習編程最好的方法之一就是閱讀源代碼;

19. 在任何時刻都不要認為自己手中的書已經足夠了;

20. 請閱讀《 The Standard C++ Bible 》 ( 中文版:標准 C++ 寶典 ) ,掌握 C++ 標准;

21. 看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;

22. 別指望看第一遍書就能記住和掌握什麼 —— 請看第二遍、第三遍;

23. 請看《 Effective C++ 》和《 More Effective C++ 》以及《 Exceptional C++ 》;

24. 不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;

25. 和別人一起討論有意義的 C++ 知識點,而不是爭吵 XX 行不行或者 YY 與 ZZ 哪個好;

26. 請看《程序設計實踐》,並嚴格的按照其要求去做;

27. 不要因為 C 和 C++ 中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;

28.C++ 絕不是所謂的 C 的 「 擴充 」—— 如果 C++ 一開始就起名叫 Z 語言,你一定不會把 C 和 Z 語言聯系得那麼緊密;

29. 請不要認為學過 XX 語言再改學 C++ 會有什麼問題 —— 你只不過又在學一門全新的語言而已;

30. 讀完了《 Inside The C++ Object Model 》以後再來認定自己是不是已經學會了 C++ ;

31. 學習編程的秘訣是:編程,編程,再編程;

32. 請留意下列書籍:《 C++ 面向對象高效編程( C++ Effective Object-Oriented Software Construction )》《面向對象軟體構造 (Object-Oriented Software Construction) 》《設計模式( Design Patterns )》《 The Art of Computer Programming 》;

33. 記住:面向對象技術不只是 C++ 專有的;

34. 請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;

35. 把在書中看到的有意義的例子擴充;

36. 請重視 C++ 中的異常處理技術,並將其切實的運用到自己的程序中;

37. 經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;

38. 不要漏掉書中任何一個練習題 —— 請全部做完並記錄下解題思路;

39.C++ 語言和 C++ 的集成開發環境要同時學習和掌握;

40. 既然決定了學 C++, 就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;

41. 就讓 C++ 語言的各種平台和開發環境去激烈的競爭吧,我們要以學習 C++ 語言本身為主;

42. 當你寫 C++ 程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見 43 );

43. 別心急,設計 C++ 的 class 確實不容易;自己程序中的 class 和自己的 class 設計水平是在不斷的編程實踐中完善和發展的;

44. 決不要因為程序 「 很小 」 就不遵循某些你不熟練的規則 —— 好習慣是培養出來的,而不是一次記住的;

45. 每學到一個 C++ 難點的時候,嘗試著對別人講解這個知識點並讓他理解 —— 你能講清楚才說明你真的理解了;

46. 記錄下在和別人交流時發現的自己忽視或不理解的知識點;

47. 請不斷地對自己寫的程序提出更高的要求 , 哪怕你的程序版本號會變成 Version 100.XX ;

48. 保存好你寫過的所有的程序 —— 那是你最好的積累之一;

49. 請不要做浮躁的人;

50. 請熱愛 C++!

補充 :

對 c++ 學習的一點感想,希望對初學者能有些幫助

1. 如果你以前從來沒有接觸過 c++ ,那麼選擇的第一本 c++ 教程就顯得尤為重要,我認為你可以參照以下的標准進行選擇:

a. 對標准 c++ 進行講解,畢竟 c++ 比從前發生了很大的變化。

b. 要求全面,但不要很深,這要有助於你對於 c++ 有一個全面的認識,打好基礎,並且易懂的教材還能加快學習的進度,讓自己保持一種成就感。

c. 要有完整的範例來講解每一個知識點如何運用,請注意這里所說的完整,並不是個個代碼片斷。因為由於你以前從未接觸過用 c++ 進行編程,完整的代碼可以使你有一個整體的概念,並且能夠很快去進行大量的實踐,因為變編程是從模仿開始,完整的代碼恰恰告訴你了一個完整的步驟。不必自己去揣測。

d. 推薦:《 c++ primer plus 》

2. 當你有了一定的基礎以後,就要選擇一些書來迅速提高自己。這類書的特點是不僅僅教你如何去運用,而且要叫你如何去思考,並且你讀起來也不是那麼輕松。它意味深遠,並不是你讀一遍就能掌握的。

推薦:《 thinking in c++ 》《 effective c++ 》《 more effective c++ 》

《 c++ programming language 》 ... 《 c++ 沉思錄》

3. 接下來就是對第二步所介紹的書籍進行反復的閱讀,並且進行實踐。由於這些書一位深遠,每個人基於自己的基礎都會有不同的收獲,例如如果你的基礎還沒有達到某一高度,那麼你就對一些精深的技術視而不見,不信?你可以試試,看看當自己有了一定提高之後再來讀從前的一本書,你會發現許多新的東西。

Ⅱ C語言的心得編程的心得,求高手講講

學習C語言 我個人認為還是看國外教材比較好,比如經典的:
C語言: C Primer Plus 中文版 本書是備受好評.
開發工具是: VS2008 或者 VS2010

你也網路一下, 80X86匯編小站 網站裡面有篇文章是寫給C/C++語言初學者的.標題是:
如何正確的入門Windows系統下C/C++學習領域.

這文章准確的說明了學習C/C++的各種細節,你也可以通過這篇文章聯系作者,跟他交流更多的編程問題。

Ⅲ C語言編程

這個是華軍上的C/C++程序設計學習與實驗系統
介紹如下:
原名《Turbo C/C++ for Windows 集成實驗與學習環境》,現在已全面支持最新操作系統VISTA,它是從事一線教學的大學教師根據C/C++ 初學者的特點,量身定製的一個簡單易用的 C/C++程序設計學習與實驗軟體(支持TC2/TC3、GCC、VC6四種編譯器,沒有使用日期限制)。與軟體配套的《 C/C++程序設計教程(配有同步實驗、流程式控制制語句動畫演示、提供教程中所有程序實例、實驗、作業中的源代碼(全部用VC6編譯器調試通過))》融入了作者多年的教學和學習經驗、編程建議、編程感悟,新增讀書筆記功能有利用戶 記錄教程中的重點、難點、學習心得體會,針對用戶學習教程中遇到的問題開通了疑難問題解答論壇等,同時,為了便於C語言學習,加入C語言學習指導、入門程序實例、典型源程序、典型的函數演算法,課程設計指導、課程設計源程序、 Visual C++6.0中英文編譯錯誤信息同步顯示功能(並配有60多種同步的語法錯誤程序實例、修改方法等)、 Turbo C2.0 中英文編譯錯誤信息同步顯示功能、Turbo C++3.0常見編譯錯誤信息、C語言專業詞彙的中英文對照、二級 C 語言的真題筆試試卷及答案與分析和上機模擬試題和詳盡的答案與分析等大量的學習資源。另外 「編程日記」 功能可以讓你記錄你的 C 語言學習歷程, 「資料管理」 功能讓你大量的下載資料不再難找

安裝注意事項:為了保證軟體的正常運行,請不要安裝在中文文件夾中,採用默認安裝路徑即可。

2009.3版本更新

不知道你是打算用來做什麼用的?是學慣用還是工作用的?
另外,虛機團上產品團購,超級便宜

Ⅳ c語言編程我想精通c語言求大師指點

如果你是想學C語言,我推薦還是在Linux下進行吧。
至於你說的用windows人多,不學windows不行。其實Linux的用途更加廣泛,有一句叫「即使你看不到,Linux確已統一天下」。Windows你看到的只是桌面系統用的人很多。
Linux現在廣泛用在嵌入式系統和伺服器,用途廣泛,而且在Linux下做開發的人也並不少,資源豐富。Linux本身就是一個開源的系統,你可以簡單的獲得到它的源碼進行閱讀和學習,你會慢慢發現Linux C的美妙,同時Linux上也有很多好用的開源軟體供你去學習。
關於學習過程,首先找一本基礎的C語言書讀懂讀透,然後學習數據結構,然後學習《unix環境高級編程》。前兩本書我沒說具體書名,這類書很多,你隨便找一本就行,不要貪多,一本足夠。在這一學習過程要多動手練習,這樣才能養成好的編程習慣和思維。在這之後,你就可以選擇一個方向在進行深入學習,比如是伺服器上的程序開發,還是嵌入式應用開發,或者Linux驅動開發等等。

Ⅳ C語言編程體會

主要是多上機操作,不懂的請教高手,多看一些程序,弄懂其編程思路,搞懂每一句的作用。譚浩強的那本教材非常好,建議看那本教材。

Ⅵ 學習c語言編程

c語言 最基礎了什麼都不用學

推薦書籍 看下面文章吧
這是以前看到的一篇文章,感覺很好。不過裡面很多說都絕版了上網慢慢找吧

程序員之路——如何學習C語言並精通C語言

程序員之路——如何學習C語言
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是「最小的代價」,也絕不是什麼捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經歷艱苦的過程。

一、要讀就讀好書,否則不如不讀

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。

大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)

Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。

切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

二、Unix/Linux還是Windows,這是個很大的問題

不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。

對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。

所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。

等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格
歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。

三、萬事俱備,你就是東風
書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。

學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。

例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。

也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。

仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

寫到最後,還有非常非常重要的一點沒有提及——代碼風格,從最開始學習就必須強迫自己模仿最優秀的代碼風格

Ⅶ c語言編程 心得體會

背關建詞語,明白每個詞的意思,寫程序時,再一套入就可以了,考試保你80分以上,我就是這么學的!!!

Ⅷ 學完譚浩強的《c語言程序設計》就等於學完了c語言的所有功能了嗎,這本書還有沒有講到的c的知識嗎

看了你這問題,想起了我自己來。
我自學了 譚浩強的《c語言程序設計》以為C學的很好了,當時記得大概用了一個月的時間。
當時還很自負的寫了一篇文章<c語言的數組、指針、函數傳遞釋義>,想想真是可笑。
然後就去看數據結構,結果在編程的時候發現很多基礎的東西都不知道……
經朋友推薦看了c++primer第四版,現在 才知道什麼是基礎。才知道C語言的強大。
譚浩強的《c語言程序設計》我感覺只能算是一本少兒讀物,想繼續C的話,看一下 C語言四書五經。個人認為現在你最好去學C++.

Ⅸ 關於C語言編程

輸入算式:
2 + 5
2 + 5=7

#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define true 1
#define false 0
#define OPSETSIZE 8
typedef int Status;
unsigned char Prior[8][8] = { // 表3.1 算符間的優先關系
// '+' '-' '*' '/' '(' ')' '#' '^'
/*'+'*/'>','>','<','<','<','>','>','<',
/*'-'*/'>','>','<','<','<','>','>','<',
/*'*'*/'>','>','>','>','<','>','>','<',
/*'/'*/'>','>','>','>','<','>','>','<',
/*'('*/'<','<','<','<','<','=',' ','<',
/*')'*/'>','>','>','>',' ','>','>','>',
/*'#'*/'<','<','<','<','<',' ','=','<',
/*'^'*/'>','>','>','>','<','>','>','>'
};
typedef struct StackChar{
char c;
struct StackChar *next;
}SC;
typedef struct StackFloat{
float f;
struct StackFloat *next;
}SF;
SC* Push(SC *s,char c){
SC *p=(SC*)malloc(sizeof(SC));
p->c=c;
p->next=s;
return p;
}
SF* Push(SF *s,float f){
SF *p=(SF*)malloc(sizeof(SF));
p->f=f;
p->next=s;
return p;
}
SC* Pop(SC *s){
SC *q=s;
s=s->next;
free(q);
return s;
}
SF* Pop(SF *s){
SF *q=s;
s=s->next;
free(q);
return s;
}
float Operate(float a,unsigned char theta, float b) {
switch(theta) {
case '+': return a+b;
case '-': return a-b;
case '*': return a*b;
case '/': return a/b;
case '^': return pow(a,b);
default : return 0;
}
}
char OPSET[OPSETSIZE]={'+' , '-' , '*' , '/' ,'(' , ')' , '#','^'};
Status In(char Test,char* TestOp) {
int Find=false;
for (int i=0; i< OPSETSIZE; i++) {
if (Test == TestOp[i]) Find= true;
}
return Find;
}
ReturnOpOrd(char op,char* TestOp) {
for(int i=0; i< OPSETSIZE; i++)
if (op == TestOp[i]) return i;
}
char precede(char Aop, char Bop) {
return Prior[ReturnOpOrd(Aop,OPSET)][ReturnOpOrd(Bop,OPSET)];
}
float EvaluateExpression(char* MyExpression) { // 演算法3.4
// 算術表達式求值的算符優先演算法。
// 設OPTR和OPND分別為運算符棧和運算數棧,OP為運算符集合。
SC *OPTR=NULL; // 運算符棧,字元元素
SF *OPND=NULL; // 運算數棧,實數元素
char TempData[20];
float Data,a,b;
char theta,*c,x,Dr[]={'#','\0'};
OPTR=Push(OPTR,'#');
c=strcat(MyExpression,Dr);
strcpy(TempData,"\0");//字元串拷貝函數
while (*c!= '#' || OPTR->c!='#') {
if (!In(*c, OPSET)) {
Dr[0]=*c;
strcat(TempData,Dr);//字元串連接函數
c++;
if (In(*c, OPSET)) {
Data=atof(TempData);//字元串轉換函數(double)
OPND=Push(OPND, Data);
strcpy(TempData,"\0");
}
} else { // 不是運算符則進棧
switch (precede(OPTR->c, *c)) {
case '<': // 棧頂元素優先權低
OPTR=Push(OPTR, *c);
c++;
break;
case '=': // 脫括弧並接收下一字元
OPTR=Pop(OPTR);
c++;
break;
case '>': // 退棧並將運算結果入棧
theta=OPTR->c;OPTR=Pop(OPTR);
b=OPND->f;OPND=Pop(OPND);
a=OPND->f;OPND=Pop(OPND);
OPND=Push(OPND, Operate(a, theta, b));
break;
} // switch
}
} // while
return OPND->f;
} // EvaluateExpression
void main(){
char s[128];
puts(" 輸入算式:");
gets(s);
printf("%s\b=%g",s,EvaluateExpression(s));
getchar();
}