版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1進(jìn)入C++注意:大小寫敏感cout與COUTCOutCout是互不相同的幾個(gè)標(biāo)志符程序2.1myfirst.cpp//myfirst.cpp--displaysamessage#include<iostream>//aPREPROCESSORdirectiveintmain()//functionheader{//startoffunctionbody usingnamespacestd;//makedefinitionsvisiblecout<<"ComeupandC++mesometime.";//messagecout<<endl;//startanewlinecout<<"Youwon'tregretit!"<<endl;//moreoutputreturn0;//terminatemain()}//endoffunctionbody1第2章開(kāi)始學(xué)習(xí)C++2.1.1main()函數(shù)見(jiàn)14頁(yè)圖2.1函數(shù)頭intmain()返回類型:描述從函數(shù)返回給調(diào)用它的函數(shù)的信息函數(shù)名:函數(shù)名字形參列表:從調(diào)用函數(shù)傳遞給被調(diào)用函數(shù)的信息通常被啟動(dòng)代碼調(diào)用,啟動(dòng)代碼是由編譯器添加到程序中的,程序和操作系統(tǒng)的橋梁,此處描述了程序和操作系統(tǒng)之間的接口
main():默認(rèn)返回int,C++不提倡,有些編譯器不支持;intmain(void)void表明不接受任何參數(shù),在C++中,()與(void)等效;voidmain(),不返回值,但有些系統(tǒng)不能工作,要避免使用這種形式。如果main函數(shù)末尾沒(méi)有寫return語(yǔ)句,則默認(rèn)包含了return0;C++必須包含一個(gè)main()函數(shù)2第2章開(kāi)始學(xué)習(xí)C++2.1.2C++注釋//,為程序員提供說(shuō)明,編譯器忽略提倡使用注釋來(lái)對(duì)程序作說(shuō)明,程序越復(fù)雜,注釋的價(jià)值越大,不僅有助于他人理解,也有足于自己隔了一段時(shí)間之后對(duì)程序的理解/**/3第2章開(kāi)始學(xué)習(xí)C++2.1.3C++預(yù)處理器和iostream文件#inlcude<iostream>,該編譯指令導(dǎo)致預(yù)處理器將iostream文件的內(nèi)容添加到程序中。Iostream文件提供了程序與外界的通信。Io指輸入輸出。#inlcude編譯指令導(dǎo)致iostream文件的內(nèi)容隨源代碼發(fā)送給編譯器,iostream文件的內(nèi)容將取代程序中的代碼行#inlcude<iostream>。使用cin輸入,使用cout輸出,則程序必須包含iostream文件(或iostream.h)4第2章開(kāi)始學(xué)習(xí)C++2.1.4頭文件名Iostream這樣的包含文件也叫頭文件。C++對(duì)老式的C頭文件保留擴(kuò)展名.h,而C++頭文件沒(méi)有擴(kuò)展名。有些C頭文件被轉(zhuǎn)換為C++頭文件,去掉.h,在開(kāi)始加上C,例如math.h變?yōu)閏math。頭文件命名約定如表2.1,17頁(yè)。C++頭文件可以包含名稱空間5第2章開(kāi)始學(xué)習(xí)C++2.1.5名稱空間Usingnamespacestd;叫做using編譯指令名稱空間是為了使編寫江多個(gè)廠商已有的代碼組合起來(lái)的程序更簡(jiǎn)單而設(shè)計(jì)的。類,函數(shù)和變量是C++的標(biāo)準(zhǔn)組件,都被放置在名稱空間中,如std::cout和coutUsingnamespacestd;使得std名稱空間中的所有名稱都可用,也可通過(guò)using聲明來(lái)做,如usingstd::cout;6第2章開(kāi)始學(xué)習(xí)C++2.1.6使用cout進(jìn)行C++輸出Cout<<“comeup”;””表示要打印的消息,是字符串信息;<<插入操作符,表示該語(yǔ)句把這個(gè)字符串發(fā)送給cout;cout是什么呢?是一個(gè)預(yù)定義對(duì)象,它知道如何正確顯示各種類型的數(shù)據(jù)。如圖2.2,18頁(yè)<<的不同含義,編譯器通過(guò)不同的上下文來(lái)確定操作符的含義,就是一個(gè)操作符重載的例子??刂品鹐ndl:定義于iostream中,位于std,重起一行\(zhòng)n換行符,如果輸出字符串,通常使用這種方式。其他情況則使用endl7第2章開(kāi)始學(xué)習(xí)C++2.1.7C++源代碼的格式化分號(hào)表示語(yǔ)句的結(jié)束,可以每條語(yǔ)句一行,也可以多條語(yǔ)句一行不能把空格、制表符、回車放在元素中間,也不能把回車符放在字符串中間標(biāo)記和空白:一行代碼中不可分割的元素叫做標(biāo)記??崭?、制表符、回車叫做空白,通常要用空白將兩個(gè)標(biāo)記分開(kāi),但有些字符不需要空白分開(kāi),如函數(shù)名與()。圖2.38第2章開(kāi)始學(xué)習(xí)C++C++源代碼風(fēng)格每行一條語(yǔ)句每個(gè)函數(shù)都有一個(gè)開(kāi)始{和一個(gè)結(jié)束},各占一行函數(shù)中的語(yǔ)句相對(duì){進(jìn)行縮進(jìn)與函數(shù)名稱相關(guān)的()周圍沒(méi)有空白9第2章開(kāi)始學(xué)習(xí)C++2.2C++語(yǔ)句程序2.2carrot.cpp//carrots.cpp--foodprocessingprogram//usesanddisplaysavariable#include<iostream>intmain(){ usingnamespacestd;
intcarrots; //declareanintegervariable
carrots=25; //assignavaluetothevariable cout<<"Ihave"; cout<<carrots; //displaythevalueofthevariable cout<<"carrots."; cout<<endl; carrots=carrots-1; //modifythevariable cout<<"Crunch,crunch.NowIhave"<<carrots<<"carrots."<<endl; return0;}10第2章開(kāi)始學(xué)習(xí)C++2.2.1聲明語(yǔ)句和變量存儲(chǔ)信息在計(jì)算機(jī)中,必須指出信息存放位置和所需的空間。Intcarrots;表示分配一個(gè)空間用來(lái)存放一個(gè)整數(shù),名稱carrots標(biāo)志存儲(chǔ)在該內(nèi)存單元中的值,carrots稱為變量,他的值可以被修改。C++中所有變量都必須聲明。強(qiáng)制聲明,可以幫助提前發(fā)現(xiàn)錯(cuò)誤。如圖2.4此種叫做定義聲明。他將導(dǎo)致編譯器為變量分配內(nèi)存空間。還有一類聲明叫做引用聲明,不引起內(nèi)存分配。C++聲明可以放在使用前的任何地方。11第2章開(kāi)始學(xué)習(xí)C++2.2.2賦值語(yǔ)句Carrots=25;可以連續(xù)使用,a=b=c=d=23;也可以Carrots=Carrots-1;表示計(jì)算機(jī)使用Carrots-1得到一個(gè)新值,然后放到Carrots對(duì)應(yīng)的內(nèi)存單元12第2章開(kāi)始學(xué)習(xí)C++2.2.3cout的新花樣Cout<<Carrots;打印非字符串可以和c的printf()進(jìn)行對(duì)比13第2章開(kāi)始學(xué)習(xí)C++2.3其他C++語(yǔ)句程序2.3getinfo.cpp//getinfo.cpp--inputandoutput#include<iostream>intmain(){ usingnamespacestd;
intcarrots;
cout<<"Howmanycarrotsdoyouhave?"<<endl; cin>>carrots;//C++input cout<<"Herearetwomore."; carrots=carrots+2;//thenextlineconcatenatesoutput cout<<"Nowyouhave"<<carrots<<"carrots."<<endl; return0;}14第2章開(kāi)始學(xué)習(xí)C++2.3.1使用cinCin>>carrots;和cout相似,cin也是一個(gè)智能對(duì)象,將接受到的字符串轉(zhuǎn)換為需要的數(shù)據(jù)類型15第2章開(kāi)始學(xué)習(xí)C++2.3.2使用cout進(jìn)行拼接Cout<<“”<<“”<<carrots<<“”<<endl;16第2章開(kāi)始學(xué)習(xí)C++2.3.3類簡(jiǎn)介類是用戶定義的一種數(shù)據(jù)類型,定義類需要描述他能夠表示什么信息和可對(duì)數(shù)據(jù)執(zhí)行哪些操作。類與對(duì)象就像類型和變量之間的關(guān)系。類描述了一種數(shù)據(jù)類型的全部屬性,對(duì)象是根據(jù)這些描述創(chuàng)建的實(shí)體.類可以自定義,也可以來(lái)自類庫(kù)。如ostream和istream,定義與iostream文件中.C++提供了兩種發(fā)送消息的方法,一種是使用類方法,一種是重定義操作符。Cin.get()cin>>carrots表示兩種調(diào)用方式。如圖2.517第2章開(kāi)始學(xué)習(xí)C++2.4函數(shù)函數(shù)用于創(chuàng)建c++的模塊。函數(shù)分為兩種:有返回值和沒(méi)有返回值的??梢允褂脦?kù)函數(shù),也可以自定義。18第2章開(kāi)始學(xué)習(xí)C++2.4.1使用有返回值的函數(shù)程序2.4sqrt.cpp//sqrt.cpp--usethesqrt()function#include<iostream>#include<cmath>//ormath.hintmain(){ usingnamespacestd;
doublearea; cout<<"Enterthefloorarea,insquarefeet,ofyourhome:"; cin>>area; doubleside; side=sqrt(area); cout<<"That'stheequivalentofasquare"<<side <<"feettotheside."<<endl; cout<<"Howfascinating!"<<endl; return0;}19第2章開(kāi)始學(xué)習(xí)C++2.4.1使用有返回值的函數(shù)函數(shù)生成一個(gè)可賦給變量的值函數(shù)調(diào)用如圖2.6,26頁(yè)X=sqrt(6.25),()中的值時(shí)發(fā)送給函數(shù)的信息,叫做實(shí)參值使用函數(shù)前,編譯器必須知道函數(shù)的參數(shù)類型和返回值類型。C++提供這種信息的方式是使用函數(shù)原型語(yǔ)句。Doublesqrt(double);函數(shù)原型對(duì)于函數(shù)就像變量聲明對(duì)于變量。這里在函數(shù)頭文件里定義了原型。注意區(qū)分函數(shù)原型和函數(shù)定義!創(chuàng)建變量的同時(shí)賦值叫做初始化,28頁(yè)20第2章開(kāi)始學(xué)習(xí)C++2.4.2函數(shù)變體多個(gè)參數(shù)的函數(shù):函數(shù)的多個(gè)參數(shù)間用逗號(hào)分開(kāi);不接受任何參數(shù)的函數(shù):函數(shù)調(diào)用必須包括(),即使沒(méi)有參數(shù);沒(méi)有返回值void。沒(méi)有返回值的函數(shù)不能放在賦值語(yǔ)句或其他表達(dá)式中,舉例說(shuō)明。21第2章開(kāi)始學(xué)習(xí)C++2.4.3用戶定義的函數(shù)程序2.5outfunc.cpp//ourfunc.cpp--definingyourownfunction#include<iostream>voidsimon(int);//functionprototypeforsimon()intmain(){usingnamespacestd;simon(3);//callthesimon()functioncout<<"Pickaninteger:";intcount;cin>>count;simon(count);//callitagaincout<<"Done!"<<endl;return0;}voidsimon(intn)//definethesimon()function{usingnamespacestd;cout<<"Simonsaystouchyourtoes"<<n<<"times."<<endl;}//voidfunctionsdon'tneedreturnstatements
22第2章開(kāi)始學(xué)習(xí)C++2.4.3用戶定義的函數(shù)使用方法和庫(kù)函數(shù)相同,必須提供原型,定義和調(diào)用。聲明一般放在main前,定義放在main函數(shù)之后(為了突出main函數(shù),突出程序的結(jié)構(gòu)),注意函數(shù)不能嵌套定義,一個(gè)函數(shù)不能包含另一個(gè)函數(shù)的定義。定義如圖2.8需要知道函數(shù)格式和函數(shù)圖23第2章開(kāi)始學(xué)習(xí)C++關(guān)鍵字c++專用,不能用作它用的詞匯,例如return是一個(gè)關(guān)鍵字,不能將return用作一個(gè)變量名。ReturnreturnValue就不是關(guān)鍵字。關(guān)鍵字不用做變量名,函數(shù)名等24第2章開(kāi)始學(xué)習(xí)C++2.4.3用戶定義的函數(shù)//ourfunc.cpp--definingyourownfunction#include<iostream>voidsimon(int);//functionprototypeforsimon()intmain(){usingnamespacestd;simon(3);//callthesimon()functioncout<<"Pickaninteger:";intcount;cin>>count;simon(count);//callitagaincout<<"Done!"<<endl;return0;}voidsimon(intn)//definethesimon()function{usingnamespacestd;cout<<"Simonsaystouchyourtoes"<<n<<"times."<<endl;}//voidfunctionsdon'tneedreturnstatements25第2章開(kāi)始學(xué)習(xí)C++2.4.4用戶定義的有返回值的函數(shù)程序2.6convert.cpp//convert.cpp--convertsstonetopounds#include<iostream>intstonetolb(int);//functionprototypeintmain(){usingnamespacestd;intstone;cout<<"Ente
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村旱地合同(2篇)
- Unit3Sport and Fitness(詞匯短語(yǔ)句式)-2025屆高三人教版英語(yǔ)一輪復(fù)習(xí)闖關(guān)攻略(解析版)
- 2021-2026年中國(guó)天然植物殺蟲劑市場(chǎng)深度分析及投資戰(zhàn)略咨詢報(bào)告
- 2025陽(yáng)泉市豆類種植收購(gòu)合同
- 2024年度天津市公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師能力測(cè)試試卷B卷附答案
- 2024年度天津市公共營(yíng)養(yǎng)師之三級(jí)營(yíng)養(yǎng)師強(qiáng)化訓(xùn)練試卷B卷附答案
- 2024年度四川省公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師每日一練試卷B卷含答案
- 中國(guó)魚豆腐行業(yè)市場(chǎng)調(diào)查研究報(bào)告
- 2020-2025年中國(guó)注射用鹽酸頭孢替安市場(chǎng)前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 2025年純棉紗卡項(xiàng)目可行性研究報(bào)告
- 東方電影學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人教版四年級(jí)上冊(cè)數(shù)學(xué)數(shù)學(xué)復(fù)習(xí)資料
- 安徽省安慶市迎江區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- SB/T 10439-2007醬腌菜
- 超外差調(diào)幅收音機(jī)課設(shè)報(bào)告——內(nèi)蒙古工業(yè)大學(xué)
- 3.2熔化和凝固-人教版八年級(jí)上冊(cè)課件(21張PPT)pptx
- 2017衢州新城吾悅廣場(chǎng)開(kāi)業(yè)安保方案
- 名師工作室考核評(píng)價(jià)表.doc
- 公司宣傳品管理辦法1
- 人教版(PEP)小學(xué)英語(yǔ)六年級(jí)上冊(cè)各單元知識(shí)點(diǎn)歸納(三年級(jí)起點(diǎn))
- 工作分析案例
評(píng)論
0/150
提交評(píng)論