第1節(jié)C++簡介_第1頁
第1節(jié)C++簡介_第2頁
第1節(jié)C++簡介_第3頁
第1節(jié)C++簡介_第4頁
第1節(jié)C++簡介_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C+ 語言程序設(shè)計(jì)C+ 程序設(shè)計(jì)語言特點(diǎn)lC+是在C語言基礎(chǔ)上開發(fā)的一種集面向?qū)ο缶幊?,傳統(tǒng)的過程化編程和通用編程于一體的編程語言。lC+模版的特性提供了另一種全新的編程方法通用編程。它與OOP的編程目標(biāo)相同就是使重用代碼和抽象概念更簡單。不過OOP強(qiáng)調(diào)的編程的數(shù)據(jù)方面,而通用編程強(qiáng)調(diào)的算法。lC+可以開發(fā)系統(tǒng)軟件,應(yīng)用軟件和游戲等等,它的運(yùn)行速度只比匯編和C慢一點(diǎn)。C+ 發(fā)展史 1972年AT&T公司為UNIX系統(tǒng)開發(fā)發(fā)明了C 1982年AT&T公司的STRAUSRUP為了系統(tǒng)和工程的設(shè)計(jì)改進(jìn)了C語言在誕生的初期我們也把它叫做帶類的C。l1983年正式取名為C+l從1989年

2、開始C+語言的標(biāo)準(zhǔn)化工作l于1994年制定了ANSI C+標(biāo)準(zhǔn)草案l于1998年11月被國際標(biāo)準(zhǔn)化組織(ISO)批準(zhǔn)為國際標(biāo)準(zhǔn),成為目前的C+計(jì)算機(jī)語言的分類 1 機(jī)器語言:以0,1為代表的二進(jìn)制語言,機(jī)器自身能識(shí)別的語言。(打孔紙帶) 2匯編語言:用助記符號(hào)表示的機(jī)器語言(低級(jí)語言:致力于特定的計(jì)算機(jī)處理器) 3 高級(jí)語言:C+,JAVA,C#等。(致力于解決問題)不針對(duì)特定的硬件由一種稱為編譯器的特殊程序?qū)⒏呒?jí)語言翻譯成了特定的計(jì)算機(jī)內(nèi)部語言。Fortran語言第一個(gè)計(jì)算機(jī)高級(jí)語言由編譯器編譯成機(jī)器碼.C語言(半)高級(jí)語言,語法簡潔、運(yùn)行效率Simula第一個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)語言C+有C語

3、言血源的、支持面向?qū)ο蟪绦蛟O(shè)計(jì)語言目前流行的高級(jí)語言比較1C+:它的功能很強(qiáng)大適合做系統(tǒng)底層的操作。比如寫操作系統(tǒng)。開發(fā)游戲。但是對(duì)比java 來說安全性不高。因?yàn)镃+有指針能直接操作內(nèi)存,但是速度絕對(duì)快。 2JAVA:它其實(shí)是網(wǎng)絡(luò)編程語言針對(duì)WEB應(yīng)用程序,在跨平臺(tái)和安全性方面非常完善。 運(yùn)行速度比較慢 3C#:在 .NET Framework 上運(yùn)行的應(yīng)用程序設(shè)計(jì)的。C# 簡單、功能強(qiáng)大、類型安全,而且是面向?qū)ο蟮?。面向過程與面向?qū)ο髄一般計(jì)算機(jī)都要處理兩個(gè)概念-數(shù)據(jù)和算法。數(shù)據(jù)是程序使用和處理的信息,而算法是程序使用的方法。l面向過程(Procedural)強(qiáng)調(diào)編程的算法方面。-POP編

4、程思想(結(jié)構(gòu)化編程函數(shù))面向過程適用于規(guī)模較小的程序開發(fā)。l面向?qū)ο?Object)則強(qiáng)調(diào)的是數(shù)據(jù)。-OOP編程思想(Class類,準(zhǔn)確描述程序要處理的東西)面向?qū)ο缶幊滩⒉粌H僅是將數(shù)據(jù)和方法合并為類,更重要?jiǎng)?chuàng)建了可以重用的代碼。面向過程的編程示例面向過程程序設(shè)計(jì)程序程序=數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法算法+程序設(shè)計(jì)語言程序設(shè)計(jì)語言+語言環(huán)境語言環(huán)境面向?qū)ο蟪绦蛟O(shè)計(jì)l程序程序=對(duì)象對(duì)象+對(duì)象對(duì)象+對(duì)象對(duì)象l對(duì)象對(duì)象=算法算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)語言程序設(shè)計(jì)語言+語言環(huán)境語言環(huán)境面向?qū)ο蟮木幊淌纠鼵+ 源碼分析l#include lusing namespace std;lvoid main()

