您好,登錄后才能下訂單哦!
本篇內容介紹了“C語言與C++是同一種語言嗎”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
C++是C語言的升級版。C++保留了C語言原有的所有優點,并增加了面向對象的機制。
C++是由C發展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用于C++。從C++的名字可以看出它是C的超集。C++既可用于面向過程的結構化程序設計,又可用于面向對象的程序設計,是一種功能強大的混合型的程序設計語言。
C++中最重要的一個概念就是”類“,有了類才有面向對象的程序設計。“類”是學習C++語言的核心,是C++初學者必須要攻克的難關。C語言中沒有類,因此,概念上是一個飛躍。
C語言書寫風格
標準C語言(ANSI C)的注釋只能是“/* ... */”,C++的注釋可以是”/*…*/“或”//“。C語言代碼中雖然也可以使用”//“,是因為目前很多C語言編譯器也是C++編譯器。
如果函數沒有參數,C語言建議使用void,而C++建議不寫。
C語言代碼:
/* 在C語言中,嵌套注釋是錯誤的 *//*int myFunc(int x, int y) { int width; /* 寬度 */ int height; /* 寬度 */ /* Some Code */}*//* C語言中沒有參數的定義(推薦) */void myFunc(void) { /* Some Code */}
C++代碼:
// C++多行注釋內可以有單行注釋/*int myFunc(int x, int y) { int width; //寬度 int height; //寬度 // Some Code}*/// C++語言中沒有參數的定義(推薦)void myFunc() { // Some Code}
變量和函數原型的申明
C語言中函數的原型申明是被建議的,但調用處后面的函數的確可以不申明。C++中則不論函數定義的先后,必須事先申明。另一方面,局部變量的定義,C語言要求必須在函數體的開始部分,某一語句之后再定義變量是錯誤的,而C++則沒有這一限制。
C語言代碼:
// void myFunc(void) // C語言中這句省略不出錯void myFunc(void){ for (int i=0; i<10; i++) // 出錯。i 定義要放在for前面 // Some Code } }int main(void){ myFunc(); int x = 0; //出錯。應放在myFunc();之前 return x ;} C++代碼: void myFunc(void) //C++語言中這句不能省略void myFunc(void){ for (int i=0; i<10; i++) { //C++中不出錯 // Some Code }}int main(void){ myFunc(); int x = 0; //C++中不出錯 return x ;} 其它不同點
C++語言是C語言擴展而來,C程序自然可以直接使用,但的確仍有一些不同之處。
C語言中,字符常量被當作整數,而C++語言中不是,字符常量就當作字符。這雖然很小,但卻是重要的一點。
C語言中全局變量多次定義雖不好,卻不出錯。C++語言中則出錯。
C語言命名限制在31個有效字符,C++語言中沒有限制,但太長了使用不方便。
C語言中main()函數也能被調用,當然這不是好方法。C++語言中main()被禁止調用。
C語言中不能取寄存器變量的地址,C++語言中可以。
C語言中沒有bool類型,wchar_t是宏定義,C++語言中,增加了bool基本類型和wchar_t擴展類型。
C語言中用結構體定義變量時,“struct 結構體名 變量名”,在C++中“struct”可以省略。
C++語言的新舊版本
C++語言自身也在發展,新舊版本的寫法上也有所不同。我們的教程并不討論語言的發展過程,所以只講新內容。這也是與時俱進吧。
C++中還有一個重要新增概念是”名字空間“。名字空間是防止名稱沖突而申明的“領域”,打個比方,C盤中文件增多就有可能有相同的文件名,這樣我們就必須用目錄來管理,將相同文件名放在不同的目錄里就可以了。當目錄名逐漸增加,也有重復名稱時,一是再增加父目錄,另一辦法就是將相同目錄名放在不同的盤符下。有關名字空間將在下節專門講解。
舊版本C++的寫法:
#include //“.h”不能少int main(void){ // Some Code}
新版本C++的寫法
#include using namespace std; // 命名空間是必須的int main(){ // Some Code}
控制臺的輸入輸出
C語言的控制臺輸入輸出是用函數來實現的,最常用的是printf()和scanf()函數。C++語言中一般使用運算符“<<”和“>>”,這比C語言中的函數的功能更強大、更方面,下面只介紹基本使用,更強大的功能要等學完了“類”之后才講解,這樣更容易理解。
C語言中運算符“<<”和“>>”是位操作運算符,C++中仍然有效,而用作輸入出時,最前面必須是cin或cout,表示從控制臺輸入或輸出,cin和cout是C++定義好的輸入出流。輸出時當需要回車時,可以用“\n”,也可以用“endl”。
#include #include using namespace std;int main ( ){ int i, j; double d; string s; // C++中新增 string 類型 i = 10; d = 123.45; s = "http://www.xuebuyuan.com/"; cout << "請輸入一個整數:"; cin >> j; cout << "i=" << i << "\n"; cout << "j="; cout << j; cout << endl; cout << "d=" << d << endl; cout << s << endl; return 0;} 運行輸出: 請輸入一個整數:i=10 j=134541813 d=123.45 http://www.xuebuyuan.com/
“C語言與C++是同一種語言嗎”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。