版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 最簡(jiǎn)單的C+程序第第1章章 最簡(jiǎn)單的最簡(jiǎn)單的C+程序程序1.1 C和和C+ 1.2 一個(gè)簡(jiǎn)單的程序一個(gè)簡(jiǎn)單的程序1.3 C+程序的實(shí)現(xiàn)與運(yùn)行環(huán)境程序的實(shí)現(xiàn)與運(yùn)行環(huán)境第1章 最簡(jiǎn)單的C+程序1.1 C和和C+ 1.1.1 C+的發(fā)展史的發(fā)展史 C語(yǔ)言是20世紀(jì)80年代以來(lái)迅速推廣使用的一種程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有低級(jí)它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有低級(jí)語(yǔ)言的一些特點(diǎn),能夠很方便地實(shí)現(xiàn)匯編級(jí)的操作,語(yǔ)言的一些特點(diǎn),能夠很方便地實(shí)現(xiàn)匯編級(jí)的操作,目標(biāo)程序效率較高。目標(biāo)程序效率較高。然而,C語(yǔ)言也存在一些缺陷,語(yǔ)言也存在一些缺陷,例如類型檢查機(jī)制相對(duì)較弱,缺少支持代碼重用的語(yǔ)
2、例如類型檢查機(jī)制相對(duì)較弱,缺少支持代碼重用的語(yǔ)言結(jié)構(gòu)等,使得用言結(jié)構(gòu)等,使得用C語(yǔ)言開發(fā)大程序比較困難語(yǔ)言開發(fā)大程序比較困難。為了克服C語(yǔ)言存在的缺點(diǎn),并保持C語(yǔ)言簡(jiǎn)潔、高效的特點(diǎn),貝爾實(shí)驗(yàn)室的Bjarne Stroustrup博士及其同事于1983年開始對(duì)C語(yǔ)言進(jìn)行改進(jìn)和擴(kuò)充,將“類”的概念引入了C語(yǔ)言,構(gòu)成了最早的C+語(yǔ)言。第1章 最簡(jiǎn)單的C+程序 發(fā)明C+的重要目標(biāo)就是在保留C原有精華的基礎(chǔ)上提供全面的面向?qū)ο蟮木幊讨С?,使得程序的結(jié)構(gòu)更加清晰,更容易維護(hù)和擴(kuò)充,同時(shí)又不喪失其高效性。后來(lái)Stroustrup博士及其同事們又為C+引進(jìn)了運(yùn)引進(jìn)了運(yùn)算符重載、引用、虛函數(shù)、友元、繼承、多態(tài)性
3、、算符重載、引用、虛函數(shù)、友元、繼承、多態(tài)性、I/O流、流、New/Delete內(nèi)存分配與撤銷、無(wú)名聯(lián)合等許多新內(nèi)存分配與撤銷、無(wú)名聯(lián)合等許多新特性,并使之更加精煉特性,并使之更加精煉。 C+支持面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,很適合于大、中型軟件的開發(fā),從開發(fā)時(shí)間、費(fèi)用到軟件的可重用性、可擴(kuò)充性、可維護(hù)性和可靠性等方面,都具有很大的優(yōu)越性。第1章 最簡(jiǎn)單的C+程序 1.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì) 1面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本概念面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本概念 語(yǔ)言、PASCAL、FORTRAN等都是一種面向過(guò)程的程序設(shè)計(jì)。面向過(guò)程的程序設(shè)計(jì)的基本思想是將面向過(guò)程的程序設(shè)計(jì)的基本思想是將
4、問(wèn)題分成獨(dú)立的功能模塊,用過(guò)程或函數(shù)來(lái)實(shí)現(xiàn),達(dá)問(wèn)題分成獨(dú)立的功能模塊,用過(guò)程或函數(shù)來(lái)實(shí)現(xiàn),達(dá)到最終解決問(wèn)題的目的。到最終解決問(wèn)題的目的。 它采用函數(shù)來(lái)描述對(duì)數(shù)據(jù)結(jié)它采用函數(shù)來(lái)描述對(duì)數(shù)據(jù)結(jié)構(gòu)的操作,但又將函數(shù)與其所操作的數(shù)據(jù)分離。構(gòu)的操作,但又將函數(shù)與其所操作的數(shù)據(jù)分離。作為對(duì)現(xiàn)實(shí)世界的抽象,函數(shù)和它所操作的數(shù)據(jù)是密切聯(lián)系、相互依賴的。如果數(shù)據(jù)結(jié)構(gòu)發(fā)生改變,則必須改寫相應(yīng)的函數(shù)。某個(gè)函數(shù)的改動(dòng)經(jīng)常引起許多其它函某個(gè)函數(shù)的改動(dòng)經(jīng)常引起許多其它函數(shù)的改動(dòng),維護(hù)較為困難,特別是難以適應(yīng)大型復(fù)雜數(shù)的改動(dòng),維護(hù)較為困難,特別是難以適應(yīng)大型復(fù)雜軟件系統(tǒng)開發(fā)的需要。軟件系統(tǒng)開發(fā)的需要。第1章 最簡(jiǎn)單的C+程序
5、 面向?qū)ο蟪绦蛟O(shè)計(jì)從所處理的數(shù)據(jù)入手,并以數(shù)據(jù)面向?qū)ο蟪绦蛟O(shè)計(jì)從所處理的數(shù)據(jù)入手,并以數(shù)據(jù)為中心。它把現(xiàn)實(shí)世界的問(wèn)題抽象為為中心。它把現(xiàn)實(shí)世界的問(wèn)題抽象為“類類”的概念。的概念。類是對(duì)現(xiàn)實(shí)世界中的客觀事物的抽象,是對(duì)具有共同類是對(duì)現(xiàn)實(shí)世界中的客觀事物的抽象,是對(duì)具有共同屬性和行為的一類事物的抽象描述,其中,共同屬性屬性和行為的一類事物的抽象描述,其中,共同屬性被描述為類中的數(shù)據(jù)成員被描述為類中的數(shù)據(jù)成員-屬性屬性,共同行為被描述為,共同行為被描述為類中的成員函數(shù)類中的成員函數(shù)方法(和方法(和VBVB類似)類似)。例如:汽車是對(duì)各種汽車(如小轎車、大卡車、公共汽車等)的一個(gè)抽象,汽車的顏色、型號(hào)
6、、發(fā)動(dòng)機(jī)等是屬性,而開動(dòng)和轉(zhuǎn)彎等是它的成員函數(shù)即是它的方法。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法最基本的思想就是把客觀世界看成一個(gè)個(gè)相對(duì)獨(dú)立而又相互聯(lián)系的實(shí)體,稱為對(duì)象。對(duì)象。第1章 最簡(jiǎn)單的C+程序 類是對(duì)象集合的抽象,規(guī)定了這些對(duì)象的公共屬類是對(duì)象集合的抽象,規(guī)定了這些對(duì)象的公共屬性和方法,對(duì)象是類的一個(gè)實(shí)例。性和方法,對(duì)象是類的一個(gè)實(shí)例。例如,鋼筆是一個(gè)類,具體到一支鋼筆就是一個(gè)對(duì)象;一個(gè)桌子、一個(gè)氣球,一個(gè)地球都是一個(gè)對(duì)象。 。 現(xiàn)實(shí)世界中的對(duì)象既具有靜態(tài)的屬性(或稱狀現(xiàn)實(shí)世界中的對(duì)象既具有靜態(tài)的屬性(或稱狀態(tài)),又具有動(dòng)態(tài)的行為(或稱操作,功能)。態(tài)),又具有動(dòng)態(tài)的行為(或稱操作,功能)。再如“
7、人”是一個(gè)“類”,即人類,人類具有某些共同的屬性(狀態(tài),數(shù)據(jù)成員),即哺乳動(dòng)物,一個(gè)腦袋一張嘴,兩只小手兩條腿等;人類也具有某些共同的行為(方法,函數(shù)成員),即上課睡覺,走路吃飯,考試作弊,花錢享受等;張三是人,李四是人,都是“人類”的一個(gè)對(duì)象,也就是“人類”的具體實(shí)例。第1章 最簡(jiǎn)單的C+程序 再比如,所有的狗屬于一個(gè)類,即所有的狗屬于一個(gè)類,即“狗類狗類”,一,一只哈巴狗,一只賴皮狗,一只落水狗都是狗類的一個(gè)只哈巴狗,一只賴皮狗,一只落水狗都是狗類的一個(gè)具體實(shí)例具體實(shí)例-即對(duì)象。即對(duì)象。類又有基類(父類)和派生類類又有基類(父類)和派生類(子類)的概念,比如(子類)的概念,比如“狗類狗類”
8、是是“好狗類好狗類”和和“壞壞狗類狗類”的父類,同時(shí)又是的父類,同時(shí)又是“哺乳動(dòng)物類哺乳動(dòng)物類”的子類。父的子類。父類實(shí)際上是多個(gè)子類的進(jìn)一步抽象,具有更高的層次。類實(shí)際上是多個(gè)子類的進(jìn)一步抽象,具有更高的層次。 同一個(gè)類的對(duì)象除了具有某些共同的屬性和行為同一個(gè)類的對(duì)象除了具有某些共同的屬性和行為之外,還可能具有各自不同的屬性和行為之外,還可能具有各自不同的屬性和行為,比如“人類”的對(duì)象-某個(gè)人,可能是男人,女人,好人,壞人,高矮胖瘦,膚色發(fā)型,年齡愛好,貪官良民等等不同屬性;偷竊搶劫,樂(lè)善好施,殺人放火,扶危濟(jì)困,釣魚打牌,學(xué)習(xí)工作等等不同的行為。 第1章 最簡(jiǎn)單的C+程序 2面向?qū)ο蟪绦蛟O(shè)
9、計(jì)的基本特征面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征 面向?qū)ο蟪绦蛟O(shè)計(jì)具有封裝、抽象、繼承和多態(tài)性4種基本特征。 (1) 封裝封裝 封裝是把函數(shù)和數(shù)據(jù)封藏起來(lái),把它看成一個(gè)有封裝是把函數(shù)和數(shù)據(jù)封藏起來(lái),把它看成一個(gè)有機(jī)整體。機(jī)整體。封裝是面向?qū)ο蟮闹匾卣?,首先它?shí)現(xiàn)了數(shù)據(jù)隱藏,保護(hù)了對(duì)象的數(shù)據(jù)不被外界隨意改變;其次它使對(duì)象成了相對(duì)獨(dú)立的功能模塊功能模塊。對(duì)象好象是一個(gè)黑盒子,表示對(duì)象屬性的數(shù)據(jù)和實(shí)現(xiàn)各個(gè)操作的代碼都被封裝在黑盒子里,從外面是看不見的。 使用對(duì)象,只需知道它向外界提供的接口,而無(wú)使用對(duì)象,只需知道它向外界提供的接口,而無(wú)須知道它的數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié)和實(shí)現(xiàn)操作的算法。須知道它的數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié)和實(shí)現(xiàn)操作
10、的算法。第1章 最簡(jiǎn)單的C+程序 (2) 抽象抽象 抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。對(duì)象本身也是一個(gè)抽象,是具有特定屬性和行為的一個(gè)抽象。抽象是通過(guò)特定的實(shí)例抽象是通過(guò)特定的實(shí)例(對(duì)象對(duì)象)抽取共同性質(zhì)以后形抽取共同性質(zhì)以后形成的概念。成的概念。抽象是對(duì)系統(tǒng)的簡(jiǎn)化描述或規(guī)范說(shuō)明,它強(qiáng)調(diào)了系統(tǒng)中的一部分細(xì)節(jié)和特性,而忽略了其他部分。抽象包括兩個(gè)方面:數(shù)據(jù)抽象和代碼抽象(行為數(shù)據(jù)抽象和代碼抽象(行為抽象)抽象)。前者描述了某類對(duì)象的屬性或狀況,也就是此類對(duì)象區(qū)別于彼類對(duì)象的特征物理量,后者描述了某類對(duì)象的共同行為特征或具有的共同操作。第1章 最簡(jiǎn)
11、單的C+程序 (3) 繼承繼承 自然界中的大部分事物之間都有很多共性,但也有不同。比如,四邊形是一個(gè)類,而矩形與四邊形有相同的性質(zhì),也有自已的屬性。我們可以將事物之間的共性保留下來(lái)也就是繼承,如矩形繼承四邊形這個(gè)如矩形繼承四邊形這個(gè)類的公共屬性,將不同的特性再定義。面向?qū)ο蟪绦蝾惖墓矊傩?,將不同的特性再定義。面向?qū)ο蟪绦蛟O(shè)計(jì)方法允許一個(gè)類繼承其它類設(shè)計(jì)方法允許一個(gè)類繼承其它類(稱為基類稱為基類)的屬性和方的屬性和方法,該類稱為派生類(子類)。法,該類稱為派生類(子類)。 繼承是類的層次結(jié)構(gòu)之間共享數(shù)據(jù)和方法的機(jī)制,繼承是類的層次結(jié)構(gòu)之間共享數(shù)據(jù)和方法的機(jī)制,允許和鼓勵(lì)類的重用。允許和鼓勵(lì)類的
12、重用。第1章 最簡(jiǎn)單的C+程序 (4) 多態(tài)性多態(tài)性 多態(tài)性是指不同類的對(duì)象對(duì)同一消息作出不同的多態(tài)性是指不同類的對(duì)象對(duì)同一消息作出不同的響應(yīng),或者說(shuō)產(chǎn)生多種不同的行為方式。響應(yīng),或者說(shuō)產(chǎn)生多種不同的行為方式。例如,同樣是加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起的內(nèi)涵是完全不同的。再比如,十字路口的交通燈,同樣是燈,當(dāng)紅燈亮?xí)r,人們知道該停止;當(dāng)綠燈亮?xí)r,人們知道該通行。多態(tài)性包括參數(shù)多態(tài)性和包含多態(tài)性,它具有靈活、抽象、行為共享和代碼共享的優(yōu)勢(shì)。 C+語(yǔ)言支持兩種多態(tài)性,即編譯時(shí)的多態(tài)性和語(yǔ)言支持兩種多態(tài)性,即編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。運(yùn)行時(shí)的多態(tài)性。 第1章 最簡(jiǎn)單的C+程序 編
13、譯時(shí)的多態(tài)性是通過(guò)重載來(lái)實(shí)現(xiàn)的,運(yùn)行時(shí)的多態(tài)性是通過(guò)虛函數(shù)來(lái)實(shí)現(xiàn)的。 重載包括函數(shù)重載和運(yùn)算符重載重載包括函數(shù)重載和運(yùn)算符重載。函數(shù)重載是指一個(gè)標(biāo)識(shí)符可同時(shí)用于為多個(gè)函數(shù)命名,而運(yùn)算符重載是指一個(gè)運(yùn)算符可同時(shí)用于多種運(yùn)算。相同名字的函數(shù)或運(yùn)算符在不同的場(chǎng)合可以表現(xiàn)出不同的行為。 虛函數(shù)的有關(guān)概念較復(fù)雜虛函數(shù)的有關(guān)概念較復(fù)雜,后續(xù)講解。 對(duì)象是具體的類的實(shí)例,是客觀存在的,而類是對(duì)象是具體的類的實(shí)例,是客觀存在的,而類是對(duì)對(duì)象的抽象,只是一個(gè)概念,一個(gè)層次的描述,是對(duì)對(duì)象的抽象,只是一個(gè)概念,一個(gè)層次的描述,是不存在的但又需要加以利用的東西。在類的基礎(chǔ)上可不存在的但又需要加以利用的東西。在類的基
14、礎(chǔ)上可以抽象出更高層次的父類。以抽象出更高層次的父類。第1章 最簡(jiǎn)單的C+程序 3.消息和方法消息和方法 對(duì)象之間需要聯(lián)系,稱為對(duì)象的交互交互。面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)必須提供一種機(jī)制,允許一個(gè)對(duì)象與另一個(gè)對(duì)象交互交互,這種機(jī)制稱為消息傳遞消息傳遞。 一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)出的請(qǐng)求被稱為消息消息。當(dāng)對(duì)象接收到發(fā)向它的消息時(shí)就調(diào)用有關(guān)的方法,執(zhí)行相應(yīng)的方法,執(zhí)行相應(yīng)的操作操作。消息消息是一個(gè)對(duì)象要求另一個(gè) 對(duì)象執(zhí)行某個(gè)操作的規(guī)格的說(shuō)明,通過(guò)消息傳遞消息傳遞才能完成對(duì)象之間的相互請(qǐng)求或相互協(xié)作。消息傳遞與用手機(jī)發(fā)送短信(短消息)具有消息傳遞與用手機(jī)發(fā)送短信(短消息)具有非常相似的含義非常相似的含義。第
15、1章 最簡(jiǎn)單的C+程序 消息具有消息具有3個(gè)性質(zhì)個(gè)性質(zhì):(1)同一個(gè)對(duì)象可以接收不同形式的多個(gè)消息, 作出不同的響應(yīng)。(2)相同形式的消息可以傳遞給不同的對(duì)象, 所作出的響應(yīng)可以是不同的。(3)對(duì)消息的響應(yīng)并不是必須的, 對(duì)象可以響應(yīng)消息,也可以不響應(yīng)。 方法就是指對(duì)象所能執(zhí)行的操作。方法就是指對(duì)象所能執(zhí)行的操作。方法包括界面和方法體兩部分,方法的界面也就是消息的模式,它給出了方法的調(diào)用協(xié)議,方法體則是實(shí)現(xiàn)某種操作的一系列計(jì)算步驟,也就是一段程序。第1章 最簡(jiǎn)單的C+程序 4.為什么要使用面向?qū)ο蟪绦蛟O(shè)計(jì)為什么要使用面向?qū)ο蟪绦蛟O(shè)計(jì) 傳統(tǒng)程序即面向過(guò)程的程序設(shè)計(jì)方法,開發(fā)軟件的生產(chǎn)效率低下,難
16、以應(yīng)付日益龐大的信息量和多樣的信息類型,難以適應(yīng)各種新環(huán)境。 面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)在于:可以提高程序的重用性,可以控制程序的復(fù)雜性,可以改善程序的可維護(hù)性,能更好的支持大型程序設(shè)計(jì),增強(qiáng)了處理信息的范圍,能很好的適應(yīng)新環(huán)境,第1章 最簡(jiǎn)單的C+程序1.2 一個(gè)簡(jiǎn)單的程序一個(gè)簡(jiǎn)單的程序 1.2.1 一個(gè)簡(jiǎn)單的C+程序例:編程求從鍵盤上輸入的兩個(gè)浮點(diǎn)數(shù)的和#includevoid main() /SAMPLE S1_1 double x,y; coutxy; double z=x+y; coutx+y=zendl; 執(zhí)行該程序,屏幕上出現(xiàn)如下提示信息:Enter two double numbe
17、r:3.456 71.3運(yùn)行結(jié)果為:x+y=74.7(注:再舉例演示S1_2)第1章 最簡(jiǎn)單的C+程序 1.2.2 C+程序結(jié)構(gòu)特點(diǎn)程序結(jié)構(gòu)特點(diǎn) 1. C+程序的組成程序的組成 C+程序由若干個(gè)文件組成,每個(gè)文件又由若干個(gè)函程序由若干個(gè)文件組成,每個(gè)文件又由若干個(gè)函數(shù)組成。數(shù)組成。C+程序的若干個(gè)函數(shù)是相對(duì)獨(dú)立的程序段。組程序的若干個(gè)函數(shù)是相對(duì)獨(dú)立的程序段。組成一個(gè)程序的若干個(gè)函數(shù)中,有且僅有一個(gè)是主函數(shù),其成一個(gè)程序的若干個(gè)函數(shù)中,有且僅有一個(gè)是主函數(shù),其函數(shù)名為函數(shù)名為main,它可以有參數(shù),也可以無(wú)參數(shù)。主函數(shù)只能存在于組成該程序的若干個(gè)文件中的一個(gè)。 程序是用計(jì)算機(jī)語(yǔ)言對(duì)程序要完成任務(wù)
18、(即功能)的描述。程序必須存儲(chǔ)在文本文件中,稱為源程序文件源程序文件。對(duì)于C+,源程序文件約定的擴(kuò)展名是擴(kuò)展名是.CPP。文件名最好有一定的提示作用,能使人聯(lián)想到程序的內(nèi)容或功能。 第1章 最簡(jiǎn)單的C+程序 利用Visual C+進(jìn)行Windows編程時(shí),源程序代碼主要可以分為類: (1)頭文件頭文件(*.h)。頭文件用于定義函數(shù)原型、類的聲明等 (2)CPP文件文件(*.CPP)。CPP文件用于定義函數(shù)或類成員函數(shù)的實(shí)現(xiàn) (3)資源文件資源文件(*.RC)。資源文件中定義的是應(yīng)用程序中所遇見的菜單、對(duì)話框、位圖等資源,它是一個(gè)文本文件,可以被VC+集成編譯環(huán)境可視化顯示。 另外,VC+還會(huì)產(chǎn)
19、生一些工程管理文件,由于應(yīng)用程序通常由許多源程序組成,因此,為了進(jìn)行有效管理,VC+將它們以一種形式組織在一起,這種組織形式稱為工程這種組織形式稱為工程(Project),其擴(kuò)展名為其擴(kuò)展名為(*.dsp)-與與VB文件的組織形式類似。文件的組織形式類似。第1章 最簡(jiǎn)單的C+程序 2. 預(yù)處理命令預(yù)處理命令#include 預(yù)處理命令是包含命令預(yù)處理命令是包含命令,其功能是把一個(gè)文本文件的內(nèi)容包含到該命令處。1.2.1節(jié)的程序的第1行以#打頭,表明該行是一個(gè)預(yù)處理命令;是命令的參數(shù),它指出了要包含的那個(gè)文件的文件名是iostream.h。C語(yǔ)言和匯編語(yǔ)言均語(yǔ)言和匯編語(yǔ)言均采用這種包含形式。采用
20、這種包含形式。 3. 頭文件頭文件 以以.h作為擴(kuò)展名,包含有對(duì)象和函數(shù)說(shuō)明的文件稱為頭文作為擴(kuò)展名,包含有對(duì)象和函數(shù)說(shuō)明的文件稱為頭文件。件。在1.2.1節(jié)的程序中,用C+流完成輸入、輸出的操作,其中,cout是輸出流對(duì)象,是輸出流對(duì)象,cin是輸入流對(duì)象;是輸入流對(duì)象;v1v2.vn; 其中,“”的功能是從輸入流中提取數(shù)據(jù)賦值給一個(gè)變量,的功能是從輸入流中提取數(shù)據(jù)賦值給一個(gè)變量,稱為提取操作符或輸入運(yùn)算符;稱為提取操作符或輸入運(yùn)算符;v1,v2,.,vn都是變量。該語(yǔ)句的意思是,程序暫時(shí)中止執(zhí)行,等待用戶從鍵盤上輸入數(shù)據(jù)。用戶輸入了所有的數(shù)據(jù)后,按回車鍵表示輸入結(jié)束,程序?qū)⒂脩翩I入的數(shù)據(jù)存
21、入各變量中,并繼續(xù)執(zhí)行下面的語(yǔ)句。第1章 最簡(jiǎn)單的C+程序 C+的輸出操作是由系統(tǒng)提供的標(biāo)準(zhǔn)輸出流對(duì)象的輸出操作是由系統(tǒng)提供的標(biāo)準(zhǔn)輸出流對(duì)象cout來(lái)完成的。來(lái)完成的。它的格式為 coutx=x;y=yendl; 其中,“”稱為插入運(yùn)算符或輸出運(yùn)算符稱為插入運(yùn)算符或輸出運(yùn)算符,x,y都是表達(dá)式,endl是換行符是換行符。這個(gè)語(yǔ)句的意思是,將表達(dá)式的值輸出到屏幕上當(dāng)前光標(biāo)位置處。在輸出時(shí)可適當(dāng)使用字符串作為提示信息。第1章 最簡(jiǎn)單的C+程序 5. 注釋符注釋符 在C+中,注解的形式有兩種:一種以兩個(gè)斜杠一種以兩個(gè)斜杠“/”起頭起頭(SQL SERVER中以起頭),直到行末;一種是用斜線星號(hào)組合一
22、種是用斜線星號(hào)組合“/*”和和“*/”括起的任意文字括起的任意文字(與SQL SERVER相同)。后一種多用于注解篇幅多于一行的情況。 編譯系統(tǒng)不理會(huì)注釋文字,因此注釋文字可以是編譯系統(tǒng)不理會(huì)注釋文字,因此注釋文字可以是任意的。任意的。注釋可使程序更容易理解,在編寫程序時(shí)隨時(shí)添加注釋是一種良好的習(xí)慣。第1章 最簡(jiǎn)單的C+程序 類的聲明部分類的聲明部分 面向?qū)ο蟪绦蛎嫦驅(qū)ο蟪绦?類的使用部分類的使用部分第1章 最簡(jiǎn)單的C+程序1.3 C+程序的實(shí)現(xiàn)與運(yùn)行環(huán)境程序的實(shí)現(xiàn)與運(yùn)行環(huán)境 Visual C+(簡(jiǎn)稱VC+)是美國(guó)Microsoft公司開發(fā)的Microsoft Visual Studio的一部
23、分,是一個(gè)使用廣泛的C/C集成化開發(fā)環(huán)境。它成功地將面向?qū)ο蠛褪录晒Φ貙⒚嫦驅(qū)ο蠛褪录?qū)動(dòng)編程概念聯(lián)系起來(lái),并得到了很好的配合驅(qū)動(dòng)編程概念聯(lián)系起來(lái),并得到了很好的配合,使得編寫Windows應(yīng)用程序的過(guò)程變得簡(jiǎn)單、方便且代碼量小。VC 6.0集程序的代碼編輯、編譯、連接、調(diào)試于一體,給編程人員提供了一個(gè)完整、方便的開發(fā)界面和許多有效的輔助開發(fā)工具。 第1章 最簡(jiǎn)單的C+程序 VC+ 6.0的編輯環(huán)境包含了許多獨(dú)立的組件,它們是:文本編輯器、資源編輯器、文本編輯器、資源編輯器、C/C+編譯器、連編譯器、連接器、調(diào)試器、接器、調(diào)試器、AppWizard、ClassWizard 、源程序、源程序
24、瀏覽器以及聯(lián)機(jī)幫助瀏覽器以及聯(lián)機(jī)幫助。所有這些構(gòu)件的功能都隱藏在VC+ 6.0的菜單和工具條中。通過(guò)該集成環(huán)境,程序員可以觀察和控制整個(gè)開發(fā)進(jìn)程。 VC+ 6.0的主窗口可以分為如圖1-1所示的幾個(gè)部分。 典型的典型的Windows應(yīng)用程序結(jié)構(gòu)有控制臺(tái)應(yīng)用程序,應(yīng)用程序結(jié)構(gòu)有控制臺(tái)應(yīng)用程序,基于框架窗口的應(yīng)用程序,基于對(duì)話框的應(yīng)用程序和基于框架窗口的應(yīng)用程序,基于對(duì)話框的應(yīng)用程序和基于文檔視圖結(jié)構(gòu)的應(yīng)用程序基于文檔視圖結(jié)構(gòu)的應(yīng)用程序4種。種。第1章 最簡(jiǎn)單的C+程序 VC+既可用于管理基于Windows的應(yīng)用項(xiàng)目,也可用于管理基于DOS的應(yīng)用項(xiàng)目。基于基于DOS的應(yīng)用系的應(yīng)用系統(tǒng)也稱為控制臺(tái)應(yīng)
25、用系統(tǒng)統(tǒng)也稱為控制臺(tái)應(yīng)用系統(tǒng),本書前9章的應(yīng)用程序均為控制臺(tái)應(yīng)用程序。控制臺(tái)應(yīng)用程序結(jié)構(gòu)簡(jiǎn)單,可以不使用MFC類庫(kù)。本書的第10章將介紹基于Windows的編程,基于框架窗口以及基于對(duì)話框和單文檔的應(yīng)用程序。第1章 最簡(jiǎn)單的C+程序 圖1-1 VC 6.0的主窗口 菜單欄工具欄工作區(qū)窗口編輯子窗口輸出子窗口第1章 最簡(jiǎn)單的C+程序 1.3.1 Visual C+ 6.0常用功能介紹:常用功能介紹: 1文件菜單文件菜單 文件菜單中共有14個(gè)菜單項(xiàng),分成6組,組與組之間通過(guò)凹下去的橫線分割開。第一組是基本文件操作;第二組是工作區(qū)操作,工作區(qū)是VC+ 6.0中最大的一個(gè)處理單位,每個(gè)工作區(qū)包括多個(gè)工
26、程,每個(gè)工程又包含若干個(gè)文件;第三組用于文件保存;第四組用于文件打印。 2編輯菜單編輯菜單 編輯菜單包含用于編輯和搜索的命令,這些命令與其它Windows應(yīng)用程序中的同名命令具有相似的功能。第1章 最簡(jiǎn)單的C+程序 3查看菜單查看菜單 查看菜單包含用于檢查源代碼和調(diào)試信息的命令項(xiàng),它可以用來(lái)設(shè)置全屏方式顯示窗口,或者打開工作區(qū)窗口、輸出窗口和各種調(diào)試窗口。 4插入菜單插入菜單 插入菜單可以創(chuàng)建新的類、資源、窗體并將它們插入到文檔中;可以將文件作為文本插入到文件中,也可以添加新的ATL對(duì)象到項(xiàng)目中。第1章 最簡(jiǎn)單的C+程序 5工程菜單工程菜單 工程菜單中的命令用于管理項(xiàng)目和工作區(qū)??梢赃x擇指定的
27、項(xiàng)目作為工作區(qū)中的活動(dòng)項(xiàng)目,也可以把文件、文件夾、數(shù)據(jù)鏈接以及可再用部件添加到項(xiàng)目中,還可以編輯和修改項(xiàng)目間的依賴關(guān)系。第1章 最簡(jiǎn)單的C+程序 6編譯菜單編譯菜單 編譯菜單中包括以下命令: (1) 編譯(Compile):此命令用于編譯顯示在源代碼的編輯窗口中的源文件并檢查源文件中是否有語(yǔ)法錯(cuò)誤。在編譯過(guò)程中若有警告或錯(cuò)誤,則將在輸出窗口中顯示錯(cuò)誤信息??梢韵蚯盎蛳蚝鬄g覽輸出窗口中的錯(cuò)誤信息,然后按F4鍵在源代碼編輯窗口中顯示相應(yīng)的代碼行。(快捷鍵:【Ctrl+F7】)第1章 最簡(jiǎn)單的C+程序 (2) 構(gòu)建(Build):用于創(chuàng)建項(xiàng)目的可執(zhí)行目標(biāo)文件(.exe或 .dll),但不運(yùn)行它。 (
28、3) 重建全部(Build all):重新編譯所有文件(包括資源文件),重新連接生成可執(zhí)行的目標(biāo)文件。 (4) 成批編譯(Batch Buile):成批編譯、連接不同項(xiàng)目或同一項(xiàng)目的不同設(shè)置。 (5) 清除(Clean):把編譯、連接過(guò)程中所生成的中間文件和最終可執(zhí)行的目標(biāo)文件刪除掉。 第1章 最簡(jiǎn)單的C+程序 (6) 開始調(diào)試(Start Debug):在調(diào)試狀態(tài)下運(yùn)行程序,程序運(yùn)行到一個(gè)斷點(diǎn)處暫時(shí)停止。 (7) 執(zhí)行(Execute):運(yùn)行可執(zhí)行目標(biāo)文件,如果此文件比源代碼舊,則首先編譯項(xiàng)目,再運(yùn)行新產(chǎn)生的可執(zhí)行目標(biāo)文件(快捷鍵【Ctrl+F5】)第1章 最簡(jiǎn)單的C+程序 1.3.2 VC
29、+6.0控制臺(tái)應(yīng)用程序控制臺(tái)應(yīng)用程序 1應(yīng)用項(xiàng)目的建立應(yīng)用項(xiàng)目的建立 一個(gè)應(yīng)用項(xiàng)目一個(gè)應(yīng)用項(xiàng)目(Project)由若干個(gè)編譯單元組成,而由若干個(gè)編譯單元組成,而每個(gè)編譯單元由一個(gè)程序文件每個(gè)編譯單元由一個(gè)程序文件(擴(kuò)展名是擴(kuò)展名是CPP)及與之相及與之相關(guān)的頭文件關(guān)的頭文件(擴(kuò)展名是擴(kuò)展名是)組成。組成。在組成項(xiàng)目的所有單元中,必須有一個(gè)必須有一個(gè)(也只能有一個(gè)也只能有一個(gè))單元包含函數(shù)單元包含函數(shù)main()的的定義,這個(gè)單元稱為主單元,相應(yīng)的程序文件稱為主定義,這個(gè)單元稱為主單元,相應(yīng)的程序文件稱為主程序文件。程序文件。一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用系統(tǒng)可以只有一個(gè)單元,即主單元。通過(guò)編譯,每個(gè)單元
30、生成一個(gè)浮動(dòng)程序文件(也稱為目標(biāo)程序文件,擴(kuò)展名是OBJ)。通過(guò)鏈接這些浮動(dòng)程序文件,整個(gè)系統(tǒng)生成一個(gè)惟一的可執(zhí)行文件,擴(kuò)展名是EXE。第1章 最簡(jiǎn)單的C+程序 由若干個(gè)關(guān)系密切的項(xiàng)目構(gòu)成一個(gè)工作區(qū),工作區(qū)在建立時(shí)自動(dòng)生成擴(kuò)展名為擴(kuò)展名為DSW的工作區(qū)文件的工作區(qū)文件以及其它文件。 建立一個(gè)控制臺(tái)應(yīng)用項(xiàng)目(名為li)的過(guò)程分為三步 1) 建立項(xiàng)目及工作區(qū)建立項(xiàng)目及工作區(qū) (1) 啟動(dòng)Visual C+后,選擇菜單命令“文件”“新建”,屏幕上出現(xiàn)新建對(duì)話框,其中包括文件、工程、工作區(qū)和其它文檔4個(gè)卡片。一般當(dāng)前卡片是工程,如果不是,則應(yīng)點(diǎn)擊“工程”標(biāo)簽,使之成為當(dāng)前卡片,如圖1-2所示。 第1章
31、 最簡(jiǎn)單的C+程序 圖 1-2 第1章 最簡(jiǎn)單的C+程序 (2) 選擇Win32 Console Application(32位控制臺(tái)應(yīng)用程序)。在窗口的右上方的“工程”處,輸入要建立的項(xiàng)目的名稱,在“位置”處輸入工程所在的路徑,然后按“確定”按鈕。屏幕上出現(xiàn)圖1-3所示的Win32 Console Application-Step of 1界面。第1章 最簡(jiǎn)單的C+程序 圖 1-3第1章 最簡(jiǎn)單的C+程序 (3) 圖1-3是應(yīng)用程序生成向?qū)?,提?wèn)要生成的項(xiàng)目類型。選擇“An Empty Project(空項(xiàng)目)”,然后按“完成”按鈕。此時(shí),屏幕上會(huì)出現(xiàn)圖1-4所示的新建工程信息,檢查無(wú)誤后按
32、“確定”按鈕。 2) 建立主程序文件建立主程序文件lyh.cpp 再次選擇“文件”菜單的“新建”選項(xiàng),彈出圖1-5所示的窗口。選擇“文件”標(biāo)簽, 從窗口中選擇C+ Source File(C+源程序),在窗口右側(cè)“文件”處填寫文件的名字lyh,在“目錄”處輸入該文件存放的路徑,然后按“確定”按鈕。彈出圖1-6所示的窗口。 第1章 最簡(jiǎn)單的C+程序圖 1-4 第1章 最簡(jiǎn)單的C+程序圖 1-5 第1章 最簡(jiǎn)單的C+程序圖 1-6 第1章 最簡(jiǎn)單的C+程序 3) 輸入程序輸入程序 如圖1-6所示,在VC+ 6.0窗口右側(cè)的文件編輯窗口中出現(xiàn)了一個(gè)空文件,在光標(biāo)處輸入源程序的內(nèi)容,如圖1-7所示。
33、第1章 最簡(jiǎn)單的C+程序圖1-7 第1章 最簡(jiǎn)單的C+程序 2. 程序的運(yùn)行程序的運(yùn)行 選擇菜單命令“編譯”中的“編譯 程序名.cpp”(或按F7鍵),編譯源程序。稍后在Output窗口中會(huì)顯示編譯結(jié)果。如果編譯出錯(cuò),則重新返回編輯窗口,查找并改正錯(cuò)誤后,繼續(xù)編譯直到?jīng)]有編譯錯(cuò)誤。編譯會(huì)產(chǎn)生一個(gè)目標(biāo)文件(后綴為.obj)。目標(biāo)文件還需通過(guò)連接生成可執(zhí)行文件。選擇菜單選項(xiàng)“編譯”中的“編譯 文件名.exe連接目標(biāo)文件。連接的結(jié)果顯示在Output窗口中,它是一個(gè)可執(zhí)行文件。第1章 最簡(jiǎn)單的C+程序 1.3.3 VC+ 6.0 MFC應(yīng)用程序應(yīng)用程序 Microsoft提供了一個(gè)功能強(qiáng)大的基礎(chǔ)類庫(kù)提供了一個(gè)功能強(qiáng)大的基礎(chǔ)類庫(kù)MFC(Microsoft Foundation Class),其中包含許多用來(lái)開其中包含許多用來(lái)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職大氣污染防治管理(管理技術(shù))試題及答案
- 2025年中職(城市綠化管理)綠化維護(hù)階段測(cè)試題及答案
- 2025年大學(xué)大三(焊接技術(shù)與工程)焊接修復(fù)技術(shù)綜合測(cè)試題及答案
- 2025年大學(xué)納米材料與技術(shù)(納米材料技巧)試題及答案
- 2026年銀耳類食品(膠質(zhì)檢測(cè))試題及答案
- 教學(xué)臨時(shí)用電安全技術(shù)課件
- 中國(guó)采礦技術(shù)
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員考核獎(jiǎng)懲制度
- 青島新東方國(guó)際雙語(yǔ)學(xué)校項(xiàng)目EPC項(xiàng)目工期履約總結(jié)交流
- 養(yǎng)老院工作人員獎(jiǎng)懲制度
- 2026年1月福建廈門市集美區(qū)后溪鎮(zhèn)衛(wèi)生院補(bǔ)充編外人員招聘16人考試參考試題及答案解析
- 2026年腹腔鏡縫合技術(shù)培訓(xùn)
- 2026年廣西貴港市華盛集團(tuán)新橋農(nóng)工商有限責(zé)任公司招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 地鐵安檢施工方案(3篇)
- 小學(xué)生寒假心理健康安全教育
- 汽機(jī)專業(yè)安全培訓(xùn)課件
- 2026高考藍(lán)皮書高考關(guān)鍵能力培養(yǎng)與應(yīng)用1.批判性與創(chuàng)造性思維能力的基礎(chǔ)知識(shí)
- 多學(xué)科團(tuán)隊(duì)(MDT)中的醫(yī)患溝通協(xié)同策略
- 期末復(fù)習(xí)知識(shí)點(diǎn)清單新教材統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 分子對(duì)稱性和點(diǎn)群
- 物業(yè)前臺(tái)崗位職責(zé)6篇
評(píng)論
0/150
提交評(píng)論