① c語言和C++ C的區別在什麼地方
一種理解是:c++是c的擴充;它們的編程思想不一樣,c面向過程,c++面向對象,當然c++也可面向過程,但其特點是面向對象。
② c語言與c 的區別
如果你真的想學編程,就不要看學什麼什麼語言好,什麼什麼語言不好之類!
好不好,看個人的技術程度,專注一項即可
③ C,C++,C#之間的聯系與區別。
C C是編程的基礎語言,即是入門的.
C++ C++是關於類的編程,即面向對象的編程.
C# 是能夠進行網路編程及基於框架的編程.
④ cC和C++和java的問題有啥區別
我覺得
C
語言是面向過程的
C++
是面向對象的,它完完全全是C語言的擴展和升級,因為它多了「類」
Java
是純面向對象語言,它並非是C語言的擴展和升級。Java最大的特點是「垃圾回收」(防止指針導致的內存泄漏等極為嚴重的問題)和「元數據」(促進組建間操作,使開發效率大幅度提升),當然還有不少其他特點。
那麼缺點也顯而易見了
Java
的速度明顯慢於
C++
,而C++由於有類(如多態虛函數等)的參與,要略慢於C
我呢
覺得他們之間的區別並非很大(畢竟語法上比較類似)
但是呢
無論區別如何
你都應該按照需求來選擇
如企業級應用完全可以用
Java,因為它安全(垃圾收集),開發效率高(爭議頗多
我不想在此贅敘)
如桌面機應用則可用
C++,因為它比較高效,雖然有危險(如馬虎導致的內存泄漏等),但和企業級應用崩潰導致的後果相比,桌面機應用的崩潰畢竟還是```但是執行速度卻快了很多很多~~當然
開發效率還可以
如嵌入式應用和操作系統,或是要求性能非常高的(如計算等),適合C語言,因為他們不太需要類,而且呢要求實時高效~~
呼~累了說了這么多,希望你能全明白~~嘿嘿~
⑤ c++源文件 不同後綴(.cc .cpp .C .cp)的區別
VC里用cpp作後綴名, 在GCC里默認採用C、cc、cxx作為後綴名
.cpp, .h (VS file)
.cc, .h (GCC file)
C中:
頭文件後綴名: .h
源文件後綴名: .c
C++中:
頭文件後綴名: .h, .hpp, .hxx
源文件後綴名:.cpp, .cc, .cxx, .C .c++
這是現在不同標准下給出的擴展名:
Unix: C, cc, cxx, c
GNU C++: C, cc, cxx, cpp, c++
Digital Mars: cpp, cxx
Borland: C++ cpp
Watcom: cpp
Microsoft Visual C++: cpp, cxx, cc
Metrowerks CodeWarrior: cpp, cp, cc, cxx, c++
這些東西其實就是個標注,給人看的,叫什麼無所謂,只要能看出和c有關但也有別就行
我大膽YY一下:
c++就是直接用語言的名字命名的擴展名,cpp也類似(C Plus Plus)
但有些系統可能不支持在文件名里放入加號"+"
所以有用x代替+(你不覺得x很像斜倒下來的加號么……),於是有了cxx
而C和cc則是代表這是c的「加大」或「加強」版
當然,C這個擴展名在Win系統下用顯然不合適,因為Win是大小寫不敏感系統
對Win來說"test.c"和"TEST.C"是完全相同的文件名
但在Linux/Unix平台上就不同了
GCC 中以 .s為後綴的文件,是匯編語言源代碼文件
-----------------------------------------------------
GCC文件後綴名:
.c為後綴的文件,C語言源代碼文件;
.a為後綴的文件,是由目標文件構成的檔案庫文件;
.C,.cc或.cxx 為後綴的文件,是C++源代碼文件;
.h為後綴的文件,是程序所包含的頭文件;
.i 為後綴的文件,是已經預處理過的C源代碼文件;
.ii為後綴的文件,是已經預處理過的C++源代碼文件;
.m為後綴的文件,是Objective-C源代碼文件;
.o為後綴的文件,是編譯後的目標文件;
.s為後綴的文件,是匯編語言源代碼文件;
.S為後綴的文件,是經過預編譯的匯編語言源代碼文件。
⑥ C語言中的.c和.cpp有什麼區別
一、指代不同
1、.c:表示C的源程序。
2、.cpp:表示C++的源程序。
二、變數聲明不同
1、.c:c中變數聲明和代碼是分開的,必須在函數開始處聲明。
2、.cpp:c++變數可以在任意處聲明,只要保證先聲明後使用就行。
三、指針類型不同
1、.c:void指針可以給任意類型指針賦值。
2、.cpp:必須先進行強制數據類型轉換再賦值。
⑦ VC++、C、CC之間有什麼區別
vc++是微軟開發的C++開發工具,主要用於window平台的軟體開發,但是合理的配置也可以編譯linux或者android下的軟體(需要對應的sdk或者gcc編譯器)。針對window應用的開發,其提供了mfc庫,可以提高window應用程序開發的速度和質量。一般應用於網路通信、UI開發、應用軟體、服務軟體等大中型軟體項目開發
C不是C++,雖然一開始是一種面向過程編程的語言,但新的linux內核使用了該語言編程,但是卻是遵循的面向對象的概念。可以進行埠、定址和內存操作,一般應用於內核、驅動、靜態庫、動態庫等小型項目或者系統項目的開發。
CC一般多存在於makefile文件,是一種編譯時的環境變數,往往指向一個C/C++的編譯器,並沒有專門的實體和其對應。
⑧ c語言和psccal語言的區別
樓上說錯不少
Pascal的每個函數都分首部和執行部分,而C不區分。所以Pascal可以將函數的定義嵌套在其它函數內部。從而成為名空間。所有子函數都嵌套在主函數(主程序)的裡面,從而分辨出主程序。(主程序可以預設名字,則會被命名為main)
Pascal的指針聲明是
var p:^integer;
用p^表示p指向的內容。
new(p); dispose(p);
用來申請和注銷p。
Pascal中沒有void類型,所以要沒有返回值的函數被成為過程(procere),有的成為函數(function),而C都是函數。
Pascal的類型要求較為嚴格,C較為寬松。
數組下標可以從任意開始,只要結束≥開始,且為順序類型即可。
賦值單獨成句,沒有返回值。
++ --也被定義為inc dec兩個過程,單獨成句。
C的編譯指令是#……,Pascal則是{$……},且相比之下很不常用。
新版本的Pascal有包括操作符重載、類的定義等內容。而那個應該是C++的了。
⑨ C語言能做什麼與C++有何區別它們主要應用在哪些地方
C和C + +的區別<br /> C是一種結構化語言,如譚父說:「它集中在演算法和數據結構。 C程序設計的首要考慮的運算處理,通過一個過程,輸入(或環境條件),得到輸出(或實現過程式控制制(交易)),而對於C + +,首要考慮的是如何構造一個對象模型,該模型能夠適應相應的問題域,這樣您就可以獲取狀態信息輸出或過程式控制制(交易)。 <br /> C和C + +最大的區別是,他們的思維來解決問題的方式是不一樣的。之所以C + +比C更先進,因為設計這個概念已經被集成到C + +「,而在C語言本身,是該演算法的概念,所以C是重要的,錯了!該演算法是程序設計的基礎和良好的設計一個好的演算法,同樣也不會做。此外,「C加上好的設計」也能寫一個非常好的事情。<br />語言本身的一個子集,C是C + +的一個子集,它是什麼呢?從上面可以看出,CC + +過程式控制制等相關功能的C + +,C(我把它稱為一個「 C +「),相對於引進的重載,內聯函數,異常處理,所以還加強了原有的C上的東西,C + +的面向對象設計的內??容,如類,繼承擴大,虛函數,模板和容器類。<br />在C + +中的數據封裝,鍵入這些東西是不是沒有什麼新的需要考慮,如:對象粒度的選擇,對象介面的設計和繼承,組合繼承和其他問題。<br />相對於C,C + +包含了更豐富的設計概念,但C是C + +,一個自洽子集,也具有強大的功能,也是值得我們學習。<br /> <br /> <br />幾點建議:<br /> 1。基本概念是非常重要的。無論是學習,或學習C + +的基本概念是第一位的,是比較困難的,但只有把握的基本概念,以便從總體上把握的情況下,可以居高臨下。<br /> 2。C的一個子集,C + +和它的基本概念和設計方法是比較容易理解,初學者可從它開始。< BR /> 3。如果你想學習C + +,建議初學者最好不要寫一個程序,如VC,BCB平台,自動代碼生成什麼樣的,豐富多彩的界面,你就會知道該怎麼做。先找到一個開放的空間(UNIX,DOS),從頭開始,寫了幾個大點的程序,輪數,然後看VC,BCB,你會很。在我看來,學習C / C + + VC,BCB唯一的主。<br /> 4。停止做夢的崩潰,必須有一個位元組拉了一下,試圖找出每一個問題。<br /> 5。幾本書: <br />機械工業出版社出版的一套「計算機科學系列從C到C + +,面向對象的設計,一切,TMD是經典中的經典,而且價格也公道,童心靈和誠實。 <br />國內也有幾本書,譚父的書非常好,實在是太多了程序上的錯誤。強烈推薦清華周英現代軟體工程(上,中,下),這是罕見的,我看到的一本好書的精髓,精華的元素的要點,薄的材料,至少降龍十八掌級的東西。 <br /> <br /> <br />如果人們仍然希望學習C / C + +,有一些小的問題,我很樂意回答任何問題,但我認為學習C / C + +並不重要,重要的是如何鍛煉你的想法沒有發現的一些問題不太清楚做<br /> <br />我認為譚浩強「同志詐騙嫌疑人(我做了一個幾乎相同的英語書),但他帶來了入門手冊介紹了無數的程序員理解C語言,我想信貸他的不可磨滅在C語言編程>這本書的所有例子可以用來作為行使想法的基石,他的編程是有幫助的大家,我認為這是值得一買的。課後編程很有幫助認為的例子。不要低估了一個簡單的例子,他們是你的道路走向成功。<br /> <br />當你基本上可以掌握的例子前一本書,你有自己的一些實常式序一開始可能無法讀取,但只要努力就沒什麼問題了,當你看到幾個較大的例子,你會突然看到了光明,(例如計劃,讀了很多學習C / C + +快捷鍵),您會發現您的顯著提高。例如,你看到越來越多的理解您的Windows / DOS,最好能夠看一些書本上的知識系統,他將你的編程有幫助。以免<br /> <br />這是我學習C / C + +一個點的經驗,而不是我嚇壞了,想繼續學習C / C + +的朋友有一定的幫助。有的同志說我破壞中國軟體人才的發展<br /> <br />最後,我祝願所有堅持學習C / C + +的朋友成功!同時同志感謝您閱讀我的文章。<br /> < BR />你想學C + +,非學校C不!<br /> <br />今天,我確定這里說的這些話,初學者陷入更多的語言嗎?更好的誤區,其實,這個問題是不是很嚴格,但我必須說幾句話來說,為C平反!<br /> <br /> C + +和C,什麼不同呢?我們現在的一個步驟,通過步驟分析<br />一類,類的我就不說了,它的沒有錯,但對於初學者來說,它是一種負擔。類的封裝使得初學者程序累了,不舒服和麻煩。<br />參考C + +,最驕傲的事情,最好是盡量不要使用它,我從來沒有不引用,除非萬不得已。引用初學者更容易造成混亂,不知道有一定的參考,這是一個變數。<BR />,函數重載,初學者學習函數重載似乎沒有傷害,但是,這會使初學者潛意識的C語言變數類型的重要性稀釋記住C語言的變數類型是最敏感的,和的重要性。 C語言中的變數的類型是不言自明的。<br />四流運營商,和上面同樣的道理,使可變式海水淡化的重要性,CIN這東西是有點不太方便,有時會產生結果不知何故初學者。<br />五,運算符重載,典型的高級應用,初學者可能根本就不需要這個東西讓他們覺得C + +是很難,門檻不能閱讀.......... .. <br /> 6,繼承,虛函數,典型的模仿四不象,這的狗屎事情似乎深奧的,實用價值非常低...................怎麼可能我把一個類類型的指針指向不同的類型,但在類的繼承關系,實現動態綁定,暈............ <br /> ...... ............一些東西,我不會評論,如:新建,刪除,運營商,等............ <br /> </誤區三:提問和回答形式:<br /> Q:C + +面向對象技術和面向過程?<br />答:第二對,第一個問題是錯誤的,C + +是不完全面向對象的技術,恐怕,真正的面向對象的語言,只有Java只能在<br />問:C + + C無法實現的功能嗎?<br />答:至少我沒有找到...... <br /> Q:學習C學習C + +的障礙是什麼?如程序設計思想...... <br /> A:至少我沒看清是誰擁有這症狀。<br /> Q:學習C + +學習C + +,並有重新啟動?<br /> A:沒有,C + +可以將所有的C語言的特點。<br />問:我完成學校C將肯定需要學習C + +可以通過編程?<br /> A:完全不必要的。<br />問:C + +比C好?<br />答案:更多一致的軟體工程<br /> Q:學完了C到學習C + +是不容易嗎?<br />答:這取決於你是不是真的學完了C語言,從C到C + +的前一個星期臨睡前看兩本書,然後大徹大悟。然後去發布狗屁文章。<br /> <br /> <br />看到很多網上學習的人,我非常不同意。很多人想一口吃個胖子,要學習,要學習最新的,如果沒有人願意去學那些老的,舊的編程語言,但你可以學習,明白了嗎?學習TC2。優秀的編程語言,你能理解VC6。0?如果你真的,我寧願做你的門徒!令人奇怪的是,那些人不知道的基本語言,如何了解最新的編程語言?我學過編程的三年。結果是,多,只有一個計算機四的證書和海拔證書,但我認為我學習VC + +時,有很多不明白的,沒有人教我,我只能靠自己,包括所有的結果都在他們的自己,我從來沒有匯報過上課。到學校超過6個月的VC,我想我已經基本入職,但仍然是一個很大的混亂。剛開始學習VC,面臨著一個項目,我真的像傻瓜一般,四恐慌觸摸,毫無章法,最後勉強可以認為是大致相同的。到學校去學習VC + +高級WINDOWS編程,我認為這是很容易的,畢竟,有很多的東西,在Windows內部可以直接在VC調用,你可以先有了新的認識WINDOWS,去學習其他的語言嗎?氣虛不能簡單嗎?<br /> <br />我覺得,其實,是面向過程和面向對象非常重要的是,VC還需要一個面向過程的,很多東西是相互關聯的,而不是面向過程的思想,怎麼會編程嗎?建議看到更多的關於Windows編程的書籍,但大多數都是比較老的書呦!我還記得的TC編程的辛苦了一整天,但我仍然懷念當年的勞動付出,畢竟,我得到的一切 - 我想獲得編程思想。我認為一個良好的編程思路,完全以學習一門計算機語言好更重要比你要形成自己的編程風格。一個良好的編程思想在你的心中,一旦形成,學習什麼語言,會很容易,因為你是不會在這個時候是非常簡單易學,但驗證!
⑩ c語言與c++有什麼區別啊
了解的C/C++編譯器如下: GCC家族有 Cygwin Mingw32 DJGPP Dev-C++(Mingw32) 還有正宗的GNU GCC 2.95.5~3.0.0.4版本 MS家族有 MSC 5.0、6.0、7.0 MSQC 1.0、2.5 MSVC 1.0、4.2、6.0、7.0 Borland家族有 TC 1.0、2.0 TC++ 1.01、3.0 BC 3.0、3.1、4.0、4.5、5.0、5.02 BCB 3.0、5.0、6.0 其它有 Intel C/C++ 5.0 Watcom C/C++ 11.0、11.0c VectorC 1.3.3 IBM VisualAge for C++ DigitalMars C/C++ KAI C/C++ 4.03f for RedHat 7.2 Lcc4.1 LCC-WIN32 2001-09-25~2002-04-28日版 Small C CC386 Pacific C 另外還有C的解釋器 Quincy Eic CINT 上面提到的編譯器/解釋器,大部分我都使用過。現在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32這五種編譯器。 在GCC家族中GNU GCC是根本,其它的編譯器版本都是從它導出的。其中,Cygwin和Mingw32都是WIN32平台下的編譯器,DJGPP是DOS下的32位編譯器。大家所熟知的DEV-C++充其量只是GCC的一個外殼,它所自帶的編譯器就是Mingw32的一個版本。這些GCC的版本中,Cygwin是最大的,它與其說是一個編譯器,倒不如說是一套編程工具。它不僅有編譯器,還有其它很多的工具。其實,它就是一個UNIX系統在WIN32平台上的實現。實現了大多常用的UNIX工具,最近的版本中連Apache這樣的「工具」都集成進來的。不過,Cygwin雖然功能強大,但它卻不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因為太多其它的工具分散了人們的注意力。相比之下Mingw32就要好用得多,它只有最基本的幾個編程工具(只可惜它不自帶GDB)。GCC中並不只是C/C++編譯器,其中還有很多其它的編譯器如JAVA,Fortran,ADA等。它是一個編譯器集合,不過有些編譯器只能在UNIX系統上用。MS家族的編譯器就不用說了,大家對它們都很熟悉。VC 7.0(VC.NET)是它的最新產品。Borland家族也不用說,大家也是耳熟能詳。最近它才推出了BCB 6.0。 其它的編譯器如:Intel C/C++大家一看名稱就知道是Intel的東西,它和VC6完全兼容,不過要掛在VC6下才能用。Watcom C/C++是早先編譯器四國大戰中的一員,原本是很不錯的東西,可惜戰略不對,現在已不見聲息了。倒是以它為基礎的一個OpenWatcom現在還在奮戰。VectorC是我近日才發現的一個好東東,它是個純C的編譯器。IBM的VisualAge for C++原本是IBM想用來淌C++編譯器這片渾水的東西,不過IBM的戰略改了,它就被放棄了。DigitalMars C/C++的前身的Symantec C++(它也是編譯器四國大戰中的一員),不過現在Symantec不做了,於是它的作者就把它改成了DigitalMars C/C++開放給大家使用。以上這些都是WIN32平台上的東西。KAI C/C++是個很強大的C/C++編譯器,它是個多平台的編譯器。不過現在被INTEL收購了,已經停止開發了。Lcc4.1是個純C的編譯器它是開放源代碼的。不過不怎麼好用。LCC-WIN32是一個在LCC基礎上開發的C語言的集成開發環境,很好用,而且有很詳細的資料,FREE!Pacific C是一個純DOS的C的集成開發環境,就不多說了。Small C CC386都是開放源代碼的編譯器,它們都很簡單,應用來給大家學習編譯器的。Quincy Eic CINT都是C的解釋器,是用來讓大家學習C語言的其中CINT的功能很強大,還支持一些C++的特性。 當然還有很多其它的編譯器,這里我給出的編譯器都是可以在WIN32或DOS平台上用的(除KAI外)。UNIX平台上的編譯器還是以GNU的為主,其它的我就不是很清楚了。 在以上的編譯器中,最特別的就是VectorC這個東西只支持純C。但它卻號稱是最快的編譯器,不過經過我的試驗,它的確在有些情況下強過其它編譯器很多!而且它還有個互動式的優化器,可以讓你直接看到C代碼對映的匯編代碼。Cygwin和Mingw32為一母所生,其運行效果相差不大。它們生成的代碼效率都很不錯,編譯的速度也很快,最值得一提的是它們對C++的特性的支持算是所有編譯器中最完全的,而且它們還支持C99的大部分特性。這一點很是不錯!大家對MS的VC已經很熟悉了,本不用我多說。不過在它的最新的產品VC7.0中,有很大的改進。它對C++的特性的支持比6.0有了很大的提高,是我所用的編譯器中是僅次於GCC的。而且它編譯出的程序,運行速度很快!僅有少數時候次於VectorC與GCC,其它情況都是最快的!其平均運行速度是最快的。對Borland的產品我也無需多說。它的TC2.0與BC3.1都是我最喜歡的東西。可是現在的BCB卻大不如前了,編譯的速度和VC6一樣慢!IDE還有較多的BUG。最令人想不通的是它生成的代碼的運行速度很慢,比LCC-WIN32還慢!它唯一值得一提的就是它的RAD做的比MS的好。Intel的編譯器大家可能不熟,它太貴了!還要有VC的支持,很不劃算,而且編譯速度比VC6還慢。不過它的代碼質量很不錯。DigitalMars C/C++沒有什麼亮點,編譯速度較快,代碼執行速度適中,對C++特性支持還算不錯。LCC-WIN32是個很不錯的集成開發環境,它只支持純C。它的編譯速度極快!代碼執行速度較慢。不過它的最大亮點在於它的IDE,在所有的FREE編程工具中,它的IDE是最專業的,有很強大的代碼分析,管理功能。而且它提供了大量的編程資料。 我曾對一些編譯器的代碼執行效率做過一些測試,以下是概況: 1. VectorC、VC 7.0 (極快) 2. Intel C/C++、VC 6.0、GCC (很快) 3. DigitalMars C/C++ (一般) 4. LCC-WIN32、BCB、BC5.02 (較慢) 當然,我所做的測試比較片面。不過在很大程度上已能反映其大概狀況。參考資料: http://www.skycn.com/soft/15754.html