5、llchar name100;lint iAge;lcout請您輸入姓名:name;lcout請您輸入年齡:iAge;lcout您的名字叫nameendl;l cout年齡是iAgeendl;ll#include 是預(yù)編譯命令C+和C一樣也使用預(yù)處理器,該程序在進(jìn)行主編譯前對(duì)源文件進(jìn)行處理,它會(huì)在編譯時(shí)自動(dòng)執(zhí)行。l該編譯指令讓預(yù)處理器將要使用的文件內(nèi)容添加到程序中。#include lnamespacenamespace名字空間域是隨標(biāo)準(zhǔn)C+而引入的。它相當(dāng)于一個(gè)更加靈活的文件域(全局域l在域外使用域內(nèi)的成員時(shí),需加上名字空間名作為前綴,后面加上域操作符“:” 。l使用using指示符可以一次

6、性地使名字空間中所有成員都可以直接被使用l標(biāo)準(zhǔn)C+庫中的所有組件都是在一個(gè)被稱為std的名字空間中聲明和定義的。在采用標(biāo)準(zhǔn)C+的平臺(tái)上使用標(biāo)準(zhǔn)C+庫中的組件,只要寫一個(gè)using指示符: using namespace std;就可以直接使就可以直接使用標(biāo)準(zhǔn)用標(biāo)準(zhǔn)C+庫中的所有成員。庫中的所有成員。l 注意:注意:如果使用了名空間std,則在使用#include編譯預(yù)處理命令包含頭文件時(shí),必須去掉頭文件的擴(kuò)展名.h,否則會(huì)出錯(cuò)。lmain()函數(shù)函數(shù):l程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。l必須有且只能有一個(gè)主函數(shù)main()lC+C+語言的輸入輸出:語言的

7、輸入輸出:lcout“cout“輸出內(nèi)容輸出內(nèi)容”“cin“輸入內(nèi)容輸入內(nèi)容”; l/ cin為標(biāo)準(zhǔn)輸入流對(duì)象(默認(rèn)從鍵盤輸入)l控制符控制符endlendl:是C+的一個(gè)特殊符號(hào),表示一個(gè)重要的概念就是:重起一行。將屏幕的光標(biāo)移到下一行的開頭,它是在iostream里定義的,且位于std名字空間(老式的是n)如果要求按八進(jìn)制或十六進(jìn)制輸入輸出,在如果要求按八進(jìn)制或十六進(jìn)制輸入輸出,在cincin或或coutcout中中必須指明相應(yīng)的數(shù)據(jù)形式,必須指明相應(yīng)的數(shù)據(jù)形式,octoct為八進(jìn)制,為八進(jìn)制,hexhex為十六進(jìn)為十六進(jìn)制,制,decdec為十進(jìn)制。為十進(jìn)制。進(jìn)制控制只適用于整數(shù)進(jìn)制控制

8、只適用于整數(shù)。例如:例如:int i, j, k, l;cout Input i(oct), j(hex), k(hex), l(dec): oct i;/輸入為八進(jìn)制數(shù)輸入為八進(jìn)制數(shù)cin hex j;/輸入為十六進(jìn)制數(shù)輸入為十六進(jìn)制數(shù)cin k;/輸入仍為十六進(jìn)制數(shù)輸入仍為十六進(jìn)制數(shù)cin dec l;/輸入為十進(jìn)制數(shù)輸入為十進(jìn)制數(shù)cout hex: i= hex i endl;cout dec: j= dec jt;cout k= k endl;cout oct: l= oct l;cout dec endl; /恢復(fù)十進(jìn)制輸出狀態(tài)恢復(fù)十進(jìn)制輸出狀態(tài) 輸入輸出的格式控制(1)(1)各種進(jìn)

