M.C.麥卡錫(MalcolmChristopherMcCarthy,又名CallumMcCarthy),男,英國(guó)國(guó)籍,1944年2月出生。M.C.麥卡錫先生自2009年12月起任中國(guó)工商銀行股份有限公司獨(dú)立非執(zhí)行董事。曾任美國(guó)投資公司協(xié)會(huì)(ICI)經(jīng)濟(jì)學(xué)家。1972年至1985年,在英國(guó)貿(mào)易及工業(yè)署擔(dān)任經(jīng)濟(jì)顧問、副部長(zhǎng)等多項(xiàng)職務(wù),后任KleinwortBenson銀行有限公司投資銀行家、巴克萊銀行日本區(qū)和北美區(qū)首席執(zhí)行官。1998年11月至2003年9月,任英國(guó)煤氣電力市場(chǎng)辦公室(Ofgem)主席兼首席執(zhí)行官。2003年9月至2008年9月,任英國(guó)金融服務(wù)管理局(FSA)主席。目前,M.C.麥卡錫先生擔(dān)任美國(guó)洲際交易所、OneSavingsBankplc及CastleTrustCapitalplc非執(zhí)行董事,同時(shí)擔(dān)任牛津大學(xué)賽德商學(xué)院校董會(huì)董事和國(guó)際財(cái)務(wù)報(bào)告準(zhǔn)則基金會(huì)(IFRSFoundation)受托人。M.C.麥卡錫先生是默頓學(xué)院榮譽(yù)院士、斯特靈大學(xué)榮譽(yù)博士、卡斯商學(xué)院榮譽(yù)博士及倫敦市榮譽(yù)市民,獲牛津大學(xué)默頓學(xué)院歷史學(xué)碩士、斯特靈大學(xué)經(jīng)濟(jì)學(xué)博士和斯坦福大學(xué)商學(xué)院理學(xué)碩士學(xué)位。
創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),微信小程序開發(fā),10年建站對(duì)成都報(bào)廢汽車回收等多個(gè)行業(yè),擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)。
如果只是這幾個(gè)的話還簡(jiǎn)單點(diǎn),如果要適應(yīng)所有這個(gè)lisp的語(yǔ)法那蠻復(fù)雜的,要用棧來做
Python(發(fā)音:[ 'paiθ(?)n; (US) 'paiθ?n ]),是一種面向?qū)ο蟮慕忉屝缘挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語(yǔ)言中最豐富和強(qiáng)大的類庫(kù),足以支持絕大多數(shù)日常應(yīng)用。
這種語(yǔ)言具有非常簡(jiǎn)捷而清晰的語(yǔ)法特點(diǎn),適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運(yùn)行。
目前,基于這種語(yǔ)言的相關(guān)技術(shù)正在飛速的發(fā)展,用戶數(shù)量急劇擴(kuò)大,相關(guān)的資源非常多。
Python的Hello World程序
下面是一個(gè)在標(biāo)準(zhǔn)輸出設(shè)備上輸出Hello World的簡(jiǎn)單程序,這種程序通常作為開始學(xué)習(xí)編程語(yǔ)言時(shí)的第一個(gè)程序:
#!/usr/bin/env python
print "Hello, world!"
Python的歷史
Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無(wú)趣,決心開發(fā)一個(gè)新的腳本解釋程序,做為 ABC 語(yǔ)言的一種繼承。之所以選中 Python(大蟒蛇的意思)作為程序的名字,是因?yàn)樗且粋€(gè)Monty Python的飛行馬戲團(tuán)的愛好者。
ABC是由Guido參加設(shè)計(jì)的一種教學(xué)語(yǔ)言。就Guido本人看來,ABC 這種語(yǔ)言非常優(yōu)美和強(qiáng)大,是專門為非專業(yè)程序員設(shè)計(jì)的。但是ABC語(yǔ)言并沒有成功,究其原因,Guido 認(rèn)為是非開放造成的。Guido 決心在 Python 中避免這一錯(cuò)誤(的確如此,Python 與其它的語(yǔ)言如C、C++和Java結(jié)合的非常好)。同時(shí),他還想實(shí)現(xiàn)在 ABC 中閃現(xiàn)過但未曾實(shí)現(xiàn)的東西。
就這樣,Python在Guido手中誕生了。實(shí)際上,第一個(gè)實(shí)現(xiàn)是在Mac機(jī)上??梢哉f,Python是從ABC發(fā)展起來,主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強(qiáng)大的語(yǔ)言,為小型團(tuán)體所設(shè)計(jì)的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。
Python在編程語(yǔ)言中的定位
雖然 Python 可能被粗略地分類為"腳本語(yǔ)言(scripting language)", 實(shí)際上一些大規(guī)模軟件開發(fā)計(jì)劃例如 Zope, Mnet 及 BitTorrent. Google也廣泛地使用它。 Python 的支持者較喜歡稱它為一種高階動(dòng)態(tài)編程語(yǔ)言 , 原因是"腳本語(yǔ)言" 泛指單用作簡(jiǎn)單編程任務(wù)如 shell scripts ,而Python不能與JavaScript等只能處理簡(jiǎn)單任務(wù)的編程語(yǔ)言相提并論。
Python的特色
可擴(kuò)充性可說是Python作為一種編程語(yǔ)言的特色。新的內(nèi)置模塊(module)可以用C 或 C++寫成。而我們也可為現(xiàn)成的模塊加上Python的接口。Python可以使用戶避免過分的語(yǔ)法的羈絆而將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上。
Python也被稱為是一門清晰的語(yǔ)言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是,對(duì)于一個(gè)特定的問題,只要有一種最好的方法來解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)里面表述為:
There should be one-- and preferably only one --obvious way to do it.
有意思的是,這正好和Perl語(yǔ)言(另一種功能類似的高級(jí)動(dòng)態(tài)語(yǔ)言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。這似乎是人們常把Perl和Python互相比較的重要原因。
Python語(yǔ)言是一種清晰的語(yǔ)言的另一個(gè)意思是,它的作者有意的設(shè)計(jì)限制性很強(qiáng)的語(yǔ)法,使得不好的編程習(xí)慣(例如if語(yǔ)句的下一行不向右縮進(jìn))都不能通過編譯。這樣有意的強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。
例如if語(yǔ)句:
if age21:
print "You cannot buy wine!\n"
print "But you can buy chewing gum.\n"
print "this is outside if\n"
一個(gè)和其他大多數(shù)語(yǔ)言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語(yǔ)言是用一對(duì)花括號(hào){}來明確的定出模塊的邊界的,與字符的位置毫無(wú)關(guān)系)。這一點(diǎn)曾經(jīng)引起過爭(zhēng)議。因?yàn)樽詮腃這類的語(yǔ)言誕生后,語(yǔ)言的語(yǔ)法含義與字符的排列方式分離開來,曾經(jīng)被認(rèn)為是一種程序語(yǔ)言的進(jìn)步。不過不可否認(rèn)的是,通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。
另外Python在其他部分的設(shè)計(jì)上也堅(jiān)持了清晰劃一的風(fēng)格,這使得Python稱為一門易讀性、易維護(hù)性好,并且被大量用戶所歡迎的、用途廣泛的語(yǔ)言。
Python的局限
雖然Python是一個(gè)非常成功的語(yǔ)言,但是也有必要明白它的局限性。
1. 運(yùn)行效率低下
目前為止,Python可以說是所有主流腳本語(yǔ)言中速度最慢的。這與其腳本引擎的設(shè)計(jì)思路有關(guān)。
如果你的應(yīng)用對(duì)于速度有著較高的要求,就要考慮Python是否能滿足需要。不過這一點(diǎn)可以通
過使用C編寫關(guān)鍵模塊,然后由Python調(diào)用的方式加以部分解決。
2. 多線程支持欠佳
Python支持多線程,但是其運(yùn)行效率也不高。
3. 獨(dú)特的語(yǔ)法
這也許不應(yīng)該被稱為局限,但是它用縮進(jìn)來區(qū)分語(yǔ)句關(guān)系的方式還是給很多初學(xué)者帶來了困惑。
即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中。最常見的情況是tab和空格的混用會(huì)導(dǎo)
致錯(cuò)誤,而這是用肉眼無(wú)法分別的。
4. 無(wú)類型
作為一種動(dòng)態(tài)語(yǔ)言,隨時(shí)隨地創(chuàng)建和使用變量是Python給我們帶來的巨大的便利。但是它也會(huì)
使得程序不嚴(yán)謹(jǐn),某些錯(cuò)誤只有在運(yùn)行中才可能出現(xiàn)。所以,使用Python編程的時(shí)候,要對(duì)類
型做到心里有數(shù)。這也使得Python的IDE工具無(wú)法提供便利的自動(dòng)完成等功能。
Python的前景
Python在編程領(lǐng)域的占有率一直處于穩(wěn)步上升之中,根據(jù)最新的數(shù)據(jù),Python排名第七。前六名分別是Java,
C,VB,C++,PHP和Perl. 作為一個(gè)很年輕的語(yǔ)言,Python的位置已經(jīng)相當(dāng)令人振奮了。隨著微軟將Python納入
.Net 平臺(tái),相信Python的將來會(huì)更加強(qiáng)勁發(fā)展。Python 很可能會(huì)成為.Net平臺(tái)快速開發(fā)的主流語(yǔ)言。
欲了解這方面情況,請(qǐng)參考Iron Python的相關(guān)信息.
著名的搜索引擎 Google 也大量使用Python。
Python的應(yīng)用
Zope-應(yīng)用服務(wù)器
Plone-內(nèi)容管理系統(tǒng)
Django-鼓勵(lì)快速開發(fā)的web framework
Twisted - Python Network Application Framework Python的網(wǎng)絡(luò)應(yīng)用程序框架
TurboGears - 另一個(gè)Web應(yīng)用快速開發(fā)框架
Bit Torrent - 著名的BT下載工具
2006年的Google編程大賽已經(jīng)將Python作為參賽語(yǔ)言之一
C
n.
1. 英語(yǔ)字母中的第三個(gè)字母,小寫為c
2. (用大寫C)丙等(成績(jī))
c
KK: []
DJ: []
n.
1. 英語(yǔ)字母的第三個(gè)字母
2. (用大寫)丙等(成績(jī))
音符之一
物理上C表電容
C語(yǔ)言簡(jiǎn)介
作者:歐索軟件 文章來源:本站原創(chuàng) 點(diǎn)擊數(shù):179 更新時(shí)間:2005-11-17
C語(yǔ)言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言之一。
C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,許多大型應(yīng)用軟件都是用C語(yǔ)言編寫的。
C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。
常用編譯軟件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Turbo C,等等......
一、C語(yǔ)言的發(fā)展歷史
C語(yǔ)言的發(fā)展頗為有趣。它的原型ALGOL 60語(yǔ)言。
1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL(Combined Programming Language)語(yǔ)言。
1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。
1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫了第一個(gè)UNIX操作系統(tǒng)。
而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BGPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。
為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語(yǔ)言成為目前世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。
1988年,隨著微型計(jì)算機(jī)的日益普及, 出現(xiàn)了許多C語(yǔ)言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),
成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn) 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。
二、C語(yǔ)言的特點(diǎn)
1. 簡(jiǎn)潔緊湊、靈活方便
C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來。 C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。
2. 運(yùn)算符豐富
C的運(yùn)算符包含的范圍很廣泛,共有13種34個(gè)運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富
C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
4. C是結(jié)構(gòu)式語(yǔ)言
結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5. C語(yǔ)法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大
一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫者有較大的自由度。
6. C語(yǔ)言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作
因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來寫系統(tǒng)軟件。
7. C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高
一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。
8. C語(yǔ)言適用范圍大,可移植性好
C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型
三.C語(yǔ)言的標(biāo)準(zhǔn)
目前主要的C語(yǔ)言規(guī)范有c89(c90), c95(94)和c99。C89是最早的C語(yǔ)言規(guī)范,于89年提出,90年先由美國(guó)國(guó)家標(biāo)準(zhǔn)局推出ANSI版本,后來被接納為ISO國(guó)際標(biāo)準(zhǔn) (ISO/IEC 9899:1990),因而有時(shí)也稱為c90。 但在94和96年分別對(duì)c90進(jìn)行了兩次錯(cuò)誤修正,gcc支持的是修正后的c89(90)版本的C語(yǔ)言規(guī)范。在95年提出過對(duì)90版規(guī)范的修訂案,稱為C95或者AMD1。gcc也支持c95規(guī)范。最新的一次C規(guī)范修訂在99年制定(ISO/IEC 9899:1999),即常稱的C99規(guī)范。在2001年對(duì)C99的錯(cuò)誤進(jìn)行了修正,gcc支持的修正后的c99規(guī)范,但是到目前為止,gcc還沒有完成對(duì)c99規(guī)范的完全支持。
關(guān)于C99標(biāo)準(zhǔn)的一些介紹可以參看下面的網(wǎng)址:
在籃球場(chǎng)上c代表中鋒
中鋒(Center)是一個(gè)球隊(duì)的中心人物,憑借其強(qiáng)壯、高大的身體,無(wú)論進(jìn)攻還是防守,他們都是球隊(duì)的樞鈕,故名之為中鋒。
作為禁區(qū)內(nèi)的“擎天柱”,搶籃板球是中鋒必不可少的能力。此外,封堵阻攻、蓋帽也是中鋒必備的能力。由于本隊(duì)進(jìn)攻時(shí)自己常處在禁區(qū)中央的樞紐位置,所以中鋒應(yīng)該具有不錯(cuò)的導(dǎo)球能力,能將球往較合適的位置輸送,助攻隊(duì)友得分。以上三項(xiàng),是中鋒應(yīng)具備的基礎(chǔ)技能。當(dāng)然,得分也是中鋒應(yīng)盡的職責(zé),他們是主要的內(nèi)線得分者。中鋒的命中率應(yīng)該比大前鋒更高一些。
一名好的中鋒必須多才多藝,不但要有足夠的得分技巧用于進(jìn)攻得分,防守時(shí)還要能成為球隊(duì)的最后一道屏障,除了守好自己盯防的球員,中鋒還要能夠協(xié)同協(xié)同和及時(shí)為隊(duì)友的防守補(bǔ)位。
現(xiàn)代籃球打法中有一種新的中鋒戰(zhàn)術(shù),就是所謂的“外線中鋒”。此種中鋒需要在進(jìn)攻時(shí)主要到外線投籃得分,而少做禁區(qū)內(nèi)的進(jìn)攻。由于用其他球員防守身材上差異太大、效果不佳,因此防守方只能讓本隊(duì)中鋒也到外線去盯防對(duì)手。如此一來,進(jìn)攻方就可以利用對(duì)方中鋒不在禁區(qū)的機(jī)會(huì),讓本隊(duì)能力強(qiáng)的前鋒或后衛(wèi)隊(duì)員瘋狂得分。當(dāng)然,“外線中鋒”只適用于進(jìn)攻,防守時(shí)與一般中鋒的打法無(wú)異。
Perl(Practical Extraction and Report Language)是一種腳本語(yǔ)言。
Perl最初的設(shè)計(jì)者為拉里·沃爾(Larry Wall),它于1987年12月18日發(fā)表。Perl借取了C、sed、awk、shell scripting以及很多其他程序語(yǔ)言的特性。
Perl的正式網(wǎng)站是 。
Perl的解釋程序是開放源碼的免費(fèi)軟件,使用Perl不必?fù)?dān)心費(fèi)用。Perl能在絕大多數(shù)操作系統(tǒng)運(yùn)行,可以方便地向不同操作系統(tǒng)遷移。
Perl擅長(zhǎng)從文本文件里提取數(shù)據(jù)并處理、輸出(這也是它名字的來由),并且提供模塊滿足各種專門的功能(例如CGI、數(shù)據(jù)庫(kù))。
Perl目前最廣泛的應(yīng)用包括:操作系統(tǒng)管理,網(wǎng)絡(luò)程序(Perl基本成為了CGI的代名詞),DNA分析。
LISP
在只給定幾個(gè)簡(jiǎn)單的操作符和一個(gè)表示函數(shù)的記號(hào)的基礎(chǔ)上, 如何構(gòu)造出一個(gè)完整的編程語(yǔ)言. 麥卡錫稱這種語(yǔ)言為L(zhǎng)isp, 意為L(zhǎng)ist Processing, 因?yàn)樗闹饕枷胫皇怯靡环N簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)表(list)來代表代碼和數(shù)據(jù).
一、引言
在計(jì)算機(jī)科學(xué)中,編程語(yǔ)言是用來編寫可被計(jì)算機(jī)運(yùn)行的一系列指令(計(jì)算機(jī)程序)的人工語(yǔ)言。與英語(yǔ)等自然語(yǔ)言相類似,編程語(yǔ)言具有詞匯、語(yǔ)法和句法。然而,自然語(yǔ)言不適合計(jì)算機(jī)編程,因?yàn)樗鼈兡芤鹌缌x,也就是說它們的詞匯和語(yǔ)法結(jié)構(gòu)可以用多種方式進(jìn)行解釋。用于計(jì)算編程的語(yǔ)言必須具有簡(jiǎn)單的邏輯結(jié)構(gòu),而且它們的語(yǔ)法、拼寫和標(biāo)點(diǎn)符號(hào)的規(guī)則必須精確。
編程語(yǔ)言在復(fù)雜性和通用程度上大相徑庭。有些編程語(yǔ)言是為了處理特定類型的計(jì)算問題或?yàn)榱擞糜谔囟ㄐ吞?hào)的計(jì)算機(jī)系統(tǒng)而編寫的。例如,F(xiàn)ORTRAN和COBOL等編程語(yǔ)言是為解決某些普遍的編程問題類型而編寫的——FORTRAN為了科學(xué)領(lǐng)域的應(yīng)用,而COBOL為了商業(yè)領(lǐng)域的應(yīng)用。盡管這些語(yǔ)言旨在處理特定類型的計(jì)算機(jī)問題,但是它們具有很高的可移植性,也就是說它們可以用來為多種類型的計(jì)算機(jī)編程。其他的語(yǔ)言,譬如機(jī)器語(yǔ)言,是為一種特定型號(hào)的計(jì)算機(jī)系統(tǒng),甚至是一臺(tái)特定的計(jì)算機(jī),在某些研究領(lǐng)域使用而編寫的。最常用的編程語(yǔ)言具有很高的可移植性,可以用于有效地解決不同類型的計(jì)算問題。像C、PASCAL和BASIC這樣的語(yǔ)言就屬于這一范疇。
二、語(yǔ)言類型
編程語(yǔ)言可劃分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言。低級(jí)編程語(yǔ)言或機(jī)器語(yǔ)言,是編程語(yǔ)言中最基礎(chǔ)的類型,能被計(jì)算機(jī)直接理解。機(jī)器語(yǔ)言的區(qū)別取決于制造商和計(jì)算機(jī)的型號(hào)。高級(jí)語(yǔ)言是在計(jì)算機(jī)能夠理解和處理之前必須首先翻譯成機(jī)器語(yǔ)言的編程語(yǔ)言。C、C++、PASCAL和FORTRAN都是高級(jí)語(yǔ)言的例子。匯編語(yǔ)言是中級(jí)語(yǔ)言,非常接近于機(jī)器語(yǔ)言,沒有其他高級(jí)語(yǔ)言所表現(xiàn)出的語(yǔ)言復(fù)雜程度,但仍然得翻譯成機(jī)器語(yǔ)言。
1、機(jī)器語(yǔ)言
在機(jī)器語(yǔ)言中,指令被寫成計(jì)算機(jī)能夠直接理解的被稱之為比特的1和0的序列。機(jī)器語(yǔ)言中的一條指令通常告訴計(jì)算機(jī)4件事情:(1)到計(jì)算機(jī)主存儲(chǔ)器(隨機(jī)訪問存儲(chǔ)器)的哪個(gè)位置去找一或兩個(gè)數(shù)字或者簡(jiǎn)單的數(shù)據(jù)段;(2)要執(zhí)行的一個(gè)簡(jiǎn)單操作,例如將兩個(gè)數(shù)字加起來;(3)將這個(gè)簡(jiǎn)單操作的結(jié)果存放在主存儲(chǔ)器的什么位置;以及(4)到哪里找要執(zhí)行的下一條指令。雖然所有的可執(zhí)行程序最終都是以機(jī)器語(yǔ)言的形式被計(jì)算機(jī)讀取,但是它們并非都是用機(jī)器語(yǔ)言編寫的。直接用機(jī)器語(yǔ)言編程極端困難,因?yàn)橹噶钍?和0的序列。機(jī)器語(yǔ)言中的一條典型的指令可能是10010 1100 1011,意思是將存儲(chǔ)寄存器A的內(nèi)容加到存儲(chǔ)寄存器B的內(nèi)容中。
2、高級(jí)語(yǔ)言
高級(jí)語(yǔ)言是利用人類語(yǔ)言中的詞和句法的一套相對(duì)復(fù)雜的語(yǔ)句。它們比匯編語(yǔ)言和機(jī)器語(yǔ)言更類似于正常的人類語(yǔ)言,因此用來編寫復(fù)雜的程序更容易。這些編程語(yǔ)言允許更快地開發(fā)更龐大和更復(fù)雜的程序。然而,在計(jì)算機(jī)能夠理解之前,高級(jí)語(yǔ)言必須被稱之為編譯器的另外一種程序翻譯成機(jī)器語(yǔ)言。因?yàn)檫@個(gè)原因,與用匯編語(yǔ)言編寫的程序比較起來,用高級(jí)語(yǔ)言編寫的程序可能運(yùn)行的時(shí)間更長(zhǎng),占用的內(nèi)存更多。
3、匯編語(yǔ)言
計(jì)算機(jī)編程人員使用匯編語(yǔ)言使機(jī)器語(yǔ)言程序編寫起來更簡(jiǎn)單一些。在匯編語(yǔ)言中,每條語(yǔ)句大致對(duì)應(yīng)一條機(jī)器語(yǔ)言指令。匯編語(yǔ)言的語(yǔ)句是借助易于記憶的命令編寫的。在典型的匯編語(yǔ)言的語(yǔ)句中,把存儲(chǔ)寄存器A的內(nèi)容加到存儲(chǔ)寄存器B的內(nèi)容中這一命令,可以寫成ADD B, A。匯編語(yǔ)言與機(jī)器語(yǔ)言具有某些共同特征。例如,對(duì)特定的比特進(jìn)行操作,用匯編語(yǔ)言和機(jī)器語(yǔ)言都是可行的。當(dāng)盡量減少程序的運(yùn)行時(shí)間很重要時(shí),程序員就使用匯編語(yǔ)言,因?yàn)閺膮R編語(yǔ)言到機(jī)器語(yǔ)言的翻譯相對(duì)簡(jiǎn)單。當(dāng)計(jì)算機(jī)的某個(gè)部分必須被直接控制時(shí),如監(jiān)視器上的單個(gè)點(diǎn)或者流向打印機(jī)的單個(gè)字符,這時(shí)也使用匯編語(yǔ)言。
三、高級(jí)語(yǔ)言的分類
高級(jí)語(yǔ)言通常分為面向過程的、函數(shù)式的、面向?qū)ο蟮幕蜻壿嫷恼Z(yǔ)言。當(dāng)今最常見的高級(jí)語(yǔ)言是面向過程的語(yǔ)言。在這種語(yǔ)言中,執(zhí)行某個(gè)完整功能的一個(gè)或多個(gè)相關(guān)的語(yǔ)句塊組成一個(gè)程序模塊或過程,而且被給予諸如“過程A”的名稱。如果在程序的其他地方需要同樣的操作序列,可以使用一個(gè)簡(jiǎn)單的語(yǔ)句調(diào)回這個(gè)過程。實(shí)質(zhì)上,一個(gè)過程就是一個(gè)小型程序。一個(gè)大程序可以通過將執(zhí)行不同任務(wù)的過程組合在一起而構(gòu)成。過程語(yǔ)言使程序變得比較短,而且更易于被計(jì)算機(jī)讀取,但是要求程序員將每個(gè)過程都設(shè)計(jì)得足夠通用,能用于不同的情況。
函數(shù)式語(yǔ)言像對(duì)待數(shù)學(xué)函數(shù)一樣對(duì)待過程,并允許像處理程序中的任何其他數(shù)據(jù)一樣處理它們。這就使程序構(gòu)造在更高、更嚴(yán)密的水平上得以實(shí)現(xiàn)。函數(shù)式語(yǔ)言也允許變量——在程序運(yùn)行過程中可以被用戶指定和更改的數(shù)據(jù)符號(hào)——只被賦值一次。這樣,通過減少對(duì)語(yǔ)句執(zhí)行的確切順序給予關(guān)注的必要性,就簡(jiǎn)化了編程,因?yàn)橐粋€(gè)變量沒有必要每次在一個(gè)程序語(yǔ)句中用到,都重新定義或重新賦值。函數(shù)式語(yǔ)言的許多觀點(diǎn)已經(jīng)成為許多現(xiàn)代過程語(yǔ)言的關(guān)鍵部分。
面向?qū)ο蟮恼Z(yǔ)言是函數(shù)式語(yǔ)言的發(fā)展結(jié)果。在面向?qū)ο蟮恼Z(yǔ)言中,用來編寫程序的代碼和程序處理的數(shù)據(jù),組合成叫做對(duì)象的單元。對(duì)象進(jìn)一步組合成類,而類則定義對(duì)象必須具有的屬性。類的一個(gè)簡(jiǎn)單例子就是書這個(gè)類。這個(gè)類中的對(duì)象可能是小說和短篇小說。對(duì)象還有某些與其相關(guān)的功能,稱為方法。計(jì)算機(jī)通過使用對(duì)象的某種方法來使用這個(gè)對(duì)象。方法對(duì)對(duì)象中的數(shù)據(jù)執(zhí)行某個(gè)操作,然后將值返回給計(jì)算機(jī)。對(duì)象的類也可更進(jìn)一步組合成層,而在層中一個(gè)類的對(duì)象可繼承另一個(gè)類的方法。面向?qū)ο蟮恼Z(yǔ)言中所提供的這種結(jié)構(gòu),使面向?qū)ο蟮恼Z(yǔ)言對(duì)于復(fù)雜的編程任務(wù)非常有用。
邏輯語(yǔ)言將邏輯用作其數(shù)學(xué)基礎(chǔ)。一個(gè)邏輯程序由一系列的事實(shí)與“如果……則”規(guī)則組成,來具體說明一系列事實(shí)如何可以從其他實(shí)事中推斷出來,例如:
如果X語(yǔ)句為真,則Y語(yǔ)句為假。
在這樣一個(gè)程序的執(zhí)行過程中,一條輸入語(yǔ)句可以按照邏輯從程序中的其他語(yǔ)句推斷出來。許多人工智能程序使用這種語(yǔ)言編寫。
四、語(yǔ)言的結(jié)構(gòu)與成分
編程語(yǔ)言使用特定類型的語(yǔ)句或指令,來給程序提供功能結(jié)構(gòu)。程序中的一條語(yǔ)句是表達(dá)一個(gè)簡(jiǎn)單意思的基本句子,其目的是給計(jì)算機(jī)一條基本指令。語(yǔ)句對(duì)允許的數(shù)據(jù)類型、數(shù)據(jù)如何處理以及過程和函數(shù)的工作方式進(jìn)行定義。程序員利用語(yǔ)句來操作編程語(yǔ)言的常見成分,如變量和宏(程序中的小型程序)。
數(shù)據(jù)聲明語(yǔ)句給予稱為變量的程序元素以名稱和屬性。變量在程序中可以賦予不同的值。變量可以具有的屬性被稱作類型,它們包括:變量中可能存儲(chǔ)什么樣的值,值中使用何種程度的數(shù)值精度,以及一個(gè)變量可以如何以有組織結(jié)構(gòu)的方式——如以表或數(shù)組的形式——代表一組比較簡(jiǎn)單的值等等。在許多編程語(yǔ)言中,一種關(guān)鍵的數(shù)據(jù)類型是指示字。指示字變量本身沒有值;相反,它們含有計(jì)算機(jī)可以用來查找某個(gè)其他變量的信息——也就是說,它們指向另一個(gè)變量。
表達(dá)式是語(yǔ)句的一段,描述要對(duì)一些程序變量執(zhí)行的一系列運(yùn)算,如X+Y/Z,其中X、Y和Z為變量,運(yùn)算方法為加和除。賦值語(yǔ)句給一個(gè)變量賦予得自某個(gè)表達(dá)式的值,而條件語(yǔ)句則指定要被測(cè)試、然后用于選擇接下來應(yīng)該執(zhí)行的其他語(yǔ)句的表達(dá)式。
過程與函數(shù)語(yǔ)句將某些代碼塊定義為以后可在程序中返回的進(jìn)程或函數(shù)。這些語(yǔ)句也規(guī)定程序員可以選擇的變量與參數(shù)種類,以及當(dāng)一個(gè)表達(dá)式使用過程或函數(shù)時(shí)代碼將返回的值的類型。許多編程語(yǔ)言也容許叫做宏的小型翻譯程序。宏把使用程序員定義的語(yǔ)言結(jié)構(gòu)編寫的代碼段翻譯成編程語(yǔ)言可以理解的語(yǔ)句。
五、歷史
編程語(yǔ)言幾乎可以追溯到20世紀(jì)40年代數(shù)字計(jì)算機(jī)發(fā)明之時(shí)。最早的匯編語(yǔ)言,隨著商業(yè)計(jì)算機(jī)的推出,出現(xiàn)于20世紀(jì)50年代末。最早的過程語(yǔ)言是在20世紀(jì)50年代末到20世紀(jì)60年代初開發(fā)的:FORTRAN語(yǔ)言由約翰?巴克斯創(chuàng)造,然后由格雷斯?霍珀創(chuàng)造了COBOL語(yǔ)言。第一種函數(shù)式語(yǔ)言是LISP,由約翰?麥卡錫于20世紀(jì)50年代末編寫。這3種語(yǔ)言今天仍在廣泛使用,但經(jīng)歷過大量修改。
20世紀(jì)60年代末,出現(xiàn)了最早的面向?qū)ο蟮恼Z(yǔ)言,如SIMULA語(yǔ)言。邏輯語(yǔ)言在20世紀(jì)70年代中期隨著PROLOG語(yǔ)言的推出而變得廣為人知;PROLOG語(yǔ)言是一種用于編寫人工智能軟件的語(yǔ)言。在20世紀(jì)70年代,過程語(yǔ)言繼續(xù)發(fā)展,出現(xiàn)了ALGOL、BASIC、PASCAL、C和Ada等語(yǔ)言。SMALLTALK語(yǔ)言是一種具有高度影響力的面向?qū)ο蟮恼Z(yǔ)言,它導(dǎo)致了面向?qū)ο蟮恼Z(yǔ)言與過程語(yǔ)言在C++和更近期的JAVA語(yǔ)言中的結(jié)合。盡管純粹的邏輯語(yǔ)言受歡迎的程度有所下降,但其變體以現(xiàn)代數(shù)據(jù)庫(kù)所使用的關(guān)系語(yǔ)言——如結(jié)構(gòu)化查詢語(yǔ)言——的形式,變得至關(guān)重要。
本文名稱:c語(yǔ)言輸出麥卡錫函數(shù) c語(yǔ)言輸出分段函數(shù)
文章源于:http://jinyejixie.com/article32/dosespc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)、、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)