C語言如何應用在寫程式?

我知道C語言有很多用處

可以寫遊戲、寫網頁、寫APP

但是究竟要怎麼寫呢?

我是用Dev c++而不管打甚麼程式

都只是跑出一個dos視窗,顯示你的計算結果

或者是用printif顯示出一堆文字而已

如果我想要寫一個單機遊戲,我要用的因該是Dev c++嘛?

我想要寫一個按鈕,按下去後他會執行我的指令該怎麼做?

我想要讓一個圖片我按右他就向右走該怎麼做?

我要怎麼自己寫一個網頁?

請各位給我一個方向,這樣子我C語言學起來才有動力和目的

已更新項目:

C語言打出來的程式要怎麼跳脫出dos視窗呢?

[就是我執行exe檔不再跑出dos視窗,而是一個自己設計的介面]

2 個已更新項目:

所以dev c++ 還有分dos環境的程式和圖形介面程式囉?

物件導向觀念主要是在教甚麼呢?

3 個已更新項目:

用API函數寫介面元件是甚麼意思呢?

同樣都是C++語言為甚麼Dev c++還要多輸入東西呢?

一樣的原始碼在不同的編譯器出來的結果不是因該一樣嗎?

4 個已更新項目:

所以用api函數寫介面元件,是像打程式語言那樣嗎?

他是和程式語言混再一起的(就是說原始碼有些是c語言有些是api函數)這樣嗎?

用api函數寫的介面元件可以自己決定介面長甚麼樣子嗎?

5 個已更新項目:

請問api函數和類別函數庫是一樣的東西嗎?

類別函數庫每個軟體都不一樣?那呼叫的api函數一樣嗎?

他們都是打在程式語言之中嗎?

1 個解答