9、制數(shù)據(jù)的輸入輸出各種進(jìn)制數(shù)據(jù)的輸入輸出l執(zhí)行時(shí)輸出提示:lInput i(oct), j(hex), k(hex), l(dec):l此時(shí)從鍵盤輸入:l032 0 x3f 0 xa0 17 l則輸出結(jié)果為:lhex:i=1aldec:j=63k=160loct:l=21l注意:必須在cin中指明數(shù)制,否則從鍵盤輸入時(shí),不認(rèn)八進(jìn)制和十六進(jìn)制數(shù)開頭的0和0 x標(biāo)志。指明后可省略0和0 x標(biāo)志。l注意:在cin或cout中指明數(shù)制后,該數(shù)制將一直有效,直到重新指明用其他數(shù)制。l特別注意:輸入數(shù)據(jù)的格式、個(gè)數(shù)必須與cin中的變量一一對(duì)應(yīng),否則不僅使輸入數(shù)據(jù)錯(cuò)誤,而且影響后面其他數(shù)據(jù)的正確輸入。 輸入輸

10、出的格式控制為了使數(shù)據(jù)間隔開,還可以用為了使數(shù)據(jù)間隔開,還可以用C+C+提供的函數(shù)提供的函數(shù)setw() setw() 指定指定輸出數(shù)據(jù)項(xiàng)的寬度。例如:輸出數(shù)據(jù)項(xiàng)的寬度。例如:int i=2, j=3;float x=2.6, y=1.8; cout setw(6) i setw(10) j endl;cout setw(10) i*j endl;cout setw(8) x setw(8) y endl;輸出結(jié)果為:輸出結(jié)果為: 2 3 6 2.6 1.8 使用使用setw() setw() 必須在程序的開始處增加:必須在程序的開始處增加:#include#include (2)(2)設(shè)置數(shù)

11、據(jù)間隔設(shè)置數(shù)據(jù)間隔l輸入輸出流:輸入輸出流:C+ 程序編譯原理:程序編譯原理:編輯編輯鏈接鏈接編譯編譯執(zhí)行執(zhí)行程序代碼的錄入,生成源程序*.cpp語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exeC+C+語言的文件擴(kuò)展名語言的文件擴(kuò)展名l為了使編譯器能夠區(qū)別是為了使編譯器能夠區(qū)別是C C語言還是語言還是C+C+語語言,言,C+C+語言體系規(guī)定用語言體系規(guī)定用“”(意即(意即)作為)作為C+C+語言源文件的擴(kuò)展名語言源文件的擴(kuò)展名以區(qū)別于以區(qū)別于C C語言用的語言用的“.C”.C”文件擴(kuò)展名。文件擴(kuò)展名。l與與C+C+語言源文件相關(guān)的頭文件擴(kuò)展名一般語言

12、源文件相關(guān)的頭文件擴(kuò)展名一般仍用仍用“”。引用系統(tǒng)的頭文件不用加。引用系統(tǒng)的頭文件不用加“.h”.h”,用戶自定義的頭文件,引入的時(shí),用戶自定義的頭文件,引入的時(shí)候需要加上候需要加上“.h”.h”注釋符注釋符 1. 1. 段注釋:段注釋: / /* * */ / 2. 2. 單行注釋:單行注釋:/ / 當(dāng)只做單行注釋當(dāng)只做單行注釋時(shí)便可用時(shí)便可用“/”/”符號(hào)表示從此符號(hào)符號(hào)表示從此符號(hào)起至行尾均為行注釋內(nèi)容。起至行尾均為行注釋內(nèi)容。 3. 3. 程序編譯時(shí)將忽略所有的注釋內(nèi)程序編譯時(shí)將忽略所有的注釋內(nèi)容容標(biāo)識(shí)符命名 標(biāo)識(shí)符是用來標(biāo)識(shí)變量名、函數(shù)名、數(shù)組名、類名、對(duì)象名、標(biāo)識(shí)符是用來標(biāo)識(shí)變量名

13、、函數(shù)名、數(shù)組名、類名、對(duì)象名、類型名、文件名等的有效字符序列。標(biāo)識(shí)符命名需要遵守其類型名、文件名等的有效字符序列。標(biāo)識(shí)符命名需要遵守其合法性、有效性和易讀性的原則。合法性、有效性和易讀性的原則。(1)合法性合法性C+C+規(guī)定標(biāo)識(shí)符由大小寫字母、數(shù)字字符規(guī)定標(biāo)識(shí)符由大小寫字母、數(shù)字字符(09)(09)和下劃線組成,和下劃線組成,且第一個(gè)字符必須為字母或下劃線。任何標(biāo)識(shí)符中都不能有且第一個(gè)字符必須為字母或下劃線。任何標(biāo)識(shí)符中都不能有空格、標(biāo)點(diǎn)符號(hào)、運(yùn)算符及其他非法字符。標(biāo)識(shí)符的大小寫空格、標(biāo)點(diǎn)符號(hào)、運(yùn)算符及其他非法字符。標(biāo)識(shí)符的大小寫是有區(qū)別的,并且不能和系統(tǒng)的關(guān)鍵字同名。是有區(qū)別的,并且不能和

