第一篇:C++實(shí)驗(yàn)
上機(jī)實(shí)驗(yàn):
1、回文是指正讀,反讀均相同的字符序列,如“abba”和“abdba”均是回文,但是“good”不是回文,試用STACK類(lèi)編寫(xiě)該程序。
#include
int top = 1;char *cMyStack =(char *)malloc((iLen/2+1)*sizeof(char));//定位對(duì)原始數(shù)組的檢測(cè)索引初始位置 cMyStack[0] = iLen/2;if(1 == iLen%2){ ++cMyStack[0];}
//將原始數(shù)組的一半元素入棧 for(top=1;top<=iLen/2;top++){ cMyStack[top] = *(cScr+top-1);} //從棧頂開(kāi)始依次匹配
while(*(cScr+cMyStack[0])== cMyStack[--top] && cMyStack[0]++ < iLen){} if(0 == top){//是回文數(shù) free(cMyStack);return 1;} else {//不是回文數(shù)
free(cMyStack);return 0;} } 運(yùn)行結(jié)果:
2.利用兩個(gè)棧類(lèi)S1、S2模擬一個(gè)隊(duì)列時(shí),編寫(xiě)一程序利用棧的運(yùn)算實(shí)現(xiàn)隊(duì)列的插入、刪除以及判斷隊(duì)列空的運(yùn)算。
#include
template
assert(!mStack2.empty());mStack2.pop();} template
sq.pushBack(1);printQueue(sq);sq.pushBack(2);printQueue(sq);sq.pushBack(3);printQueue(sq);sq.popFront();printQueue(sq);sq.popFront();printQueue(sq);sq.popFront();printQueue(sq);return 0;} 運(yùn)行結(jié)果:
實(shí)驗(yàn)2:
聲明復(fù)數(shù)的類(lèi)Complex,使用友元函數(shù)add實(shí)現(xiàn)復(fù)數(shù)的加法。
#include < iostream > using namespace std;
class Complex { private:
double real, image;public :
Complex(){}
Complex(double a,double b)
{
real = a;image = b;}
void setRI(double a, double b){
real = a;image = b;} double getReal(){ return real;}
double getImage(){ return image;} void print(){ if(image>0)
cout<<“復(fù)數(shù):”<< real <<“ + ”<< image <<“i”<< endl;if(image<0)
cout<<“復(fù)數(shù):”<< real <<“-”<< image <<“i”<< endl;}
friend Complex add(Complex ,Complex);//聲明友元函數(shù) };
Complex add(Complex c1, Complex c2)//定義友元函數(shù)
{
Complex c3;
c3.real = c1.real + c2.real;//訪問(wèn)Complex類(lèi)中的私有成員
c3.image = c1.image + c2.image;return c3;}
void main(){
Complex c1(29, 0.634), c2, c3;c2.setRI(85,106.012);c3 = add(c1, c2);
cout<<“復(fù)數(shù)一:”;c1.print();cout<<“復(fù)數(shù)二:”;c2.print();cout<<“相加后:”;c3.print();}
結(jié)果:
實(shí)驗(yàn)三:
7-5 定義一個(gè)基類(lèi)Shape,在此基礎(chǔ)上派生出一個(gè)Rectangle和Circle,二者都有g(shù)etArea()函數(shù)計(jì)算對(duì)象的面積。使用Rectangle類(lèi)創(chuàng)建一個(gè)派生類(lèi)Square.#include
public: Shape(){}
double GetArea()
{
return 0.1;}
};class Rectangle: public Shape {
public:
Rectangle(double w,double h)
{
width=w;height=h;}
double GetArea(){
return width*height;}
private: double width,height;};class Circle:public Shape { private: double r;
public: Circle(double rr){ r=rr;}
double GetArea(){
return PI*r*r;} };
int main(){
Rectangle * rec=new Rectangle(5,6);
Circle * cir=new Circle(5);
cout<<“RecArea:”< cout<<“CirArea:”< return 1; } 運(yùn)行結(jié)果: 7-10.定義一個(gè)Object類(lèi),有數(shù)據(jù)成員weight及相應(yīng)的操作函數(shù),由此派生出Box類(lèi),增加數(shù)據(jù)成員height和width及相應(yīng)的操作函數(shù),聲明一個(gè)Box對(duì)象,觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。#include object(){ cout<<“構(gòu)造object對(duì)象”< class box:public object { private: int Height,Width;public: box(){ cout<<“構(gòu)造box對(duì)象”< 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn) Object Oriented Programming 課程編號(hào): 學(xué) 分: 學(xué) 時(shí):10 先修課程:計(jì)算機(jī)導(dǎo)論、C語(yǔ)言程序設(shè)計(jì) 適用專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程 教 材:《C++程序設(shè)計(jì)教程:實(shí)驗(yàn)手冊(cè)》,清華大學(xué)出版社,Harvery M.,Paul J.,Tem R.,2004 開(kāi)課院系:計(jì)算機(jī)科學(xué)與技術(shù)系 一、實(shí)驗(yàn)的性質(zhì)和任務(wù) C++是一門(mén)高效實(shí)用的程序設(shè)計(jì)語(yǔ)言,它既可進(jìn)行過(guò)程化程序設(shè)計(jì),也可進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)。隨著C++逐漸成為ANSI標(biāo)準(zhǔn),這種新的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言已經(jīng)成為了程序員最廣泛使用的工具。本課程是一門(mén)計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)的重要的專(zhuān)業(yè)基礎(chǔ)課,開(kāi)設(shè)實(shí)驗(yàn)課程主要目的是使學(xué)生掌握有關(guān)C++語(yǔ)言的基本概念、基本語(yǔ)法和編程方法,理解C++語(yǔ)言面向?qū)ο蟮闹匾卣鳎偈箤W(xué)生理論聯(lián)系實(shí)際,能夠靈活應(yīng)用自己所學(xué)的理論知識(shí)進(jìn)行程序開(kāi)發(fā),增強(qiáng)學(xué)生的實(shí)踐動(dòng)手技能,并能夠提高學(xué)生獨(dú)立分析問(wèn)題和解決問(wèn)題的能力。 二、實(shí)驗(yàn)的基本內(nèi)容及要求 實(shí)驗(yàn) 一、C++程序的運(yùn)行環(huán)境、簡(jiǎn)單C++數(shù)據(jù)類(lèi)型及運(yùn)算(1學(xué)時(shí))1. 實(shí)驗(yàn)?zāi)康?/p> (1)熟悉VC++6.0集成開(kāi)發(fā)環(huán)境;掌握簡(jiǎn)單C++程序的編輯、編譯和運(yùn)行 (2)熟悉和理解C++語(yǔ)言中的數(shù)據(jù)類(lèi)型、表達(dá)式;掌握簡(jiǎn)單C++程序的編寫(xiě)及調(diào)試方法 2. 實(shí)驗(yàn)內(nèi)容 (1)熟悉VC++6.0集成開(kāi)發(fā)環(huán)境的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)(2)了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C++程序(3)通過(guò)運(yùn)行一個(gè)簡(jiǎn)單的C++程序,初步了解C++源程序的特點(diǎn) (4)熟悉和理解C++語(yǔ)言中的數(shù)據(jù)類(lèi)型、表達(dá)式,了解基本數(shù)據(jù)類(lèi)型的字節(jié)寬度和范圍表示 (5)利用學(xué)習(xí)的數(shù)據(jù)類(lèi)型,編制簡(jiǎn)單的C++程序?qū)嶒?yàn)準(zhǔn)備(6)初步學(xué)習(xí)程序調(diào)試方法 3. 實(shí)驗(yàn)準(zhǔn)備 (1)安裝Visual C++編譯系統(tǒng) (2)熟悉Vc++6.0編譯系統(tǒng)的使用步驟,以及簡(jiǎn)單C++程序的編輯、編譯和運(yùn)行過(guò)程(3)復(fù)習(xí)C++的基本數(shù)據(jù)類(lèi)型,表達(dá)式(4)復(fù)習(xí)程序的上機(jī)調(diào)試過(guò)程 (5)根據(jù)實(shí)驗(yàn)內(nèi)容要求,編寫(xiě)好實(shí)驗(yàn)程序 4. 實(shí)驗(yàn)步驟 (1)選擇菜單“開(kāi)始/程序/Microsoft Visual Studio 6.0/Microsoft Visual C++ 6.0”,得到Visual C++ 6.0啟動(dòng)后的用戶(hù)界面;(2)創(chuàng)建一個(gè)新工程; (3)編寫(xiě)一個(gè)簡(jiǎn)單的C++源程序,并保存;(4)編譯連接和運(yùn)行程序 (5)輸入源程序,編譯、連接直到?jīng)]有錯(cuò)誤(6)運(yùn)行程序,觀察程序運(yùn)行結(jié)果 5. 實(shí)驗(yàn)報(bào)告 (1)提交源程序 (2)舉例說(shuō)明在建立源程序、編譯、連接程序時(shí),發(fā)現(xiàn)的錯(cuò)誤屬于何種類(lèi)型及解決辦法 (3)改變所用變量的數(shù)據(jù)類(lèi)型,觀察程序運(yùn)行結(jié)果的變化并分析原因(4)寫(xiě)出上機(jī)實(shí)驗(yàn)體會(huì)和實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn) 二、數(shù)組(1學(xué)時(shí))1.實(shí)驗(yàn)?zāi)康?/p> 熟練掌握一維數(shù)組和二維數(shù)組的定義、引用和初始化;掌握字符數(shù)組與字符串的關(guān)系以及字符串變量的表示,熟練字符串處理函數(shù)的應(yīng)用。2.實(shí)驗(yàn)內(nèi)容 (1)有一個(gè)數(shù)組,內(nèi)放10個(gè)整數(shù),找出最小的數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素對(duì)換 輸入一個(gè)n×n的矩陣,求出兩條對(duì)角線(xiàn)元素值之和 編寫(xiě)一程序,將兩個(gè)字符串連接起來(lái),不要strcat函數(shù) 3.實(shí)驗(yàn)準(zhǔn)備 (1)復(fù)習(xí)一維數(shù)組和二維數(shù)組的定義、引用和初始化方法,進(jìn)一步了解常用字符串處理函數(shù)的使用。 (2)根據(jù)實(shí)驗(yàn)內(nèi)容要求,編寫(xiě)好實(shí)驗(yàn)程序 4.實(shí)驗(yàn)步驟 (1)輸入源程序,編譯、連接直到?jīng)]有錯(cuò)誤(2)根據(jù)實(shí)驗(yàn)步驟,撰寫(xiě)實(shí)驗(yàn)報(bào)告 5.實(shí)驗(yàn)報(bào)告 (1)結(jié)合上課內(nèi)容,寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果(2)整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)和體會(huì)(3)完成實(shí)驗(yàn)報(bào)告和提交源程序 實(shí)驗(yàn) 三、函數(shù)與編譯預(yù)處理(1學(xué)時(shí))1.實(shí)驗(yàn)?zāi)康?/p> 掌握函數(shù)的定義、申明和使用方法;掌握函數(shù)調(diào)用的方法;掌握全局變量、局部變量、靜態(tài)變量的使用方法;掌握編譯預(yù)處理的使用。2.實(shí)驗(yàn)內(nèi)容 (1)求兩正整數(shù)的最大公約數(shù)和最小公倍速數(shù),用一個(gè)函數(shù)求最大公約數(shù),另一個(gè)函數(shù)求最小公倍數(shù)。要求:不使用全局變量。將最大公約數(shù)和最小公倍數(shù)在主函數(shù)中輸出。 (2)十進(jìn)位制數(shù)轉(zhuǎn)換二、八和十六進(jìn)制數(shù)程序。要求: a.編寫(xiě)一個(gè)函數(shù)實(shí)現(xiàn)十進(jìn)制數(shù)轉(zhuǎn)換其它進(jìn)制數(shù); b.在主函數(shù)中給十進(jìn)制數(shù)和轉(zhuǎn)換的進(jìn)位制,輸出轉(zhuǎn)換結(jié)果。 3.實(shí)驗(yàn)準(zhǔn)備 (1)復(fù)習(xí)函數(shù)的定義、申明和使用方法,熟悉函數(shù)調(diào)用和編譯預(yù)處理(2)根據(jù)實(shí)驗(yàn)內(nèi)容要求,編寫(xiě)好實(shí)驗(yàn)程序 4.實(shí)驗(yàn)步驟 (1)輸入源程序,編譯、連接直到?jīng)]有錯(cuò)誤(2)根據(jù)實(shí)驗(yàn)步驟,撰寫(xiě)實(shí)驗(yàn)報(bào)告 5.實(shí)驗(yàn)報(bào)告 (1)結(jié)合上課內(nèi)容,寫(xiě)出程序,并調(diào)試程序,要給出測(cè)試數(shù)據(jù)和實(shí)驗(yàn)結(jié)果(2)整理上機(jī)步驟,總結(jié)經(jīng)驗(yàn)和體會(huì)(3)完成實(shí)驗(yàn)報(bào)告和提交源程序 實(shí)驗(yàn) 四、指針(2學(xué)時(shí))1.實(shí)驗(yàn)?zāi)康?/p> 熟練掌握各種類(lèi)型指針的定義、申明、引用和運(yùn)算;掌握數(shù)組指針和指向數(shù)組的指針變量,以及字符串的指針和指向字符串的指針變量;了解指針與鏈表關(guān)系。2.實(shí)驗(yàn)內(nèi)容 (1)編寫(xiě)程序,在堆內(nèi)存中申請(qǐng)一個(gè)float型數(shù)組,把10個(gè)float型數(shù)據(jù)0.1、0.2、0.3?、1.0賦予該數(shù)組,然后使用float型指針輸出該數(shù)組的各元素值并求出其累加和。(2)使用指針編寫(xiě)函數(shù)strcat()函數(shù),即實(shí)現(xiàn)兩個(gè)字符串的首尾連接(將字符串str2接到str1的后面,str1最后面的‘
主站蜘蛛池模板:
香蕉久久人人爽人人爽人人片av|
亚洲精品无码一区二区三区久久久|
国产综合色在线精品|
国产在热线精品视频99公交|
99久久国产露脸精品竹菊传媒|
97视频热人人精品免费|
欧美野外疯狂做受xxxx高潮|
色悠久久久久综合网香蕉|
久久国产精品久久久久久|
国产成人精品微拍视频网址|
亚洲国产一区二区波多野结衣|
狠狠色噜噜狠狠狠888777米奇|
国产成人精品日本亚洲77美色|
久章草这里只有精品|
制服丝袜人妻中文字幕在线|
亚洲乱亚洲乱妇50p|
999精品视频在这里|
日本xxxx片免费观看|
98精品国产综合久久久久久欧美|
国产无遮挡又爽又黄大胸免费|
男女性动态激烈动全过程|
人妻熟妇乱又伦精品视频app|
亚洲中文字幕精品久久|
亚洲国产成人久久综合电影|
亚洲精品久久久久avwww潮水|
欧美自拍亚洲综合图区|
久久亚洲人成综合网|
免费无码又黄又爽又刺激|
精品无码三级在线观看视频|
国产露脸精品产三级国产av|
亚洲精品一区二区三区大桥未久|
国产精品青草久久久久婷婷|
久久久久se色偷偷亚洲精品av|
最新欧美精品一区二区三区|
精品无码成人片一区二区|
2023国产精品一卡2卡三卡4卡|
国产精品久久久久久久久免费|
国产亚洲精品线观看k频道|
曰批全过程免费视频在线观看无码|
亚洲精品一本之道高清乱码|
丝袜足控一区二区三区|
第二篇:c++實(shí)驗(yàn)(網(wǎng)絡(luò)工程 ))