- c語言中單引號(hào)和雙引號(hào)的區(qū)別 推薦度:
- 相關(guān)推薦
C語言單引號(hào)和雙引號(hào)的區(qū)別
C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。下面我們來看看C語言單引號(hào)和雙引號(hào)的區(qū)別,希望對(duì)大家有所幫助。
最近的C語言課在教字符串,貌似N多同學(xué)搞不清楚單引號(hào)和雙引號(hào)的區(qū)別,有人還以為在C語言里用哪個(gè)都可以...其實(shí)C語言中的單引號(hào)和雙引號(hào)含義是一點(diǎn)也不一樣滴...
看別人講指針與數(shù)組時(shí)也有點(diǎn)弄不清sizeof一個(gè)雙引號(hào)括起來的數(shù)組竟然值會(huì)+1:如
char a[]="123456";
sizeof(a)的值為7
1、含義不同。
用單引號(hào)引起的一個(gè)字符實(shí)際上代表一個(gè)整數(shù),整數(shù)值對(duì)應(yīng)于該字符在編譯器采用的字符集中的序列值。而一般我們的編譯器采用的都是ASCII字符集。因此's'的含義其實(shí)和十進(jìn)制數(shù)115的含義是一致的。
而用雙引號(hào)引起的字符串,代表的是一個(gè)指向無名數(shù)組起始字符的指針。
2、大小不同。
用單引號(hào)引起的一個(gè)字符大小就是一個(gè)字節(jié)。
而用雙引號(hào)引起的字符串大小是字符的總大小+1,因?yàn)橛秒p引號(hào)引起的字符串會(huì)在字符串末尾添加一個(gè)二進(jìn)制為0的字符''。
C語言的特點(diǎn)
主要特點(diǎn)
C語言是一種結(jié)構(gòu)化語言,它有著清晰的層次,可按照模塊的方式對(duì)程序進(jìn)行編寫,十分有利于程序的調(diào)試,且c語言的處理和表現(xiàn)能力都非常的強(qiáng)大,依靠非常全面的運(yùn)算符和多樣的數(shù)據(jù)類型,可以輕易完成各種數(shù)據(jù)結(jié)構(gòu)的構(gòu)建,通過指針類型更可對(duì)內(nèi)存直接尋址以及對(duì)硬件進(jìn)行直接操作,因此既能夠用于開發(fā)系統(tǒng)程序,也可用于開發(fā)應(yīng)用軟件。通過對(duì)C語言進(jìn)行研究分析,總結(jié)出其主要特點(diǎn)如下:
。1)簡潔的語言
C語言包含的各種控制語句僅有9種,關(guān)鍵字也只有32個(gè),程序的編寫要求不嚴(yán)格且以小寫字母為主,對(duì)許多不必要的部分進(jìn)行了精簡。實(shí)際上,語句構(gòu)成與硬件有關(guān)聯(lián)的較少,且C語言本身不提供與硬件相關(guān)的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統(tǒng)所支持的各類庫進(jìn)行編程,故c語言擁有非常簡潔的編譯系統(tǒng)。
(2)具有結(jié)構(gòu)化的控制語句
C語言是一種結(jié)構(gòu)化的語言,提供的控制語句具有結(jié)構(gòu)化特征,如for語句、if...else語句和switch語句等?梢杂糜趯(shí)現(xiàn)函數(shù)的邏輯控制,方便面向過程的程序設(shè)計(jì)。
。3)豐富的數(shù)據(jù)類型
C語言包含的數(shù)據(jù)類型廣泛,不僅包含有傳統(tǒng)的字符型、整型、浮點(diǎn)型、數(shù)組類型等數(shù)據(jù)類型,還具有其他編程語言所不具備的數(shù)據(jù)類型,其中以指針類型數(shù)據(jù)使用最為靈活,可以通過編程對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行計(jì)算。
。4)豐富的運(yùn)算符
C語言包含34個(gè)運(yùn)算符,它將賦值、括號(hào)等均視作運(yùn)算符來操作,使C程序的表達(dá)式類型和運(yùn)算符類型均非常豐富。
(5)可對(duì)物理地址進(jìn)行直接操作
C語言允許對(duì)硬件內(nèi)存地址進(jìn)行直接讀寫,以此可以實(shí)現(xiàn)匯編語言的主要功能,并可直接操作硬件。C語言不但具備高級(jí)語言所具有的良好特性,又包含了許多低級(jí)語言的優(yōu)勢(shì),故在系統(tǒng)軟件編程領(lǐng)域有著廣泛的應(yīng)用。
(6)代碼具有較好的可移植性
C語言是面向過程的編程語言,用戶只需要關(guān)注所被解決問題的本身,而不需要花費(fèi)過多的精力去了解相關(guān)硬件,且針對(duì)不同的硬件環(huán)境,在用C語言實(shí)現(xiàn)相同功能時(shí)的代碼基本一致,不需或僅需進(jìn)行少量改動(dòng)便可完成移植,這就意味著,對(duì)于一臺(tái)計(jì)算機(jī)編寫的C程序可以在另一臺(tái)計(jì)算機(jī)上輕松地運(yùn)行,從而極大的減少了程序移植的工作強(qiáng)度。
。7)可生成高質(zhì)量、目標(biāo)代碼執(zhí)行效率高的程序
與其他高級(jí)語言相比,C語言可以生成高質(zhì)量和高效率的目標(biāo)代碼,故通常應(yīng)用于對(duì)代碼質(zhì)量和執(zhí)行效率要求較高的嵌入式系統(tǒng)程序的編寫。
特有特點(diǎn)
C語言是普適性最強(qiáng)的一種計(jì)算機(jī)程序編輯語言,它不僅可以發(fā)揮出高級(jí)編程語言的功用,還具有匯編語言的優(yōu)點(diǎn),因此相對(duì)于其它編程語言,它具有自己獨(dú)特的特點(diǎn)。具體體現(xiàn)為以下三個(gè)方面:
其一,廣泛性。C語言的運(yùn)算范圍的大小直接決定了其優(yōu)劣性。C語言中包含了34種運(yùn)算符,因此運(yùn)算范圍要超出許多其它語言,此外其運(yùn)算結(jié)果的表達(dá)形式也十分豐富。此外,C語言包含了字符型、指針型等多種數(shù)據(jù)結(jié)構(gòu)形式,因此,更為龐大的數(shù)據(jù)結(jié)構(gòu)運(yùn)算它也可以應(yīng)付。
其二,簡潔性。9類控制語句和32個(gè)關(guān)鍵字是C語言所具有的基礎(chǔ)特性,使得其在計(jì)算機(jī)應(yīng)用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同時(shí)還能夠支持高級(jí)編程,避免了語言切換的繁瑣。
其三,結(jié)構(gòu)完善。C語言是一種結(jié)構(gòu)化語言,它可以通過組建模塊單位的形式實(shí)現(xiàn)模塊化的應(yīng)用程序,在系統(tǒng)描述方面具有顯著優(yōu)勢(shì),同時(shí)這一特性也使得它能夠適應(yīng)多種不同的編程要求,且執(zhí)行效率高。
缺點(diǎn)
1.C語言的缺點(diǎn)主要表現(xiàn)為數(shù)據(jù)的封裝性弱,這一點(diǎn)使得C在數(shù)據(jù)的安全性上有很大缺陷,這也是C和C++的一大區(qū)別。
2.C語言的語法限制不太嚴(yán)格,對(duì)變量的類型約束不嚴(yán)格,影響程序的安全性,對(duì)數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級(jí)語言較難掌握。也就是說,對(duì)用C語言的人,要求對(duì)程序設(shè)計(jì)更熟練一些。
【C語言單引號(hào)和雙引號(hào)的區(qū)別】相關(guān)文章:
c語言中單引號(hào)和雙引號(hào)的區(qū)別07-03
C語言中單引號(hào)與雙引號(hào)的區(qū)別06-16
PHP中單引號(hào)與雙引號(hào)的區(qū)別10-28
Java和C語言的區(qū)別07-28
C語言與C++和JAVE的區(qū)別09-26
淺談c語言和c++和VB的區(qū)別07-04