14、系統(tǒng)的關(guān)鍵字同名。(2)有效性有效性 標(biāo)識(shí)符的長度最好不要超過標(biāo)識(shí)符的長度最好不要超過32個(gè),有的編譯系統(tǒng)只能識(shí)別前個(gè),有的編譯系統(tǒng)只能識(shí)別前32個(gè)字符,前個(gè)字符,前32個(gè)字符相同的兩個(gè)不同標(biāo)識(shí)符被有的系統(tǒng)認(rèn)個(gè)字符相同的兩個(gè)不同標(biāo)識(shí)符被有的系統(tǒng)認(rèn)為是同一個(gè)標(biāo)識(shí)符。為是同一個(gè)標(biāo)識(shí)符。(3)易讀性易讀性 做到做到“見名知意見名知意”就可以達(dá)到易讀性的目的。許多程序員采就可以達(dá)到易讀性的目的。許多程序員采用用“匈牙利標(biāo)記法匈牙利標(biāo)記法”來定義標(biāo)識(shí)符。這種方法是:在每個(gè)變來定義標(biāo)識(shí)符。這種方法是:在每個(gè)變量名前面加上表示數(shù)據(jù)類型的小寫字符,變量名中每個(gè)單詞量名前面加上表示數(shù)據(jù)類型的小寫字符,變量名中每

15、個(gè)單詞的首字母均大寫。的首字母均大寫。標(biāo)識(shí)符標(biāo)識(shí)符例例: 判斷下面哪些是合法的標(biāo)識(shí)符:判斷下面哪些是合法的標(biāo)識(shí)符: MyFileSalary 94amountvoid94SalarySalary94$amountf3.5Num_of_Student C+的字符集的字符集ASCII碼碼字符集是計(jì)算機(jī)中的常用字符集。字符集是計(jì)算機(jī)中的常用字符集。它包括英文字母及阿拉伯?dāng)?shù)字等它包括英文字母及阿拉伯?dāng)?shù)字等128個(gè)字符,個(gè)字符,存儲(chǔ)一個(gè)存儲(chǔ)一個(gè)ASCII碼碼占用一個(gè)字節(jié)占用一個(gè)字節(jié)單元。單元。漢字國標(biāo)碼漢字國標(biāo)碼用于漢字處理。國標(biāo)碼的存用于漢字處理。國標(biāo)碼的存儲(chǔ)占用兩個(gè)字節(jié)單元。儲(chǔ)占用兩個(gè)字節(jié)單元。Un

16、icode字符集對(duì)各類字符進(jìn)行字符集對(duì)各類字符進(jìn)行統(tǒng)一的雙統(tǒng)一的雙字節(jié)編碼字節(jié)編碼。它包括了世界上多種語言的基本。它包括了世界上多種語言的基本字符,字符,最多可容納最多可容納65536個(gè)個(gè)字符。字符。 ASCII碼碼字符集,國標(biāo)碼字符集都是它的子集。字符集,國標(biāo)碼字符集都是它的子集。常用字符集: 關(guān) 鍵 字關(guān)鍵字(keyword):又稱保留字。是由系統(tǒng)定義的具有特定含義的英文單詞。關(guān)鍵字不能另作它用。C+區(qū)分大小寫,關(guān)鍵字全部由小寫字母組成。標(biāo)準(zhǔn)C+(ISO14882)定義了74個(gè)關(guān)鍵字,具體的C+編譯器會(huì)做一些增刪。常用關(guān)鍵字及分類見表2.1。數(shù)據(jù)類型說明數(shù)據(jù)類型說明符與修飾符符與修飾符bool char wchar_t class const double enum float int long short signed struct union unsigned void volatile存儲(chǔ)類型說明存儲(chǔ)類型說明符符auto extern inline register static訪問說明符訪問說明符friend p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論