![C++程序設(shè)計(jì)課件 基本語(yǔ)言_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/fcb2a781-3353-44dc-9466-cfa5150ffc9a/fcb2a781-3353-44dc-9466-cfa5150ffc9a1.gif)
![C++程序設(shè)計(jì)課件 基本語(yǔ)言_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/fcb2a781-3353-44dc-9466-cfa5150ffc9a/fcb2a781-3353-44dc-9466-cfa5150ffc9a2.gif)
![C++程序設(shè)計(jì)課件 基本語(yǔ)言_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/fcb2a781-3353-44dc-9466-cfa5150ffc9a/fcb2a781-3353-44dc-9466-cfa5150ffc9a3.gif)
![C++程序設(shè)計(jì)課件 基本語(yǔ)言_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/fcb2a781-3353-44dc-9466-cfa5150ffc9a/fcb2a781-3353-44dc-9466-cfa5150ffc9a4.gif)
![C++程序設(shè)計(jì)課件 基本語(yǔ)言_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/fcb2a781-3353-44dc-9466-cfa5150ffc9a/fcb2a781-3353-44dc-9466-cfa5150ffc9a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+C+程序設(shè)計(jì)課件程序設(shè)計(jì)課件基本語(yǔ)言基本語(yǔ)言2先修課程:先修課程:高級(jí)語(yǔ)言程序設(shè)計(jì)(一)高級(jí)語(yǔ)言程序設(shè)計(jì)(一)面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)3參考書(shū):參考書(shū):C+Primer 第三版第三版Stanley B Lippman著著 中文版,潘愛(ài)民中文版,潘愛(ài)民 張麗譯張麗譯中國(guó)電力出版社中國(guó)電力出版社C+大學(xué)教程大學(xué)教程 第二版第二版 Harvey M. Deitel著著邱仲潘等譯,電子工業(yè)出版社邱仲潘等譯,電子工業(yè)出版社C#大學(xué)教程大學(xué)教程Harvey M. Deitel等著等著電子工業(yè)出版社電子工業(yè)出版社4課時(shí):課時(shí):1818學(xué)時(shí)(學(xué)時(shí)(1 11010周)周)語(yǔ)言平臺(tái):語(yǔ)言平臺(tái):C+C+Micr
2、osoft Visual C+ 7.0 Microsoft Visual C+ 7.0 或或 Microsoft Visual Studio .NetMicrosoft Visual Studio .Net ConsoleConsole模式模式C#C#Microsoft Visual Studio .NetMicrosoft Visual Studio .Net5 作業(yè)命名方式:作業(yè)命名方式:假如學(xué)號(hào)為假如學(xué)號(hào)為3906010139060101的同學(xué)想提交第一次作的同學(xué)想提交第一次作業(yè),則需要將源程序文件命名為:業(yè),則需要將源程序文件命名為:39060101C1.cpp39060101C1.c
3、pp或壓縮為:或壓縮為:39060101C1.rar39060101C1.rar作業(yè)提交方式:作業(yè)提交方式:以班為單位發(fā)送到:以班為單位發(fā)送到: 作業(yè)要求:作業(yè)要求:u 嚴(yán)禁抄襲!嚴(yán)禁抄襲!u 必須寫(xiě)注釋語(yǔ)句!必須寫(xiě)注釋語(yǔ)句!6第一章第一章C+C+基本語(yǔ)言基本語(yǔ)言71.1 1.1 注釋注釋C+中有兩種注釋符號(hào):中有兩種注釋符號(hào):n一種是注釋對(duì)一種是注釋對(duì)/* */ ,可以跨越多行程序。,可以跨越多行程序。n第二種注釋符是雙斜線第二種注釋符是雙斜線“/” ,以以“/”開(kāi)始,到行末結(jié)束。開(kāi)始,到行末結(jié)束。8注釋注釋例:例:/increment numnum+;num+; /increment nu
4、m91.2 1.2 頭文件頭文件新式標(biāo)準(zhǔn)庫(kù)頭文件不再使用擴(kuò)展名新式標(biāo)準(zhǔn)庫(kù)頭文件不再使用擴(kuò)展名.h.h自定義頭文件應(yīng)使用擴(kuò)展名自定義頭文件應(yīng)使用擴(kuò)展名.h.h舊式舊式stdio.hstdio.hstdlib.hstdlib.hmath.hmath.hstring.hstring.htime.htime.hctype.hctype.h新式新式cstdiocstdiocstdlibcstdlibcmathcmathcstringcstringctimectimecctypecctype舊式舊式limits.hlimits.hfloat.hfloat.h assert.hassert.hiostrea
5、m.hiostream.hfstream.hfstream.hiomanip.hiomanip.h新式新式climitsclimitscfloatcfloatcassertcassertiostreamiostreamfstreamfstreamiomanipiomanip101.3 1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/ /輸出初步輸出初步C C語(yǔ)言中:語(yǔ)言中:#include #include printf(“%d %s n”,num,str);printf(“%d %s n”,num,str);11標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出初步輸出初步C+C+的輸入的輸入/ /輸出功能由輸入輸出功能由輸入/ /輸出流庫(kù)
6、輸出流庫(kù)iostreamiostream提供:提供:#include #include 終端輸入終端輸入, ,也被稱為標(biāo)準(zhǔn)輸入也被稱為標(biāo)準(zhǔn)輸入, , 與預(yù)定義的與預(yù)定義的iostream iostream 對(duì)象對(duì)象cincin綁定在一起綁定在一起. . 終端輸出終端輸出, ,也被稱為標(biāo)準(zhǔn)輸出也被稱為標(biāo)準(zhǔn)輸出, , 與預(yù)定義的與預(yù)定義的iostreamiostream對(duì)象對(duì)象coutcout綁定在一起綁定在一起輸入操作符輸入操作符 輸出操作符輸出操作符 cin 變量名;變量名;cout cout 變量名變量名 | | 表達(dá)式表達(dá)式 | | 常量常量 ;注意:輸入注意:輸入/ /輸出操作符可以連用
7、輸出操作符可以連用13標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/ /輸出初步輸出初步例:例:int v1, v2int v1, v2;/ ./ .cout “The sum of v1 + v2 = ”cout “The sum of v1 + v2 = ”;cout v1 + v2cout v1 + v2;cout ncout n;cout The sum of v1 + v2 = v1 + v2 ncout The sum of v1 + v2 = v1 + v2 n; 連用連用14標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出初步輸出初步cout The sum of v1 + v2 = v1 + v2 ncout The sum o
8、f v1 + v2 = v1 + v2 n; 預(yù)定義的預(yù)定義的iostream iostream 操縱符操縱符endlendl在輸出流中插入一個(gè)換行符,在輸出流中插入一個(gè)換行符,然后刷新輸出緩沖區(qū),然后刷新輸出緩沖區(qū),c+c+中一般不寫(xiě)中一般不寫(xiě) n, n, 而寫(xiě)成:而寫(xiě)成:cout “The sum of v1 + v2 = ” v1 + v2 endlcout “The sum of v1 + v2 = ” v1 + v2 endl;為了便于閱讀,連接在一起的輸出操作符可以分寫(xiě)在幾行:為了便于閱讀,連接在一起的輸出操作符可以分寫(xiě)在幾行:cout The sum of cout The su
9、m of v1 + v1 + v2 “ = ” v1 + v2 endl v2 “ = ” v1 + v2 用來(lái)從標(biāo)準(zhǔn)輸入讀入一個(gè)值,例如:用來(lái)從標(biāo)準(zhǔn)輸入讀入一個(gè)值,例如:char ifile100, ofile100;char ifile100, ofile100;/ ./ .cout Please enter input and output file names: ;cout ifile ofilecin ifile ofile;有兩種方法輸入連續(xù)的數(shù)據(jù):有兩種方法輸入連續(xù)的數(shù)據(jù):每行只輸入一個(gè)數(shù)據(jù),以換行符結(jié)束一個(gè)數(shù)據(jù)的輸入;每行只輸入一個(gè)數(shù)據(jù),以換行符結(jié)束一個(gè)數(shù)據(jù)的輸入;一行輸入多個(gè)
10、數(shù)據(jù),以空格符分隔多個(gè)數(shù)據(jù),以換行符結(jié)束一行輸入多個(gè)數(shù)據(jù),以空格符分隔多個(gè)數(shù)據(jù),以換行符結(jié)束一行數(shù)據(jù)的輸入。一行數(shù)據(jù)的輸入。161.4 1.4 名字空間初步名字空間初步:namespace:namespace#include #include void main( )void main( ) char name100;char name100;int age;int age;cout “Please enter name and age:” endl;cout “Please enter name and age:” name agecin name age; Compiling.Compil
11、ing.console.cppconsole.cppconsole.cpp(11) : error C2065: cout : undeclared identifierconsole.cpp(11) : error C2065: cout : undeclared identifierconsole.cpp(11) : error C2065: endl : undeclared identifierconsole.cpp(11) : error C2065: endl : undeclared identifierconsole.cpp(12) : error C2065: cin : u
12、ndeclared identifierconsole.cpp(12) : error C2065: cin : undeclared identifier17名字空間初步名字空間初步IBMIBM庫(kù)的頭文件:庫(kù)的頭文件:stringstringlistliststackstackMicrosoftMicrosoft庫(kù)的頭文件:庫(kù)的頭文件:vectorvectorqueuequeuestackstackvoid main( )void main( ) /使用數(shù)據(jù)類型使用數(shù)據(jù)類型listlist和和queuequeue /包含包含IBMIBM庫(kù)的頭文件庫(kù)的頭文件/包含包含MicrosoftMicr
13、osoft庫(kù)的頭文件庫(kù)的頭文件造成造成stackstack定義沖定義沖突突18名字空間初步名字空間初步IBMIBM庫(kù)的頭文件:庫(kù)的頭文件:namespace ibm namespace ibm string string list list stack stack MicrosoftMicrosoft庫(kù)的頭文件:庫(kù)的頭文件:namespace micro namespace micro vector vector queue queue stack stack void main( )void main( ) /使用數(shù)據(jù)類型使用數(shù)據(jù)類型listlist和和queuequeueibm:ibm:l
14、istlistmicro:micro:queuequeue /包含包含IBMIBM庫(kù)的頭文件庫(kù)的頭文件/包含包含MicrosoftMicrosoft庫(kù)的頭文件庫(kù)的頭文件19為了防止標(biāo)準(zhǔn)為了防止標(biāo)準(zhǔn)C+C+庫(kù)的組件污染用戶程序的全局名字空間庫(kù)的組件污染用戶程序的全局名字空間, ,所所有標(biāo)準(zhǔn)有標(biāo)準(zhǔn)C+C+庫(kù)的組件都聲明在一個(gè)被稱為庫(kù)的組件都聲明在一個(gè)被稱為std std 的名字空間內(nèi)。的名字空間內(nèi)。名字空間初步名字空間初步#include #include void main( )void main( ) char name100char name100;int ageint age;std:st
15、d:cout “Please enter name and age:”cout “Please enter name and age:” name agecin name age; 20名字空間初步名字空間初步#include #include using namespace stdusing namespace std;void main( )void main( ) char name100char name100;int ageint age;cout “Please enter name and age:” endlcout “Please enter name and age:” n
16、ame agecin name age; 使用名字空間:使用名字空間:using namespace using namespace 空間名;空間名;211.5 1.5 數(shù)據(jù)類型數(shù)據(jù)類型枚舉、結(jié)構(gòu)、聯(lián)合:枚舉、結(jié)構(gòu)、聯(lián)合:enum Color red, yellow, blue, green, white, black ;enum Color red, yellow, blue, green, white, black ;struct Employee struct Employee char char * * name; name;int age;int age;double salary;
17、double salary;char char * * address; address;enum Color book;enum Color book;struct Employee wang;struct Employee wang;C+C+中定義的枚舉名、結(jié)構(gòu)名、聯(lián)合名都是數(shù)據(jù)類型名中定義的枚舉名、結(jié)構(gòu)名、聯(lián)合名都是數(shù)據(jù)類型名Color book;Employee wang;22C+C+新增了兩種類型:新增了兩種類型:布爾類型布爾類型類型名:類型名:boolbool,只有兩個(gè)值:,只有兩個(gè)值:truetrue和和falsefalse,一般用作條件判斷。一般用作條件判斷。bool isOk
18、 = falsebool isOk = false;抽象數(shù)據(jù)類型:類類型抽象數(shù)據(jù)類型:類類型 classclass數(shù)據(jù)類型數(shù)據(jù)類型false false 和和true true 能自動(dòng)轉(zhuǎn)能自動(dòng)轉(zhuǎn)換成整數(shù)值換成整數(shù)值0 0 和和1 10 0 或空指針被轉(zhuǎn)換成或空指針被轉(zhuǎn)換成false, false, 所有其他的值都所有其他的值都被轉(zhuǎn)換成被轉(zhuǎn)換成true true 23#include main()char str20;str=hello;printf(%s,str);24對(duì)于每一個(gè)變量都有兩個(gè)值與其相關(guān)聯(lián):對(duì)于每一個(gè)變量都有兩個(gè)值與其相關(guān)聯(lián):1.1.它的它的數(shù)據(jù)值數(shù)據(jù)值,存儲(chǔ)在某個(gè)內(nèi)存地址中,有
19、時(shí)這個(gè)值也被,存儲(chǔ)在某個(gè)內(nèi)存地址中,有時(shí)這個(gè)值也被稱為對(duì)象的稱為對(duì)象的右值右值rvaluervalue,我們也可認(rèn)為右值的意思是,我們也可認(rèn)為右值的意思是被讀取的值被讀取的值read valueread value ,常量和變量都可被用作右值。,常量和變量都可被用作右值。2.2.它的它的地址值地址值即存儲(chǔ)數(shù)據(jù)值的那塊內(nèi)存的地址,即存儲(chǔ)數(shù)據(jù)值的那塊內(nèi)存的地址,它有時(shí)被稱為變量的它有時(shí)被稱為變量的左值左值lvaluelvalue,我們也可認(rèn)為左值的意思是,我們也可認(rèn)為左值的意思是位置值位置值location valuelocation value, 常量不能被用作左值。常量不能被用作左值。變量的左
20、值與右值:變量的左值與右值:int a = 8;int a = 8;cout a “hello”;cout a “hello”;8a ahello25在下面的表達(dá)式中在下面的表達(dá)式中char chchar ch;ch = ch Och = ch O;變量的左值與右值:變量的左值與右值:變量變量ch ch 同時(shí)出現(xiàn)在賦值操作符的左邊和右邊。同時(shí)出現(xiàn)在賦值操作符的左邊和右邊。在表達(dá)式的右邊在表達(dá)式的右邊ch ch 和文字字符常量用作右值,在左邊和文字字符常量用作右值,在左邊chch用作用作左值。左值。一般地,賦值操作符的左邊總是要求一個(gè)左值,一般地,賦值操作符的左邊總是要求一個(gè)左值,例:例:0 =
21、 1;0 = 1;ch + 1 = ch 0;ch + 1 = ch 0;/ / 錯(cuò)誤錯(cuò)誤: : 文字常量不具有左值文字常量不具有左值/ / 錯(cuò)誤錯(cuò)誤: : 算術(shù)表達(dá)式不具有左值算術(shù)表達(dá)式不具有左值數(shù)組名是一常量數(shù)組名是一常量,代表數(shù)組的首地址,因此,代表數(shù)組的首地址,因此不具有左值不具有左值。26變量定義的位置:變量定義的位置:在在C C中,變量的定義并不被視為中,變量的定義并不被視為C C語(yǔ)言的語(yǔ)句,塊中的所有語(yǔ)言的語(yǔ)句,塊中的所有變量定義必須出現(xiàn)在任何程序語(yǔ)句之前。變量定義必須出現(xiàn)在任何程序語(yǔ)句之前。在在C+C+中,變量定義被視為中,變量定義被視為C+C+語(yǔ)言的一條語(yǔ)句,語(yǔ)言的一條語(yǔ)句,
22、一般它可以被放在程序中任何允許語(yǔ)句出現(xiàn)的地方。一般它可以被放在程序中任何允許語(yǔ)句出現(xiàn)的地方。main( ) char infile100; char outfile100; FILE * f1, *f2; scanf(“%s”, infile); if(f1=fopen(infile, “r”)=NULL)printf(“cant open n”);return 1; main( ) char infile100; FILE * f1; scanf(“%s”, infile); if(f1=fopen(infile, “r”)=NULL)printf(“cant open n”);return
23、 1; char outfile100; FILE * f2; 27C+語(yǔ)言預(yù)定義了字符串類型:語(yǔ)言預(yù)定義了字符串類型:string類,類,該類提供了各種字符串操作:該類提供了各種字符串操作:操作操作示例示例注釋注釋+s+t將串將串s和和t連接成一個(gè)新串連接成一個(gè)新串=s=t用用t更新更新s+=s+=t等價(jià)于等價(jià)于s=s+t=s=t判斷判斷s與與t是否相同是否相同st判斷判斷s是否小于是否小于t si訪問(wèn)串中下標(biāo)為訪問(wèn)串中下標(biāo)為i的字符的字符length() s.length() 返回串的長(zhǎng)度返回串的長(zhǎng)度28使用預(yù)定義類型使用預(yù)定義類型string,必須包含頭文件:,必須包含頭文件:,例:,例
24、:#include #include using namespace std;int main()string s1=your name;string name;coutPlease inputs1:name;if(name!=)s1+= is ;s1+=name;couts1;return 0;291.6 1.6 動(dòng)態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ)系統(tǒng)為每個(gè)程序都提供了一個(gè)在程序執(zhí)行時(shí)可用的內(nèi)存池,系統(tǒng)為每個(gè)程序都提供了一個(gè)在程序執(zhí)行時(shí)可用的內(nèi)存池,這個(gè)可用內(nèi)存池被稱為程序的這個(gè)可用內(nèi)存池被稱為程序的空閑存儲(chǔ)區(qū)或堆空閑存儲(chǔ)區(qū)或堆(heapheap),),運(yùn)行時(shí)刻的內(nèi)存分配被稱為運(yùn)行時(shí)刻的內(nèi)存分配被稱為動(dòng)態(tài)內(nèi)存
25、分配動(dòng)態(tài)內(nèi)存分配C C中:中:int int * *pi;pi;pi = (int pi = (int * *) malloc( sizeof(int) );) malloc( sizeof(int) );free(pi);free(pi);30動(dòng)態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ):new delete:new deletetype *p;p = new type;delete p;type *p;p = new type();delete p;type type * *p;p;p = new typesp = new types常量常量11常量常量2;2;delete p;delete p;初始化值:初始化值:
26、常量、變量、常量、變量、表達(dá)式表達(dá)式多維數(shù)組:第一維的多維數(shù)組:第一維的個(gè)數(shù)個(gè)數(shù)s s可以是常量、可以是常量、變量、表達(dá)式,其它變量、表達(dá)式,其它維為常量,且都不能維為常量,且都不能省略省略格式:格式:typetype可以可以是任何類是任何類型型deletedelete刪除的指刪除的指針必須是針必須是newnew分配分配的的31動(dòng)態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ):new delete:new delete例:例:int *p;p = new int;*p = 10;delete p;int *p;p = new int(5);*p = 10;delete p;char *p;int num;p = new charnum;delete p;32動(dòng)態(tài)存儲(chǔ)動(dòng)態(tài)存儲(chǔ):new delete:new delete例:例:int *
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室翻新與餐飲店改造設(shè)計(jì)施工合同
- 二零二五年度城市公共安全報(bào)警系統(tǒng)電路升級(jí)改造合同
- 提取公積金借款合同
- 銷售抵押合同
- 電商零售平臺(tái)開(kāi)發(fā)合同
- 個(gè)人理財(cái)指南
- 農(nóng)產(chǎn)品公共檢測(cè)與溯源體系建設(shè)作業(yè)指導(dǎo)書(shū)
- 質(zhì)量管理工具與方法應(yīng)用作業(yè)指導(dǎo)書(shū)
- 平面設(shè)計(jì)聘用合同
- 2025年廣西貨運(yùn)考試題目
- 長(zhǎng)江委水文局2025年校園招聘17人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學(xué)院公開(kāi)招聘15人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 不可切除肺癌放療聯(lián)合免疫治療專家共識(shí)(2024年版)j解讀
- DB23/T 3657-2023醫(yī)養(yǎng)結(jié)合機(jī)構(gòu)服務(wù)質(zhì)量評(píng)價(jià)規(guī)范
- 教科版科學(xué)六年級(jí)下冊(cè)14《設(shè)計(jì)塔臺(tái)模型》課件
- 智研咨詢發(fā)布:2024年中國(guó)MVR蒸汽機(jī)械行業(yè)市場(chǎng)全景調(diào)查及投資前景預(yù)測(cè)報(bào)告
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對(duì)法》及其應(yīng)用案例
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 煙花爆竹重大危險(xiǎn)源辨識(shí)AQ 4131-2023知識(shí)培訓(xùn)
- 企業(yè)動(dòng)火作業(yè)安全管理制度范文
評(píng)論
0/150
提交評(píng)論