㈠ c語言什麼是面向過程,什麼是面向對象
滿意答案冬夜讀書示子聿11級2011-10-29何必理會這個,別指望一個新人會理解面向對象。當你開始工作兩三年後,你自然而然就理解什麼叫面向對象。別整天聽人說面向對象有多麼牛,面向對象的基礎是面向對程。滿意答案大頭鬼4級2011-10-29C語言是面向過程。你了解下面向對象就知道區別了,「對象」大概就是一個程序的零部件,就是把一些函數、欄位、屬性(你暫時就想是C語言的一些函數和變數吧)包裝在一起,這么做的好處是什麼,利於重用,便於管理,好理解,總之好處一坨。就好比一輛車的一個部件,要換就換嗎,不會影響到整個程序的框架吧。
要深入還是比較抽象的,建議學C的時候順便看下C++或者其他面向對象語言
從網上找個項目看看。實踐學的比較快。
㈡ 為什麼說「C語言是一種面向過程()的程序設計語言」
面向對象和面向過程的簡單解釋:
面向過程:和你談業務。把所有的事情都談妥了,開始做項目。一整套項目做下來了,有需求要變。還得整個改變。
面向對象:邊做業務,邊談需求,這樣就能夠避免上面的問題
㈢ C語言的面向過程和C++的面向對象分別是什麼意思
C++和C的差別還是比較多的。
初學的話,可以認為C++是C的超集,除了支持C的面向過程,還支持面向對象編程。
面向過程就是以過程為中心的編程思想。分析出解決問題所需要的步驟,然後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。以公共汽車為例,在面向過程的思想里,汽車啟動是一個事件,汽車到站是另一個事件。在編程序的時候我們關心的是某一個事件,而不是汽車本身,所以要分別對啟動和到站編寫程序。
面向對象是一種以事物為中心的編程思想。以公共汽車為例,我們關心的是由汽車抽象成的對象,這個對象有自己的屬性,像輪胎、顏色等;有自己的方法,像象啟動、行駛等,方法是汽車的行為,而不是汽車的每個事件。面向對象需要建立一個汽車的實體,由實體引發事件,所以要分別針對汽車的屬性和行為編寫程序。
㈣ C語言C++分別面向過程和對象 過程和對象是什麼
C語言是面向過程的,面向過程語言的程序代碼=演算法+數據結構,而C++和JAVA是面向對象的語言,程序代碼=對象+消息。
我認為面向對象和面向過程就沒有本質的區別,只是使用不同的方法和角度去觀察一個世界。軟體設計就像寫劇本,數據就是角色,流程就是情節,整個軟體就象一部電影,面向對象只不過是把數據和對這類數據的處理捆綁在一起,在設計情節的時候就不必關心某個角色是如何完成某個動作的,只要安排各個角色按順序完成動作就好了。而面向過程怎麼做呢?那就是安排各個角色按順序完成動作,而如何完成動作參見第幾章第幾節或下面的註解。
從程序上或者劇本上看,面向對象就是先描述角色的特點和如何完成各種動作,然後才是具體情節;面向過程就是先描述角色的特點,然後講述情節,情節中對角色如何完成某個動作再寫一個小說明。從組織上看,面向對象的方法組織得更好更清楚一些,而沒有更多的不同。
至於派生和繼承只是把同類角色具有的相同特點和動作放在一起描述罷了,因為這個角色和那個角色與其它的角色相比在某個方面相同或類似,所以把它們分為一類,這個類就成了一個基類了,例如老師和作家都是知識分子,那麼就在這里一起描述一些知識分子具有什麼共同的特點,而不再在老師這類角色和作家這類角色里贅述了。
㈤ 在C語言中,什麼叫做「面向對象」,什麼叫做「面向過程」
面向過程就是分析出解決問題所需要的步驟,然後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
例如五子棋,面向過程的設計思路就是首先分析問題的步驟:1、開始游戲,2、黑子先走,3、繪制畫面,4、判斷輸贏,5、輪到白子,6、繪制畫面,7、判斷輸贏,8、返回步驟2,9、輸出最後結果。把上面每個步驟用分別的函數來實現,問題就解決了。
而面向對象的設計則是從另外的思路來解決問題。整個五子棋可以分為 1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統,負責繪制畫面,3、規則系統,負責判定諸如犯規、輸贏等。第一類對象(玩家對象)負責接受用戶輸入,並告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的i變化就要負責在屏幕上面顯示出這種變化,同時利用第三類對象(規則系統)來對棋局進行判定。
可以明顯地看出,面向對象是以功能來劃分問題,而不是步驟。同樣是繪制棋局,這樣的行為在面向過程的設計中分散在了總多步驟中,很可能出現不同的繪製版本,因為通常設計人員會考慮到實際情況進行各種各樣的簡化。而面向對象的設計中,繪圖只可能在棋盤對象中出現,從而保證了繪圖的統一。
功能上的統一保證了面向對象設計的可擴展性。比如我要加入悔棋的功能,如果要改動面向過程的設計,那麼從輸入到判斷到顯示這一連串的步驟都要改動,甚至步驟之間的循序都要進行大規模調整。如果是面向對象的話,只用改動棋盤對象就行了,棋盤系統保存了黑白雙方的棋譜,簡單回溯就可以了,而顯示和規則判斷則不用顧及,同時整個對對象功能的調用順序都沒有變化,改動只是局部的。
㈥ c語言是面向過程的還是面向對象的
c語言是面向過程的。面向過程是著重於其中程序設計的演算法、語言的運用,如設計不同功能的函數。
C++是面向對象的。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
c語言的特點:
1、代碼具有較好的可移植性
C語言是面向過程的編程語言,用戶只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用C語言實現相同功能時的代碼基本一致,不需或僅需進行少量改動便可完成移植,這就意味著,對於一台計算機編寫的C程序可以在另一台計算機上輕松地運行,從而極大的減少了程序移植的工作強度。
2、可生成高質量、目標代碼執行效率高的程序
與其他高級語言相比,C語言可以生成高質量和高效率的目標代碼,故通常應用於對代碼質量和執行效率要求較高的嵌入式系統程序的編寫。
㈦ C語言是面向對象還是面向過程的
「C語言」面向過程和面向對象的區別是:面向過程是著重於其中程序設計的演算法、語言的運用,如設計不同功能的函數。面向對象,按書上說是在C語言的基礎上發展起來的,通俗說也就是更高一級的C語言,也就是C++,保留了大部分C語言的功能,而在設計方面卻著重於對象的處理,獲得更好地性能。
面向過程與面向對象的區別,由「如何把大象裝進冰箱」來看:
一、面向過程
為了把大象裝進冰箱,需要3個過程。
/* 思路:
1、把冰箱門打開(得到打開門的冰箱)。
2、把大象裝進去(打開門後,得到裡面裝著大象的冰箱)。
3、把冰箱門關上(打開門、裝好大象後,獲得關好門的冰箱)。
*/
//每個過程有一個階段性的目標,依次完成這些過程,就能把大象裝進冰箱。
//寫法一:
1:冰箱開門(冰箱)。
2:冰箱裝進(冰箱,大象)。
3:冰箱關門(冰箱) 。
//寫法一變體:
1:(冰箱開門 冰箱)。
2:(冰箱裝進 冰箱大象)。
3:(冰箱關門 冰箱)。
//寫法二:
冰箱關門(冰箱裝進(冰箱開門(冰箱),大象))。
//寫法二變體:
(冰箱關門 (冰箱裝進 (冰箱開門 冰箱) 大象))。
二、面向對象
為了把大象裝進冰箱,需要做三個動作(或者叫行為)。每個動作有一個執行者,它就是對象。
/* 思路:
1、冰箱,你給我把門打開。
2、冰箱,你給我把大象裝進去(或者說,大象,你給我鑽到冰箱里去)。
3、冰箱,你給我把門關上。
*/
//依次完成這些動作,你就可以把大象裝進去。
//寫法一:
1:冰箱.開門()
2:冰箱.裝進(大象)
3:冰箱.關門()
//寫法二:
冰箱.開門().裝進(大象).關門()
㈧ C語言為什麼是面向過程它不有一個結構體類型的嗎感覺和C++的差不多。
c語言是面向結構也就是面向過程,java是純面向對象,c++是即可面向過程編程也可面向對象編程;這里說的面向過程和面向對象是一種編程思想,具體說就是:
面向結構,是把要實現的功能分成很多模塊即函數,每個模塊承擔某一功能,每個模塊可能會多次利用,這樣就只需調用函數就行,不用重新定義,節省了代碼和時間。
面向對象,是我們把要實現的功能打包封裝定義成一個類即一個對象,一個對象他既有多個屬性也有多個行為,用類作為程序設計的單元,要實現這個類的功能還得把類實現,就是用類定義對象,就像面向結構里的函數定義後,你還得調用函數才能用函數的功能,類可以實現很多功能及對象的行為,也就是可以包含很多函數模塊和變數,類與類直接可以通信也就是屬性的傳遞就就是變數值的傳遞,這就比面向結構更加抽象,抽象級別更高。
而樓主所說的C語言的結構體,他是來定義數據塊的,其實他只相當與面向對象的對象的屬性,具有多種類型的變數,而沒有對象的行為方式。
㈨ 小白提問,C語言中面向過程和面向對象是什麼意思,誰能簡單的幫我解釋清楚
C語言沒有面向對象,它是面向過程,就是什麼都要你自己做。
C++是面向對象,就是什麼都可以去讓對象做。
就像你蓋樓房,面向過程是你要自己一點一點的蓋起來,這一切都是自己實現。面向對象是你可以定義多個對象,讓對象去打地基的去打地基,搬磚的去搬磚,每一個步驟都可以讓對象去實現,而你只需要操控多個對象,告訴它們應該去做什麼。讓他們自己完成自己的工作。這就是面向對象。