版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
工程二任務(wù)一熟悉C++與C在根本控制上的一些區(qū)別任務(wù)二
學(xué)習(xí)有關(guān)函數(shù)方面的區(qū)別任務(wù)三
掌握C++中關(guān)于引用的靈活運(yùn)用任務(wù)四
掌握C++中管理動態(tài)內(nèi)存空間的方法由C到C++用法更靈活、功能更強(qiáng)大任務(wù)說明預(yù)備知識任務(wù)一熟悉C++與C在根本控制上的一些區(qū)別在本任務(wù)中我們來學(xué)習(xí)C++與C在根本控制上的一些區(qū)別,主要包括輸入/輸出的實(shí)現(xiàn)、強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換方式以及新增了bool類型。一、用I/O流實(shí)現(xiàn)輸入/輸出二、新增強(qiáng)制類型轉(zhuǎn)換方式三、新增bool類型一、用I/O流實(shí)現(xiàn)輸入/輸出cin是輸入流對象,cout是輸出流對象,它們是在編譯系統(tǒng)中的輸入/輸出流庫中定義的,定義后系統(tǒng)會在內(nèi)存中開辟一段緩沖區(qū),用來暫存輸入/輸出流的數(shù)據(jù)。使用它們時必須將頭文件“iostream.h”參加到本文件中,即在程序的開頭使用預(yù)處理命令“#include<iostream.h>”。〔一〕輸入語句輸入語句的一般格式為:cin>>表達(dá)式1>>表達(dá)式2>>……>>表達(dá)式n;
在使用cin語句時,通過鍵盤輸入的數(shù)據(jù)應(yīng)與變量定義的數(shù)據(jù)類型一致,并且輸入數(shù)據(jù)的個數(shù)應(yīng)與變量的個數(shù)相同。輸入完數(shù)據(jù)后鍵入回車,流提取操作符“>>”便從輸入流中提取出由空格、制表符和換行符間隔開的數(shù)據(jù)賦給相應(yīng)的變量?!捕齿敵稣Z句輸出語句的一般格式為:cout<<表達(dá)式1<<表達(dá)式2<<……<<表達(dá)式n<<endl;endl是C++中行結(jié)束符,只能用于輸出流中,其作用是在執(zhí)行換行操作的同時,將緩沖區(qū)內(nèi)已有的數(shù)據(jù)全部輸出,并清空緩沖區(qū)。〔三〕輸入/輸出的格式控制常用的輸入/輸出流格式控制符如表所示。二、新增強(qiáng)制類型轉(zhuǎn)換方式強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型的一般形式為:〔類型名〕變量和〔類型名〕〔表達(dá)式〕也可以寫成類型名〔變量〕和類型名〔表達(dá)式〕
例如,下面將變量a強(qiáng)制轉(zhuǎn)換成int型,將m與n的和強(qiáng)制轉(zhuǎn)換成double型,將8與3取余的結(jié)果強(qiáng)制轉(zhuǎn)換成char型。int(a)double(m+n)char(8%3)
當(dāng)進(jìn)行強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換的對象是一個包含多項(xiàng)的表達(dá)式時,必須將表達(dá)式用括號括起。例如,將7/4的結(jié)果強(qiáng)制轉(zhuǎn)換成double型,應(yīng)該寫成double(7/4)
此時由于7和4均為整型,故7/4的結(jié)果為整型1,強(qiáng)制轉(zhuǎn)換為雙精度型數(shù)據(jù)后,結(jié)果仍為1,而寫成(double)7/4那么表示將7的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為double型,再與4求商,結(jié)果是雙精度型數(shù)據(jù)1.75。三、新增bool類型bool〔布爾型,也稱邏輯型〕只有兩個值,即整數(shù)0〔表示邏輯假〕和1〔表示邏輯真〕。在C++語言中還定義了這兩個布爾型常量所對應(yīng)的符號常量false和true,false的值為0,表示邏輯假,true的值為1,表示邏輯真。
由于邏輯值是整數(shù)0和1,所以它也能夠像其他整數(shù)一樣出現(xiàn)在表達(dá)式里,參與各種整數(shù)運(yùn)算。【例2-3】布爾常量應(yīng)用例如。#include<iostream>usingnamespacestd;intmain(){cout<<"布爾類型的符號常量true對應(yīng)的邏輯值是:"<<true<<endl;cout<<"布爾類型的符號常量false對應(yīng)的邏輯值是:"<<false<<endl;return0;}程序運(yùn)行結(jié)果如下圖。任務(wù)實(shí)施——輸出楊輝三角案例說明楊輝三角是一個由數(shù)字排列成的三角形數(shù)表,如下圖。它描述的是兩個未知數(shù)和的冪次方運(yùn)算后的系數(shù)問題。例如,(x+y)2=x2+2xy+y2,這樣系數(shù)就是{1,2,1},這就是楊輝三角的其中一行。依次下去,(x+y)3、(x+y)4等的運(yùn)算結(jié)果的各項(xiàng)系數(shù)就構(gòu)成了楊輝三角的其他各行。編寫程序,根據(jù)輸入的行數(shù)〔小于14〕輸出楊輝三角。案例分析楊輝三角每行的數(shù)字是有一定規(guī)律的:每一行數(shù)字的個數(shù)等于所在的行數(shù),每行的第一個數(shù)字均為1,其后數(shù)字為:前面數(shù)字×〔數(shù)字所在行號〔自1起〕-數(shù)字所在行中的序號〔自0起〕〕/數(shù)字所在行中的序號。為了使輸出的數(shù)字排列成如下圖的金字塔形狀,需控制各行數(shù)字之間空格的個數(shù)。每行第一個數(shù)字之前空格的個數(shù)依次遞減2,兩個數(shù)字之間的空格個數(shù)有三種情況:如果輸出的數(shù)字是一個一位數(shù),那么在該數(shù)字后輸出3個空格;如果輸出的數(shù)字是一個兩位數(shù),那么在該數(shù)字后輸出2個空格;如果輸出的數(shù)字是一個三位數(shù),那么在該數(shù)字后輸出1個空格。根據(jù)以上規(guī)律,我們可以利用循環(huán)嵌套結(jié)構(gòu)逐行逐個輸出數(shù)字和空格。由于確定了行數(shù),循環(huán)的次數(shù)也就跟著確定了,故我們使用的是for循環(huán)。實(shí)施步驟步驟1在VisualC++中新建一個C++源文件,根據(jù)分析編寫代碼如下:#include<iostream.h>voidmain(){intn,r,c,m,j=0;cout<<"請輸入行數(shù)〔小于14〕:";cin>>m;while(m>=14) //如果連續(xù)三次輸入的數(shù)字不符合要求,那么退出程序{if(j>=2){cout<<"你的錯誤輸入已達(dá)3次,你無權(quán)再輸入!"<<endl;return;}cout<<"你輸入的行數(shù)超出范圍,請重新輸入!"<<endl;cout<<"請輸入行數(shù)〔小于14〕:";cin>>m;j++; //累計(jì)輸入次數(shù)}for(n=0;n<=m-1;n++) //逐行輸出數(shù)字和空格{for(r=1;r<15-n;r++) /*輸出第一個數(shù)字之前的空格,為了打印出金
字塔形狀,要保證各行依次遞減2個空格*/cout<<"";c=1; //第一個數(shù)字總為1cout<<c<<""; //輸出第一個數(shù)字以及3個空格for(r=1;r<=n;r++) //輸出各行的其他數(shù)字和空格{c=c*(n-r+1)/r; //計(jì)算應(yīng)輸出數(shù)字if(c<100) //根據(jù)數(shù)值大小確定數(shù)字后面的空格個數(shù)if(c<10)cout<<c<<""; //一位數(shù)的后面輸出3個空格elsecout<<c<<""; //兩位數(shù)的后面輸出2個空格elsecout<<c<<""; //三位數(shù)的后面輸出1個空格}cout<<endl;}}步驟2經(jīng)編譯、連接后,程序運(yùn)行結(jié)果如下圖。任務(wù)二
學(xué)習(xí)有關(guān)函數(shù)方面的區(qū)別任務(wù)說明在本任務(wù)中,我們來學(xué)習(xí)C++語言與C語言在函數(shù)語法和使用方面的區(qū)別。預(yù)備知識一、局部變量隨用隨定義二、作用域限定符::擴(kuò)大全局變量的可見范圍三、形式參數(shù)可帶有默認(rèn)值四、內(nèi)聯(lián)函數(shù)在C++中,允許變量定義語句在程序中的任何地方,只要在是使用它之前就可以;而C語言中,必須要在函數(shù)開頭局部。另外,C++允許重復(fù)定義變量,C語言標(biāo)準(zhǔn)中是不允許的。通常情況下,如果全局變量與局部變量同名,局部變量在其作用域內(nèi)具有較高的優(yōu)先權(quán),將會屏蔽全局變量。在C++中,可以通過作用域限定符“::”訪問被屏蔽的全局變量。二、作用域限定符::擴(kuò)大全局變量的可見范圍一、局部變量隨用隨定義【例2-4】
使用作用域限定符::訪問被屏蔽的全局變量。#include<iostream>usingnamespacestd;intv1=80;intmain(){ intv1=8; cout<<"請輸入一個整數(shù):"; cin>>v1; cout<<"\n您輸入的v1值是"<<v1<<endl; cout<<"\n全局變量v1的值是"<<::v1<<endl; return0;}程序運(yùn)行結(jié)果如下圖。三、形式參數(shù)可帶有默認(rèn)值通常情況下,在調(diào)用函數(shù)時要為函數(shù)的每個形參賦予一個相應(yīng)的實(shí)參值。但有時在主調(diào)函數(shù)中沒有給出實(shí)參,或者屢次調(diào)用同一函數(shù)使用同樣的實(shí)參時,給形參設(shè)置一個默認(rèn)值,被調(diào)函數(shù)就可以按指定的默認(rèn)值來執(zhí)行。函數(shù)形參的默認(rèn)值可以在函數(shù)原型的聲明中或函數(shù)定義中指定。例如:floatarea(floatr=2.5);指定r的默認(rèn)值為2.5,在調(diào)用此函數(shù)時可以不必給出實(shí)參的值,即等價(jià)于調(diào)用area(2.5)。如果函數(shù)中有多個形參,可以為每個形參指定一個默認(rèn)值,也可以只對局部形參指定默認(rèn)值,指定默認(rèn)值必須按照從右到左的順序進(jìn)行。即為某個參數(shù)指定默認(rèn)值時,其后的參數(shù)都必須指定默認(rèn)值,否那么已設(shè)默認(rèn)值將被忽略。例如:voidf1(doublea,floatb=2.5,intc=1); //正確voidf2(doublea,floatb=2.5,intc); /*不正確。由于c未指定默認(rèn)值,故b的默認(rèn)值無效*/為函數(shù)中的形參設(shè)置了默認(rèn)值后,實(shí)參的個數(shù)可以與形參的個數(shù)不同。在進(jìn)行函數(shù)調(diào)用時,實(shí)參與形參按照從左到右的順序進(jìn)行匹配,沒有給出實(shí)參的,該形參就取指定的默認(rèn)值。例如:intsum(inta,intb,intc=5,intd=6);在此函數(shù)原型中指定了形參c和d的默認(rèn)值分別為5和6,假設(shè)調(diào)用語句為:sum(3,2,1);那么等價(jià)于執(zhí)行語句:sum(3,2,1,6);四、內(nèi)聯(lián)函數(shù)定義內(nèi)聯(lián)函數(shù)的格式為:inline函數(shù)類型函數(shù)名〔形參列表〕{函數(shù)體};一般只將規(guī)模很小〔一般為5個語句以下〕且使用頻繁的函數(shù)聲明為內(nèi)聯(lián)函數(shù),并且內(nèi)聯(lián)函數(shù)內(nèi)不能包括循環(huán)語句和switch語句?!纠?-6】內(nèi)聯(lián)函數(shù)應(yīng)用例如。#include<iostream.h>inlineintsum(intx,inty,intz);//對函數(shù)sum原型的聲明,聲明為內(nèi)聯(lián)函數(shù)voidmain(){inta,b,c,s;cout<<"pleaseinputa,bandc:";cin>>a>>b>>c;s=sum(a,b,c); //求三個數(shù)的和cout<<"sumis"<<s<<endl;}intsum(intx,inty,intz) //定義內(nèi)聯(lián)函數(shù)sum{returnx+y+z;}程序運(yùn)行結(jié)果如下圖。任務(wù)實(shí)施——漢諾塔問題求解案例說明臺上有3根標(biāo)號為A、B、C的柱子,在A柱子上放著假設(shè)干個盤子,每一個都比下面的略小一些?,F(xiàn)要把A柱子上的盤子全部移到C柱子上,要求是:一次只能移動一個盤子,移動過程中大盤子不能放在小盤子上面。編寫程序,輸入A柱子上盤子的數(shù)量,輸出將盤子從A柱子移動到C柱子上時移動的步驟。案例分析漢諾塔問題是典型的遞歸調(diào)用問題。當(dāng)n=1時,直接將盤子從A移動到C即可。將n〔n>1〕個盤子從A柱移動到C柱可以分為三個步驟:①將n-1個盤子借助C柱子移到B柱子;②將最后一個盤子從A柱子移到C柱子;③將n-1個盤子從B借助A移到C。計(jì)算移動次數(shù)的公式為2m-1,其中m是盤子總數(shù)。實(shí)施步驟步驟1在VisualC++中新建一個C++源文件,根據(jù)分析編寫代碼如下:#include<iostream.h>voidmove(charone,charanoth) //將一個柱子上的盤子移動到另一個柱子{cout<<one<<"→"<<anoth<<endl;}voidhanoi(intn,charno1,charno2,charno3) //求解漢諾塔問題{if(n==1)move(no1,no3); //只有一個盤子時,從A移動到Celse{hanoi(n-1,no1,no3,no2); //將n-1個盤子借助C從A移動到Bmove(no1,no3); //將最后一個盤子從A移動到Chanoi(n-1,no2,no1,no3); //將n-1個盤子借助A從B移動到C}}inttimes(intn) //計(jì)算移動次數(shù){inti,times=1;for(i=1;i<=n;i++)times*=2;returntimes-1;}voidmain(){intm;cout<<"請輸入A柱上的盤子總數(shù):";cin>>m;cout<<"當(dāng)有"<<m<<"個盤子時,移動步驟依次為:"<<endl;hanoi(m,'A','B','C');cout<<"移動次數(shù)為"<<times(m)<<"次"<<endl;}步驟2經(jīng)編譯、連接后,程序運(yùn)行結(jié)果如下圖。任務(wù)三
掌握C++中關(guān)于引用的靈活運(yùn)用任務(wù)說明引用是C++對C的一個重要擴(kuò)充,在本任務(wù)中我們就來學(xué)習(xí)引用。一、引用的概念及使用預(yù)備知識二、引用作為形式參數(shù)三、引用與指針的區(qū)別四、引用作為返回值一、引用的概念及使用引用是指為變量起一個別名,聲明引用型變量的一般形式為:數(shù)據(jù)類型&引用名=變量名;例如,假設(shè)有一個變量a,假設(shè)給它起一個別名b,就可以這樣來聲明:inta;int&b=a; //聲明b是a的引用聲明引用時,b和a表示相同的變量,它們具有相同的地址。換句話說,對b進(jìn)行操作也就是對a進(jìn)行操作。在聲明一個引用型變量時,必須同時對其進(jìn)行初始化。以下語句是不合法的:inta;int&b;b=a;【例2-7】
引用的簡單應(yīng)用。#include<iostream.h>voidmain(){inta=10;int&b=a; //聲明b是a的引用a=a*a;cout<<a<<""<<b<<endl;b=b/2;cout<<b<<""<<a<<endl;}程序運(yùn)行結(jié)果如下圖。二、引用作為形式參數(shù)在C語言中我們已經(jīng)學(xué)了函數(shù)參數(shù)傳遞的兩種方式:值傳遞和地址傳遞。將引用作為函數(shù)的參數(shù)時,參數(shù)的傳遞方式為引用傳遞。引用傳遞實(shí)際上傳遞的是變量的地址,這種方式節(jié)省了大量存儲空間,從而能夠提高程序的執(zhí)行效率。下面我們通過【例2-8】來比較值傳遞、地址傳遞和引用傳遞這三種傳遞方式。【例2-8】引用作為函數(shù)參數(shù)的應(yīng)用例如。要求實(shí)現(xiàn)兩個整型數(shù)據(jù)的交換。#include<iostream.h>voidswap1(intx,inty) //參數(shù)的值傳遞{inttemp;temp=x;x=y;y=temp;}voidswap2(int*x,int*y) //參數(shù)的地址傳遞{inttemp;temp=*x;*x=*y;*y=temp;}voidswap3(int&x,int&y) //參數(shù)的引用傳遞{inttemp;temp=x;x=y;y=temp;}voidmain(){inta,b;cout<<"輸入兩個整數(shù):";cin>>a>>b; //輸入a、b兩變量的值swap1(a,b); cout<<"值傳遞的結(jié)果:"<<a<<""<<b<<endl;swap2(&a,&b); cout<<"地址傳遞的結(jié)果:"<<a<<""<<b<<endl;swap3(a,b); cout<<"引用傳遞的結(jié)果:"<<a<<""<<b<<endl;}程序運(yùn)行結(jié)果如下圖。三、引用與指針的區(qū)別①引用是一個變量的別名,本身不單獨(dú)分配自己的內(nèi)存空間,而指針有自己的內(nèi)存空間。②引用訪問一個變量是直接訪問,而指針是間接訪問。③引用在開始的時候就綁定到了一個內(nèi)存空間,所以開始必須賦初值,而指針可以先定義后賦值?!纠?-9】引用與指針比照應(yīng)用例如。#include<iostream.h>voidmain(){inti=3,j=4;cout<<"i="<<i<<"j="<<j<<endl;int&x=i; //定義引用cout<<"i="<<i<<";j="<<j<<";x="<<x<<endl;cout<<"i的地址"<<&i<<";j的地址"<<&j<<";x的地址"<<&x<<endl;x=j; cout<<"i="<<i<<";j="<<j<<";x="<<x<<endl;cout<<"i的地址"<<&i<<";j的地址"<<&j<<";x的地址"<<&x<<endl;程序運(yùn)行結(jié)果如下圖。int*y; //定義指針cout<<"y的地址"<<&y<<endl;y=&j;cout<<"i="<<i<<";j="<<j<<";y="<<y<<endl;cout<<"i的地址"<<&i<<";j的地址"<<&j<<";y的地址"<<&y<<endl;}四、引用作為返回值以引用返回函數(shù)值時,定義函數(shù)時需要在函數(shù)名前加&,定義函數(shù)的格式一般如下:類型標(biāo)識符&函數(shù)名〔形參列表及類型說明〕{函數(shù)體}1.通過引用返回函數(shù)值的最大好處是,在內(nèi)存中不產(chǎn)生被返回值的副本?!纠?-10】
定義兩個函數(shù):一個以變量方式返回函數(shù)值,一個以引用方式返回函數(shù)值。#include<iostream.h>floattemp; //定義全局變量tempfloatfn1(floatr); //聲明函數(shù)fn1float&fn2(floatr); //聲明函數(shù)fn2floatfn1(floatr) //定義函數(shù)fn1,以返回值的方法返回函數(shù)值{temp=r*r*3.14;returntemp;}float&fn2(floatr) //定義函數(shù)fn2,以引用方式返回函數(shù)值{temp=r*r*3.14;returntemp;}voidmain() //主函數(shù){floata=fn1(10.0);floatb=fn2(10.0);cout<<a<<endl<<b<<endl;}程序運(yùn)行結(jié)果如下圖。從上圖中我們可以看出,兩種方式的運(yùn)行結(jié)果是相同的,但是它們在內(nèi)存中的活動情況卻是不相同的,下面我們對照圖示進(jìn)行說明。函數(shù)fn1()是一般的函數(shù)返回值方式:返回全局變量temp值時,C++創(chuàng)立臨時變量并將temp的值314復(fù)制給該臨時變量,返回到主函數(shù)后,賦值語句a=fnl(10.0)把臨時變量的值314復(fù)制給a,其內(nèi)存情況如下圖。函數(shù)fn2()以引用方式返回返回值,不產(chǎn)生副本,所以,直接將變量temp返回給主函數(shù),這樣防止了臨時變量的產(chǎn)生。這種方式提高了程序執(zhí)行效率和空間利用率,其內(nèi)存情況如下圖。2.返回引用的函數(shù)可以作為左值。下面我們通過一個案例來了解這種使用方法?!纠?-11】將返回引用的函數(shù)值作為賦值表達(dá)式的左值。#include<iostream.h>int&put(intn);intvals[10];interror=-1;voidmain(){put(0)=10; //以put(0)函數(shù)值作為左值,等價(jià)于vals[0]=10;put(9)=20; //以put(9)函數(shù)值作為左值,等價(jià)于vals[9]=20;cout<<vals[0]<<endl;cout<<vals[9]<<endl;}int&put(intn){if(n>=0&&n<=9)returnvals[n];else{ cout<<"subscripterror"; returnerror;}}程序運(yùn)行結(jié)果如下圖。引用作為返回值時,要注意以下兩點(diǎn):〔1〕不能返回局部變量的引用〔2〕不能返回函數(shù)內(nèi)部new分配的內(nèi)存的引用案例說明任務(wù)實(shí)施——通過引用操作數(shù)組創(chuàng)立兩個數(shù)組,輸入數(shù)組元素后將數(shù)組值輸出,然后將兩數(shù)組合并為一個數(shù)組并輸出。實(shí)施步驟步驟1在VisualC++中新建一個C++源文件,編寫代碼如下:#include<stdio.h>#include<malloc.h>#include<stdlib.h>#defineLIST_INIT_SIZE100 //數(shù)組初始化元素個數(shù)#defineLISTINCREMENT10 //數(shù)組元素個數(shù)遞增長度#defineStatusint#defineElemTypeint#defineOK1#defineERROR0#defineOVERFLOW-2typedefstruct{ ElemType*elem; intlength; //數(shù)組中實(shí)際存放的元素個數(shù)
intlistsize; //數(shù)組長度,可容納的最大元素個數(shù)
}SqList;StatusInitList_Sq(SqList&L){ //構(gòu)造一個空的數(shù)組LL.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)returnERROR; //存儲分配失敗
L.length=0; //數(shù)組實(shí)際長度為0L.listsize=LIST_INIT_SIZE; //初始存儲容量
returnOK;}StatusInputList_Sq(SqList&L){ //向數(shù)組L中輸入n個元素
inti;printf("\nInput%dnumbers:",L.length);for(i=0;i<L.length;i++)scanf("%d",&L.elem[i]);printf("\nInputSuccess!!!!:");returnOK;}StatusOutputList_Sq(SqListL){ //輸出數(shù)組L中的所有元素
inti;printf("\nThereAre%dnumbers:",L.length);for(i=0;i<L.length;i++)printf("%d",L.elem[i]);printf("\nOutputSuccess!!!!:");returnOK;}voidMergeList_Sq(SqListLa,SqListLb,SqList&Lc){//歸并La和Lb得到新的順序線性表LcElemType*pa,*pb,*pc,*pa_last,*pb_last;pa=La.elem;pb=Lb.elem;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.listsize*sizeof(ElemType));if(!Lc.elem)exit(OVERFLOW); //存儲分配失敗pa_last=La.elem+La.length-1;pb_last=Lb.elem+Lb.length-1;while(pa<=pa_last&&pb<=pb_last){ //歸并if(*pa<=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++; //插入La的剩余元素while(pb<=pb_last)*pc++=*pb++; //插入Lb的剩余元素}voidmain() //主函數(shù){SqListLa,Lb,Lc;InitList_Sq(La);InitList_Sq(Lb);InitList_Sq(Lc);La.length=5;Lb.length=4;printf("\nInputarrayA");InputList_Sq(La); //輸入數(shù)組LaOutputList_Sq(La);printf("\nInputarrayB");InputList_Sq(Lb); //輸入數(shù)組LbOutputList_Sq(Lb); MergeList_Sq(La,Lb,Lc); //將數(shù)組La與Lb合并printf("\nC=merge(A,B):");OutputList_Sq(Lc);}步驟2經(jīng)編譯、連接后,程序運(yùn)行結(jié)果如下圖。任務(wù)四
掌握C++中管理動態(tài)內(nèi)存空間的方法任務(wù)說明在本任務(wù)中我們來學(xué)習(xí)使用C++應(yīng)用程序的結(jié)構(gòu)、C++程序的開發(fā)過程、C++開發(fā)環(huán)境VisualC++6.0的使用。預(yù)備知識在C++語言中,new和delete可用來實(shí)現(xiàn)動態(tài)內(nèi)存空間的管理。一、用new申請動態(tài)內(nèi)存空間二、用delete釋放動態(tài)內(nèi)存空間new運(yùn)算符的操作數(shù)是一個數(shù)據(jù)類型,其作用是為變量分配內(nèi)存空間,并返回指向該變量的指針。new運(yùn)算符使用的一般
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線教育課程設(shè)計(jì)合作協(xié)議
- 廣告設(shè)計(jì)與推廣服務(wù)合同
- 深圳市物流運(yùn)輸服務(wù)協(xié)議
- 餐飲行業(yè)食品加工流程衛(wèi)生安全協(xié)議書
- 智能家居產(chǎn)品研發(fā)委托協(xié)議
- 電子支付結(jié)算資金監(jiān)管協(xié)議
- 共享經(jīng)濟(jì)項(xiàng)目運(yùn)營服務(wù)合同
- 職業(yè)舞蹈教師私人教學(xué)服務(wù)合同
- 旅游行業(yè)資源整合協(xié)議
- 高端科研儀器供應(yīng)合同
- 2025-2030年中國MPV汽車市場全景調(diào)研及投資策略分析報(bào)告
- 二零二五年度數(shù)據(jù)存儲與備份外包服務(wù)協(xié)議2篇
- 2024-2025學(xué)年初中七年級上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 第五單元《習(xí)作例文:風(fēng)向袋的制作》說課稿-2024-2025學(xué)年五年級上冊語文統(tǒng)編版
- 【課件】第三課 蒙娜麗莎 課件高中美術(shù)湘美版美術(shù)鑒賞
- 新媒體研究方法教學(xué)ppt課件(完整版)
- 2020新版?zhèn)€人征信報(bào)告模板
- 東芝空調(diào)維修故障代碼匯總
- 建筑物成新率評定標(biāo)準(zhǔn)
- 工藝管道儀表流程圖(共68頁).ppt
- 五項(xiàng)管理行動日志excel表格
評論
0/150
提交評論