C語(yǔ)言是面向過(guò)程的蜀撑,而C++是面向?qū)ο蟮?/p>
C和C++的區(qū)別:
C是一個(gè)結(jié)構(gòu)化語(yǔ)言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)褥伴。C程序的設(shè)計(jì)首要考慮的是如何通過(guò)一個(gè)過(guò)程返吻,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過(guò)程(事務(wù))控制)。
C++刚梭,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型肠阱,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問(wèn)題域,這樣就可以通過(guò)獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過(guò)程(事務(wù))控制朴读。 所以C與C++的最大區(qū)別在于它們的用于解決問(wèn)題的思想方法不一樣屹徘。之所以說(shuō)C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”衅金。
C與C++的最大區(qū)別:在于它們的用于解決問(wèn)題的思想方法不一樣噪伊。之所以說(shuō)C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”氮唯,而就語(yǔ)言本身而言鉴吹,在C中更多的是算法的概念。那么是不是C就不重要了惩琉,錯(cuò)豆励!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法瞒渠,一樣不行良蒸。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西在孝。
類型轉(zhuǎn)換
在 C 語(yǔ)言程序中诚啃,經(jīng)常需要對(duì)不同類型的數(shù)據(jù)進(jìn)行運(yùn)算,為了解決數(shù)據(jù)類型不一致的問(wèn)題私沮,需要對(duì)數(shù)據(jù)的類型進(jìn)行轉(zhuǎn)換始赎。例如一個(gè)浮點(diǎn)數(shù)和一個(gè)整數(shù)相加,必須先將兩個(gè)數(shù)轉(zhuǎn)換成同一類型仔燕。C 語(yǔ)言程序中的類型轉(zhuǎn)換可分為隱式和強(qiáng)制類型轉(zhuǎn)換兩種造垛。
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九,四七零晰搀,五九六 】五辽,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)外恕!裙內(nèi)有開發(fā)工具杆逗,很多干貨和技術(shù)資料分享乡翅!
隱式類型轉(zhuǎn)換
所謂隱式類型轉(zhuǎn)換指的是,系統(tǒng)自動(dòng)將取值范圍小的數(shù)據(jù)類型轉(zhuǎn)換為數(shù)據(jù)取值范圍大的數(shù)據(jù)類型罪郊,它是由系統(tǒng)自動(dòng)轉(zhuǎn)換完成的蠕蚜。例如,將 int 類型和 double類型的數(shù)據(jù)相加悔橄,系統(tǒng)會(huì)將 int類型的數(shù)據(jù)轉(zhuǎn)換為 double 類型的數(shù)據(jù)靶累,再進(jìn)行相加操作,具體示例如下:
int num1=12;
double num2=10.5;
num1+num2;
上述示例代碼中癣疟,由于 double 類型的取值范圍大于 int 類型挣柬,因此,將 int類型的 num1 與 double 類型的 num2相加時(shí)睛挚,系統(tǒng)會(huì)自動(dòng)將 num1的數(shù)據(jù)類型由 int轉(zhuǎn)換為 double類型邪蛔,從而保證數(shù)據(jù)的精度不會(huì)丟失。
強(qiáng)制類型轉(zhuǎn)換
所謂強(qiáng)制類型轉(zhuǎn)換指的是使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符竞川,將一個(gè)變量或表達(dá)式轉(zhuǎn)化成所需的類型店溢,其基本語(yǔ)法格式如下所示:
(類型名)(表達(dá)式)
在上述格式中,類型名和表達(dá)式都需要用括號(hào)括起來(lái)委乌,具體示例如下:
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九,四七零荣回,五九六 】遭贸,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)心软!裙內(nèi)有開發(fā)工具壕吹,很多干貨和技術(shù)資料分享!
上述講解的兩種類型轉(zhuǎn)換删铃,看起來(lái)簡(jiǎn)單耳贬,但在使用時(shí)需要注意以下幾個(gè)細(xì)節(jié):
(1)浮點(diǎn)型與整型
將浮點(diǎn)數(shù)(單雙精度)轉(zhuǎn)換為整數(shù)時(shí),將舍棄浮點(diǎn)數(shù)的小數(shù)部分猎唁,只保留整數(shù)部分咒劲。將整型值賦給浮點(diǎn)型變量,數(shù)值不變诫隅,只將形式改為浮點(diǎn)形式腐魂,即小數(shù)點(diǎn)后帶若干個(gè) 0 。需要注意的是逐纬,賦值時(shí)的類型轉(zhuǎn)換實(shí)際上是強(qiáng)制的蛔屹。
(2)單、雙精度浮點(diǎn)型
由于 C 語(yǔ)言中的浮點(diǎn)值總是用雙精度表示的豁生,所以 float 型數(shù)據(jù)參與運(yùn)算時(shí)只需要在尾部加 0 延長(zhǎng)為 double 型數(shù)據(jù)兔毒。double 型數(shù)據(jù)轉(zhuǎn)換為 float 型時(shí)漫贞,會(huì)造成數(shù)據(jù)精度丟失,有效位以外的數(shù)據(jù)將會(huì)進(jìn)行四舍五入育叁。
(3)char型與 int型
將 int 型數(shù)值賦給 char 型變量時(shí)迅脐,只保留其最低 8 位,高位部分舍棄擂红。將char 型數(shù)值賦給 int 型變量時(shí)仪际, 一些編譯程序不管其值大小都作正數(shù)處理,而另一些編譯程序在轉(zhuǎn)換時(shí)會(huì)根據(jù) char 型數(shù)據(jù)值的大小進(jìn)行判斷昵骤,若值大于127树碱,就作為負(fù)數(shù)處理。對(duì)于使用者來(lái)講变秦,如果原來(lái) char 型數(shù)據(jù)取正值成榜,轉(zhuǎn)換后仍為正值。如果原來(lái) char 型值可正可負(fù)蹦玫,則轉(zhuǎn)換后也仍然保持原值赎婚,只是數(shù)據(jù)的內(nèi)部表示形式有所不同。
(4)int型與 long型
long 型數(shù)據(jù)賦給 int 型變量時(shí)樱溉,將低 16 位值送給 int 型變量挣输,而將高 16 位截?cái)嗌釛墶?這里假定 int型占兩個(gè)字節(jié))。 將 int型數(shù)據(jù)送給 long型變量時(shí)福贞,其外部值保持不變撩嚼,而內(nèi)部形式有所改變。
小編推薦一個(gè)學(xué)C語(yǔ)言/C++的學(xué)習(xí)裙【 六九九挖帘,四七零完丽,五九六 】,無(wú)論你是大牛還是小白拇舀,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)逻族!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享骄崩!
(5)無(wú)符號(hào)整數(shù)
將一個(gè)unsigned型數(shù)據(jù)賦給一個(gè)長(zhǎng)度相同的整型變量時(shí)(如:unsigned→int聘鳞、unsigned long→long, unsigned short→short) 刁赖,內(nèi)部的存儲(chǔ)方式不變搁痛,但外部值卻可能改變。將一個(gè)非 unsigned整型數(shù)據(jù)賦給一個(gè)長(zhǎng)度相同的 unsigned 型變量時(shí)宇弛, 內(nèi)部存儲(chǔ)形式不變鸡典,但外部表示時(shí)總是無(wú)符號(hào)的。
這些是C/C++能做的
服務(wù)器開發(fā)工程師枪芒、人工智能彻况、云計(jì)算工程師谁尸、信息安全(黑客反黑客)、大數(shù)據(jù) 纽甘、數(shù)據(jù)平臺(tái)良蛮、嵌入式工程師、流媒體服務(wù)器悍赢、數(shù)據(jù)控解决瞳、圖像處理、音頻視頻開發(fā)工程師左权、游戲服務(wù)器皮胡、分布式系統(tǒng)、游戲輔助等
求關(guān)注赏迟,求轉(zhuǎn)發(fā)屡贺,求支持!