評分
  • 阿明
    Lv 5
    3 年前
    最佳解答

    Dev c++你現在寫程式是,主控台應用程式(console application) ,是一種Windows底下虛擬DOS環境的文字界面程式(黑底視窗框架),視窗應用程式是圖形界面程式Dev c++參考下面網址 http://m9202911.blogspot.tw/

    不過要用Dev c++編譯器用C語言寫視窗應用程式很麻煩耗時,欠缺各種現成的視窗元件,需要自己寫界面元件的程式,你要花很久時間自己呼叫API函數寫界面元件(除非你的目的是學習,想瞭解視窗作業系統底層運作及視窗訊息傳遞機制) ,建議你改用別種C++編譯器,Visual C++ MFC,Borland C++ Builder ,Visual C++ CLR。

    視窗程式要用C++物件導向觀念,用有完整的元件類別庫的C++編譯器,會附有元件模板的工具小視窗,裡面有各種功能的視窗界面元件,你用滑鼠的游標點選你要的各種元件,把它拉下來Form視窗的適當位置,幾分鐘可以完成你想要的視窗界面。

    我想要寫一個按鈕,按下去後他會執行我的指令該怎麼做? 我想要讓一個圖片我按右他就向右走該怎麼做?

    用 C++ Builder 最簡易,可以到Borland官網下載試用版,或是用微軟 Visual C++ CLR 編譯器。微軟官網可以免費下載

    補充一下

    所以dev c++ 還有分dos環境的程式和圖形介面程式,沒錯,其他的c++視窗編譯器也是有分dos和圖形界面程式

    DOS是單工作業系統,只能有一個應用程式在DOS執行運作,Windows多工作業系統,同時可以很多個應用程式在Windows執行運作,視窗應用程式大家共用一個螢幕,鍵盤,滑鼠........所以寫視窗應用程式跟DOS有很大差異,需要有物件導向觀念 , 視窗元件就是一種物件(物件導向觀念),可學一下C++的類別(元件是類別建立的物件)。

    Windows多工作業系統差異,程式大家共用螢幕, 比如螢幕上你的視窗程式及元件被別人應用程式覆蓋(螢幕的程式及元件在別人應用程式底下看不見) ,別人程式用滑鼠移開時 ,你的視窗程式及元件需要自動的重劃顯示在螢幕。

    視窗元件都要接收滑鼠訊息,滑鼠的游標已經移動到這一元件,這一元件接收滑鼠訊息,有無按滑鼠的左右鍵,移到其他元件換其他元件接收滑鼠訊息。

    還有鍵盤的訊息...............

    .每一種視窗元件底下有多種函數合作,接收滑鼠訊息函數,元件圖顯示在螢幕的函數,讀取鍵盤的訊息函數.........全部把這些函數封裝起來就叫類別,用這一類別就可以建立很多同功能視窗元件(物件),元件裡面有這些函數在運作,

    Borland C++ Builder XE 要花錢買好像是5~7萬元,假如C++都一樣的功能誰會買,它就是幫你用API函數建立元件類別庫,有一個元件小工具視窗,元件你只要滑鼠拉下,讓你輕鬆寫視窗程式,不需要自己用API函數寫介面 (API是視窗底層的函數,跟作業系統溝通的函數)。Visual C++ MFC,Borland C++ Builder ,Visual C++ CLR 這些C++的類別函數庫都不一樣,C++是一樣但是類別函數庫不一樣,它們寫的視窗程式碼都不相容,寫好程式不能換到別種的C++編譯器

    -更新 4: 所以用api函數寫介面元件,是像打程式語言那樣嗎?-

    沒錯,就像你寫dso程式呼叫printf()函數 (格式化輸出函數) ,視窗用C語言寫呼叫API函數不過很複雜,比如在主視窗建立一個按鈕(Button),需要用函數設定, 按鈕的視窗樣式(按鈕圖顯示在最前面不會被主視窗覆蓋),按鈕圖要跟隨主視窗移動(按鈕圖是獨立,也可以不跟隨主視窗移動),按鈕的視窗大小,按鈕接收滑鼠訊息,主視窗被關閉了按鈕圖要跟隨主視窗關閉........... ...按鈕從初生到死亡有一堆事情要呼叫API,你要懂視窗作業系統的運作

    C語言是一種程序導向語言,古早單工的DOS作業系統,只有一應用程式在電腦執行,可用C語言寫圖形界面程式 (你現在主控台應用程式(console application)只有文字模式不能寫圖形界面程式,古早DOS作業系統才有繪圖模式及文字模式),依函數的功能完成每一程序步驟,(步驟一)用顯示圖形的函數,把有各種元件的一張圖檔顯示在螢幕,(步驟二)偵測螢幕滑鼠游標的函數,游標的座標停留在這張圖那一功能的元件,按滑鼠左鍵表示使用者選擇這一元件功能,程式繼續執行使用者選擇的功能程式。

    多工作業系統,可以有很多個應用程式執行,有很多個不同程式圖形界面在螢幕,圖形界面可以在螢幕移動及放大或縮小,不同程式的圖形界面可以重疊在一起,假設A程式和B程式兩圖形界面各重疊一半,滑鼠游標從A程式移動到B程式,滑鼠訊息會傳給沒被覆蓋那一部份的A程式或B程式。你仔細慢慢想一下,視窗程式這種動作功能,不太適合程序導向的思考方式,需要用物件導向思考方式,用C++語言先寫元件類別(C++視窗編譯器幫你寫好了),主程式建立元件物件,元件有自己的生命內部有各種函數,會自己處理被覆蓋重畫,讀取滑鼠游標的訊息.............

    更新 5: 請問api函數和類別函數庫是一樣的東西嗎?

    C語言視窗界面你直接呼叫api函數,C語言 呼叫的api函數是一樣(很複雜不是小事情,要幾百條程式碼才能完成你需要的視窗界面),類別函數庫C++才有(Dev c++沒有),C++視窗界面是用類別來建立元件(類別裡面用多種功能api函數組成的),,比如按鈕類別(Button),可以輸入文字的編輯器類別 (Edit )............ 各種視窗界面需要元件(視窗類別函數庫),主程式用這些類別建立各種元件,主程式只要一個程式碼就能建立一元件

    更新 5:他們都是打在程式語言之中嗎? 是沒錯,你自己打在程式語言之中,有元件視窗小工具的編譯器用滑鼠拉下來,它會自動幫你把相關的程式碼打在主程式之中,還有一個可看到你自己設計的視窗界面

    程序導向(C語言)的汽車工廠,有很多部門(api函數),外殼部門(製造引擎外殼 ,引擎啟動馬達外殼 ,大燈外殼,車外殼),及齒輪螺絲部門 ---->噴漆電渡部門(大燈外殼的噴漆電渡,車外殼的噴漆電渡)----->組裝部門(引擎組裝,引擎啟動馬達組裝,大燈組裝,整體汽車組裝)。

    物件導向(C++)的汽車工廠,先成立衛星工廠(C++類別),有製造引擎的衛星工廠(組裝完整可發動的引擎),各種大燈及方向燈的衛星工廠(組裝測試完整會亮的燈),車外殼衛星工廠(有噴漆電渡防銹處理)..........總工廠只利用這些衛星工廠組件(元件物件)組成一輛汽車,這些衛星工廠底下也是有完整部門,研發部門 ,外殼部門,噴漆電渡部門,組裝部門,測試品管部門,(部門=api函數,衛星工廠=C++類別)

    Dev c++ 是一個沒有附視窗類別函數庫的C++編譯器,有附視窗類別函數庫Visual C++ MFC (MFC是它的類別函數庫),.Visual C++ CLR (CLR是它的類別函數)., Borland C++ owl ( owl是它的類別函數庫)., Borland C++ Builder ( Builder是它的類別函數庫)...............................各廠牌不相容,想學視窗程式不要懷疑,找一些C++書來研讀,要懂些C++的類別,封裝,繼承,多型......,C#,java......別種的視窗程式語言也需要這些觀念,.然後找一個Visual C++ MFC, Visual C++ CLR,Borland C++ Builder 編譯器,

還有問題?馬上發問,尋求解答。