




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
燕山大學經(jīng)濟管理學院C+程序設(shè)計實驗指導書經(jīng)濟管理學院電子商務(wù)系2012年11月實 驗 說 明C+語言是一種完全面向?qū)ο蟮挠嬎銠C程序設(shè)計語言,繼承了C語言的靈活性和高性能,引入了面向?qū)ο蟮木幊趟枷?。該課程作為電子商務(wù)專業(yè)的一門專業(yè)課,主要介紹C+程序設(shè)計語言的基本知識,為學生進一步學習C+高級編程打下牢固的程序設(shè)計語言基礎(chǔ)。實驗課是C+程序設(shè)計教程的重要實踐環(huán)節(jié)。通過實驗,使學生加深理解、驗證、鞏固課堂教學內(nèi)容,加深對C+程序設(shè)計的過程、方法的理解,發(fā)揮學生的想象力和創(chuàng)新能力。本實驗課程共開設(shè)4個實驗項目。實驗方式與基本要求:學生須在實驗前預(yù)習相應(yīng)實驗內(nèi)容,熟悉實驗的基本原理、方法及要求、制定好上機步驟,弄清實驗?zāi)康模粚嶒灻看尉鶠?學時,學生須按時到場;要求學生掌握程序設(shè)計的各種基本方法與步驟,并在實驗中得到提高。 考核及報告:實驗時將各種問題與結(jié)果記錄下來,實驗內(nèi)容可通過截圖等方式存入U盤,并在課后完成實驗報告內(nèi)容;任課教師對每次記錄都要進行檢查、分析、登記; 課程總成績應(yīng)為理論考核、實驗成績的綜合;其中實驗課程成績占20%,理論課成績占50%,平時成績占30%。實驗一 熟悉C+程序開發(fā)環(huán)境及基本語句一、實驗?zāi)康?. 了解和熟悉C+程序開發(fā)環(huán)境。2. 熟悉C+程序設(shè)計中的基本語言。3. 掌握條件語句的使用。4. 掌握循環(huán)語言的使用。5. 能夠根據(jù)具體問題編寫相應(yīng)程序。二、實驗內(nèi)容與要求1. 熟悉C+開發(fā)環(huán)境,建立C+源文件,利用C+的控制臺編寫C+程序。2. 建立自己的工作目錄,例如D:user。以后的C+程序和過程文件均放置在此目錄下。輸入一個源程序,學習編輯、編譯、運行程序的方法。例如/例2.1 文件f0201.cpp如下:/=/ f0201.cpp/ 變量定義/=#includeusing namespace std;/-int main() double radius; / 定義語句 coutradius; double result = radius*radius*3.14*4; / 定義語句 coutThe result is resultn;/=首先編譯該程序,若出現(xiàn)錯誤或警告,調(diào)試程序后再編譯,若沒有錯誤,可運行該程序。本程序利用了C+中的輸入與輸出指令,作用是根據(jù)輸入的球體半徑求出該球體的表面積。D:userf0201.cpp(9) : warning C4508: main : function should return a value; void return type assumed將主函數(shù)的返回類型改為void型3. 熟悉循環(huán)語句,輸出順序英文字母三角形,即例2-3。#includeusing namespace std;void main()for(int i=1;i=10;i+)for(int j=1;j=10-i;j+)cout ;char ch = A;for(int m=1;m=2*i-1;m+)coutch;ch+;coutendl;4. 熟悉條件語句,判斷一個數(shù)是否是素數(shù)。#includeusing namespace std;void main()int a;couta;for(int i= 2;ia;i+)if(a%i=0) break;if(i=a)couta是個素數(shù)。endl;else couta不是素數(shù)。endl;5. 利用C+編寫程序輸出下列圖形* * * * * * *#includeusing namespace std;void main()for(int i=1;i=4;i+)for(int k=1;k=8-2*i;k+)cout ;for(int j=1;j=2*i-1;j+)cout*;coutendl;for(i =1;i=3;i+)for(int m =1;m=7-2*i;m+)cout*;coutendl;實驗二 函數(shù)控制一、實驗?zāi)康?了解函數(shù)參數(shù)傳遞的方法。2了解函數(shù)指針的概念及使用。3掌握遞歸函數(shù)的使用。4熟練函數(shù)重載的方法。5能自己編寫函數(shù)語句,實現(xiàn)特定功能。二、實驗內(nèi)容與要求1分析下列程序并給出結(jié)果。#include#includeusing namespace std;/-void print(vector& a) for(int i=0; ia.size(); +i) coutai ; coutendl;/-vector add(vector& a, vector& b) for(int i=0; ia.size(); +i) ai += bi; / ? return a;/-int main() int aa=3,2,1,2,3,2,1, bb=6,3,1,1,4,2,3; vector a(aa,aa+7), b(bb,bb+7); vector c = add(a, b); print(a); print(b); print(c);2利用遞歸函數(shù)實現(xiàn)n!,并輸出結(jié)果。#includeusing namespace std;int jc(int n)if(n=1)return 1;else return n*jc(n-1);void main()cout5!=jc(5)endl;3編寫一個函數(shù),根據(jù)輸入的兩個整數(shù)a和b,輸出它們的平方和。#includeusing namespace std;long f(int a,int b)return a*a+b*b;void main()int a,b;cout請輸入兩個整數(shù)a、bab;couta*a+b*b = f(a,b)endl;4編寫程序,根據(jù)輸入的三個整數(shù)a、b、c,輸出它們中的最大值。#includeusing namespace std;int max(int a,int b,int c)int max;max = (ab?a:b)c?(ab?a:b):c;return max;void main()int a,b,c;cout請輸入三個數(shù)abc;cout這三個數(shù)中最大的數(shù)是:max(a,b,c)endl;5編寫一個函數(shù),將輸入的兩個整數(shù)交換后輸出。#includeusing namespace std;void swap(int& a,int& b)int temp;temp = a;a = b;b = temp;couta = aendl;coutb = bendl;void main()int a,b;couta;coutb;swap(a,b);實驗三 類與繼承一、實驗?zāi)康?了解C+的程序結(jié)構(gòu)。2掌握全局數(shù)據(jù)和靜態(tài)數(shù)據(jù)的使用。3掌握類的定義。4了解成員函數(shù)的定義。二、實驗內(nèi)容與要求1運行下列程序,輸入多個字符,并保存輸出結(jié)果。#includeusing namespace std;inline bool isnumber(char); / 內(nèi)聯(lián)聲明int main() for(char c; cinc & c!=n; ) if(isnumber(c) coutyou entered a digit.n; else cout=0 & ch=9 ? 1 : 0;2分析下列程序并給出結(jié)果。#includeusing namespace std;void func();int n=1;int main() int a=0, b=-6; couta=a, b=b, n=nendl; func(); couta=a, b=b, n=nendl; func();void func() static int a=3; int b=4; a+=2, b+=5; n+=8; couta=a, b=b, n=nendl;3分析下列程序,并輸出結(jié)果。#include#includeusing namespace std;class Date int year, month, day;public: void set(int y,int m,int d); / 賦值操作 bool isLeapYear(); / 判斷閏年 void print(); / 輸出日期;/-void Date:set(int y,int m,int d) year=y; month=m; day=d;/-bool Date:isLeapYear() return (year%4=0 & year%100!=0)|(year%400=0);/-void Date:print() coutsetfill(0); coutsetw(4)year-setw(2)month-setw(2)dayn; coutsetfill( );/-int main() Date d1; d1.set(2008,8,8); if(d1.isLeapYear()d1.print(); Date d2; d2.set(2006,10,6); if(d2.isLeapYear() d2.print();4針對二維坐標系上的實數(shù)矢量Point類,設(shè)計矢量類的減法和乘法操作。(可參考例子f0805)#includeusing namespace std;class Point;Point operator-(const Point& p1, const Point& p2);class Point int x, y;public: void set(int a, int b) x = a, y = b; void print()const cout(x, y)n; friend Point operator-(const Point& p1, const Point& p2); friend float mul(const Point& p1, const Point& p2); ;Point operator-(const Point& p1, const Point& p2) Point s; s.set(p1.x-p2.x, p1.y-p2.y); return s;float mul(const Point& p1, const Point& p2)float t;t = (p1.x)*(p2.x)+(p1.y)*(p2.y);return t;void main() Point p1, p2; p1.set(0,5); p2.set(0,2); operator-(p1,p2).print(); coutmul(p1,p2)endl;實驗四 基于對象編程一、實驗?zāi)康?掌握友元的使用。2掌握構(gòu)造函數(shù)的使用。3掌握析構(gòu)函數(shù)的使用。4熟悉基于對象編程的思想。二、實驗內(nèi)容與要求1分析下列程序并給出結(jié)果。/構(gòu)造函數(shù)重載#include#includeusing namespace std;class Date;ostream& operator(ostream& o, const Date& d);class Date int year, month, day;public: Date(int y=2000, int m=1, int d=1); / 設(shè)置默認參數(shù) Date(const string& s); / 重載 bool isLeapYear()const; friend ostream& operator(ostream& o, const Date& d);Date:Date(const string& s) year = atoi(s.substr(0,4).c_str(); month = atoi(s.substr(5,2).c_str(); day = atoi(s.substr(8,2).c_str();Date:Date(int y, int m, int d) year=y,month=m,day=d; bool Date:isLeapYear()const return (year % 4=0 & year % 100 )| year % 400=0;ostream& operator(ostream& o, const Date& d) osetfill(0)setw(4)d.year-setw(2)d.month-; return osetw(2)d.daynsetfill( );int main() Date c(2005-12-28); Date d(2003,12,6); Date e(2002); / 默認兩個參數(shù) Date f(2002,12); / 默認一個參數(shù) Date g; / 默認三個參數(shù) coutcdefg;2根據(jù)實數(shù)矢量Point類,利用友元函數(shù)計算兩個點之間的距離。#include#includeusing namespace std;class Point;Point operator-(const Point& p1, const Point& p2);class Point int x, y;public: void set(int a, int b) x=a, y=b; void print()const cout(x, y)n; friend float f(const Point& p1, const Point& p2); ;float f(const Point& p1, const Point& p2) float t; t = sqrt(p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y); return t;void main() Point p1, p2; p1.set(0,5); p2.set(0,2); cout兩個點之間的距離:f(p1,p2)endl;3針對時間Clock類,使用構(gòu)造函數(shù)Clock()初始化對象,使用析構(gòu)函數(shù)Clock()釋放對象,并將結(jié)果用函數(shù)ShowTime輸出。#includeusing namespace std;class Clock private: int Hour, Minute, Second; public: Clock(int NewH,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉頡造字教學活動方案
- 仙人指路活動方案
- 代為祭掃活動方案
- 代表視察調(diào)研活動方案
- 代銷理財活動方案
- 以案釋法宣講活動方案
- 價格打折活動方案
- 任職宣誓活動方案
- 企業(yè)九一八活動方案
- 企業(yè)元旦春節(jié)活動方案
- 餐飲夏季食品安全培訓
- 農(nóng)業(yè)面源污染總結(jié)經(jīng)驗亮點做法
- 電氣高壓試驗安全操作規(guī)程培訓
- 蘇教譯林版七年級下冊英語第二單元Unit2單元測試卷附答案解析
- 人工智能和自動駕駛車輛的結(jié)合與應(yīng)用
- 強化采購合規(guī)管理
- 胸痛中心STEMI溶栓治療方案
- 《異位妊娠》課件
- 《新模式英語4(第二版)》 課件 Unit 6 Getting Hired
- 銀行催收外包服務(wù)投標方案(技術(shù)標)
- 慢性宮頸炎護理查房
評論
0/150
提交評論