新聞中心
其實(shí)C#的語法與C++非常相似,有些變化引起的錯(cuò)誤卻很嚴(yán)重,本文就對(duì)于大多數(shù)用戶頭疼的C++編程語言進(jìn)行詳細(xì)的剖析與介紹,然而最近幾年,C++環(huán)境的狀況真的改善了嗎?

10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有平頂山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
C++編程語言的詞法及詞法規(guī)則
1、C++編程語言的字符集
字符是一些可以區(qū)分的最小符號(hào)。C++的字符集由大小寫英文字母(a-z和A-Z)、數(shù)據(jù)字符(0-9)、特殊字符(空格,!,#,%,^,&,*,_,<,>,?,\,,)組成。
2、單詞及詞法規(guī)則
單詞又稱詞法記號(hào),它是由若干個(gè)字符組成的具有一定意義的最小詞法單元。C++共有6種單詞,分別是:標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符、分隔符、常量、注釋符,在編碼時(shí)要特別注意這些單詞的詞法規(guī)則。
要注意的是C++中的空白符:C++編程語言中經(jīng)常使用空白符,實(shí)際上,空白符不是一個(gè)字符,它是空格符、換行符和水平制表符的統(tǒng)稱。注意,空白符不等于空格符,只是空白符包含空格符。
還有一個(gè)空字符,要把它與空白符分開??兆址侵窤SCII碼值為0的那個(gè)字符。空字符在C++中有特殊用途,用它來作為字符串的結(jié)束符。存放在內(nèi)存中的字符串常量都在最后有一個(gè)結(jié)束符,即用空字符,它用轉(zhuǎn)義序列方法表示為’\0’。
C++程序結(jié)構(gòu)的基本組成部分
1 預(yù)處理命令,C++提供了三類預(yù)處理命令:宏定義命令、文件包含命令、條件編譯命令。
2 輸入輸出,C++程序中總是少不了輸入和輸出的語句,實(shí)現(xiàn)與程序內(nèi)部的信息交流。特別是屏幕輸出的功能,幾乎每個(gè)程序都要用到,使用它把計(jì)算機(jī)的結(jié)果顯示在屏幕上。
3 函數(shù),C++的程序是由若干個(gè)文件組成的,每個(gè)文件又是由若干個(gè)函數(shù)組成,因此,可以認(rèn)為C++的程序就是函數(shù)串,即由若干個(gè)函數(shù)組成,函數(shù)與函數(shù)之間是相對(duì)的,并且是并行的,函數(shù)之間可以調(diào)用。在組成一個(gè)程序的若干個(gè)函中,必須有一個(gè)main()。
4 語句,語句是組成程序的基本單元。函數(shù)是由若干條語句組成的。但是,空函數(shù)是沒有語句的。語句是由單詞組成,單詞間用空格符分隔,C++程序中的語句又是以以分號(hào)結(jié)束。語句除了有表達(dá)式語句和空語句之外,還有復(fù)合語句、分支語句、循環(huán)語句和轉(zhuǎn)向語句等若干類。
5 變量,多數(shù)程序都需要說明和使用變量。廣義講,對(duì)象包含了變量,即將變量也稱為一種對(duì)象,狹義講,將對(duì)象看作是類的實(shí)例,對(duì)象是指某個(gè)類的對(duì)象。
6 其他,除了以上講述的5個(gè)部分以外,還有其他組成部分。例如,符號(hào)常量和注釋信息也是程序的一部分。C++中都盡量把常量定義為符號(hào)常量,在C++的程序中出現(xiàn)的是符號(hào)常量,該符號(hào)常量代表著某個(gè)確定的常量值。#t#
C++程序的書寫格式
在編程時(shí)應(yīng)該注意C++編程語言的書寫格式,基本原則是:一行一般寫一條語句。短語句可以一行寫多個(gè)。長(zhǎng)語句可以一條寫多行。分行原則是不能將一個(gè)單詞分開。用雙引號(hào)引用的一個(gè)字符串也最好不分開,如果一定要分開,有的編譯系統(tǒng)要求在行尾加續(xù)行符(“\”)
C++程序的實(shí)現(xiàn)
C++源程序的實(shí)現(xiàn)與其他高級(jí)語言源程序?qū)崿F(xiàn)的原理是一樣的。一般都要經(jīng)過編輯、編譯、運(yùn)行。其中最要的是編譯過程,C++是以編譯方式實(shí)現(xiàn)的高級(jí)語言。C++程序的實(shí)現(xiàn),必須要使用某種C++編程語言的編譯器對(duì)程序進(jìn)行編譯。
編譯器的功能是將程序的源代碼轉(zhuǎn)換成為機(jī)器代碼的形式,稱為目標(biāo)代碼;然后,再使目標(biāo)代碼進(jìn)行連接,生成可執(zhí)行文件。該過程可分為三個(gè)子過程:預(yù)處理過程、編譯過程(詞法分析、語法分析、符號(hào)表、錯(cuò)誤處理程序、生成目標(biāo)代碼)、連接過程。
首先重復(fù)一句Bjarne的話:“我們的系統(tǒng)已經(jīng)是極度復(fù)雜的了,為了避開C++的復(fù)雜性而干脆不用C++(Linus的做法),無異于因噎廢食?!痹谒锌捎肅和C++的領(lǐng)域,C++都是比C更好的語言。當(dāng)我說“更好的”時(shí)候,我說的是C++編程語言擁有比C更安全的類型檢查、更好的抽象機(jī)制、更優(yōu)秀的庫。
當(dāng)然,凡事都有例外,如果你做的項(xiàng)目1)不大。2)編碼中用不到什么抽象機(jī)制,甚至ADT(抽象數(shù)據(jù)類型,例如std::complex這種不含多態(tài)和繼承的)也用不到,RAII也用不到,異常也用不到。3)你連基礎(chǔ)庫(如,簡(jiǎn)化資源管理的智能指針、智能容器)都用不著。
那么也許你用C的確沒問題;所以如果你的情況如此,不用和我爭(zhēng)論,因?yàn)槲覠o法反駁你。我們這里說的領(lǐng)域大致是Bjarne在“C++應(yīng)用列表”里面列出來的那些地方。 底線是:如果把C++中的諸多不必要的復(fù)雜性去掉,留下那些本質(zhì)的,重要的語言特性,簡(jiǎn)化語言模型,消除歷史包袱。
即便是C++的反對(duì)者也許也很難找到理由說“我還是不用C++”。在我看來,一個(gè)真正從實(shí)踐意義上理性反對(duì)使用C++的人只有一個(gè)理由:C++的復(fù)雜性帶來的混亂抵消乃至超過了C++的抽象機(jī)制和庫(在他的特定項(xiàng)目中)帶來的好處。
當(dāng)前標(biāo)題:C++編程語言真的這么適用嗎?
地址分享:http://m.5511xx.com/article/coeocec.html


咨詢
建站咨詢
