(環(huán)境管理)實驗一C開發(fā)環(huán)境與程序設計步驟_第1頁
(環(huán)境管理)實驗一C開發(fā)環(huán)境與程序設計步驟_第2頁
(環(huán)境管理)實驗一C開發(fā)環(huán)境與程序設計步驟_第3頁
(環(huán)境管理)實驗一C開發(fā)環(huán)境與程序設計步驟_第4頁
(環(huán)境管理)實驗一C開發(fā)環(huán)境與程序設計步驟_第5頁
已閱讀5頁,還剩157頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

在編譯、連接和運行程序的過程中,都有可能出現(xiàn)各式各樣的錯誤,要不斷地修改源程序,重復快捷鍵及宏組成的和諧系統(tǒng),通過該集成環(huán)境,程序員可以觀察和控制整個開發(fā)進程。對應一個下拉子菜單。左面的一個子窗口是工作區(qū)窗口,工作區(qū)的右面是編輯子窗口。最下面是輸出子窗口??渴酱翱???看翱?,不論是浮動著的或是固定著的,總是出現(xiàn)在文檔窗口的上面。這樣,就保證了當焦點從一個窗口移到另一個時,浮動的工具欄一直都是可見的。但這也意味著,文檔窗口偶爾會看起來像消失了的??看翱冢创a文檔就會消失,它隱藏在新窗口之下。解決方法是要么關了覆蓋的窗口,要么把值得注意的是,上述各種部件,包括子窗口、菜單欄和工具欄的位置不是一成不變的,可以根據個人2.創(chuàng)建項目文件源程序文件、庫文件、建立程序所用的編譯器和其他工具的清單。C++的項目以項目文件的形式存儲在磁盤上。制臺應用程序的項目。(2)選擇對話框中的“Files”標簽。(4)在“File”文本框中輸入C++源程序文件名。系統(tǒng)自動加上文件擴展名“.cpp”。例如:件加入到當前的項目文件中。該窗口有三個子窗口,左邊的子窗口為項目工作區(qū)窗口;右邊的子窗口為源程序編輯窗口,用于輸入或編輯源程序;下邊的窗口為信息輸出窗口,用來顯示出錯信息或調試程序的信息。4.輸入和編輯源程序在源程序編輯窗口輸入例1.1中的源程序代碼,5.保存源程序文件選擇“File”菜單中的“Save”命令,將源程序保存到相應的文件中。6.編譯和連接在編譯和連接期間,若出現(xiàn)錯誤,則在信息輸出窗口給出錯誤或警告信息。改正錯誤后,重新編譯或編譯連接源程序,直到沒有錯誤為止。7.運行選擇“Build”菜單中的“Execute”命令,則在VC++集成環(huán)境的控制下運行程序。被啟動的程序在源程序。8.打開已存在的項目文件(2)選擇“File”菜單中的“Recentworkspaces”命令,然后再選擇相應的項目文件。試完成后,要開始輸入另一個程序時,必須先關閉當前的項目文件,然后為新源程序建立一個新的項目文件。否則將出現(xiàn)不可預測的錯誤。選擇“File”菜單中的“Exit”命令,可以退出集成環(huán)境。******************************{cout<<"***************"<<'\n';cout<<"***************"<<'\n';}******************************{floats,r;}1.設計一個程序,從鍵盤輸入一個小寫字母,將它轉換成大寫字母輸出。2.輸入一個球的半徑,求其表面積和體積。撰寫實驗報告。2.學會使用C++的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減{intx,y,z;//A}表達式的值不一定為整數(shù),故程序中變量的類型應采用實型。{floatx,y,z,e,f,w;//Ae=(x+1)*(y-1);//B}輸入的三位數(shù)為整數(shù),變量類型按整型進行處理??刹捎们笥鄶?shù)的方法計算各位上的數(shù),然后逆序輸出。參考程序如下:{intn,i,j,k;cout<<"輸入一個三位正整數(shù)n:";n=(n-i)/10;//去掉個位數(shù)n=(n-j)/10;//去掉十位數(shù)}{inta=32,b;chare='D',f;}3.編寫程序輸入兩個整數(shù),輸出它們的商和余數(shù)。2.撰寫實驗報告。2.熟悉if與switch語句的格式、執(zhí)行過程、使用方法及典型案例;3.學會使用選擇結構解決一般的實際問題,能編寫簡單的應用程序。{doublea,b,c,t;t=b-c;if(t<0)t=-t;{if(t<a)else}else}提示:三角形的類型由最長邊所對的角決定。假定三角形最長邊為c,其所對的例如,若每位顧客一次購物,編寫程序,輸入購物款,輸出實收款。解:本例使用了if-elseif語句進行多重判斷。參考程序如下:{}{floatx,y;if(x>=0)if(x>=10)y=x*x*x;elseelse}:(輸入一個獎金數(shù),求稅率、應交稅款及實得獎金數(shù)。4.輸入平面直角坐標系中一點的坐標值(x,y判斷該點是在那一個象限中或那一條坐標軸上。1.設計一個計算器,可以實現(xiàn)簡單的四則運算;2.撰寫實驗報告。程序流程圖如圖4.1所示,程序如下:{inti,n,sum;i=1;{}}項。{longintf1,f2;inti;for(i=1;i<=20;i++){}}例中“if”語句的作用是使在一行中輸出4個數(shù)。{inta,k,i,n;{k=sqrt(a);for(i=2;i<=k;i++)break;if(i>k)//若i>k,則i為素數(shù){}}}程序運行后,輸出,:分析:這是一個累加求和的問題,仔細分析各項,可以發(fā)現(xiàn)從第二項開始,各項的值為前一項除{{}}輸入”的提示。分析:從第3個月開始,下個月兔子的對數(shù)為本月兔子的對數(shù)與上月兔子對數(shù)之和。這樣可得出{intf1,f2,f3;inti;for(i=3;i<=20;i++){//Af1=f2;f2=f3;}}將程序A行中改寫為“for(i=20;i>=3;i--)”后,觀察程序運行結果;畫出本例的流程圖。分析:此圖形為上下對稱結構,用-3~3的整數(shù)標識行號i,則每行字符“B”的個數(shù)可表示為6*|i|+1。每行字符“B”前空格的個數(shù)隨著|i|的增大而減少,空格的個數(shù)要大于0。{inti,j,k,d;for(i=-3;i<=3;i++){d=i;if(i<0)d=-i;for(j=1;j<=10-3*d;j++)}}將程序中的“for(j=1;j<=10-3*d;j將程序中的“for(i=-3;i<=3;i++)”用“for(i=-10;i<=10;i++)”改寫后,觀察程序運行結果。{{}while(a>1);}將條件while(a>1)改為while(a),分別觀察輸出結果。于結束本次循環(huán)。{intx,s=0;while(1){if(x<0)continue;//B}}項。4.求π近似值的公式為:2.撰寫實驗報告。1.掌握一維數(shù)組、二維數(shù)組、字符數(shù)組的定義、初始化賦值、數(shù)組元素的引用方法;2.掌握求最大、小值、平均值、排序的方法以及有序數(shù)組的查找、增加、刪除的編程方法;3.初步掌握字符串處理函數(shù)的使用方法以及字符串復制、連接、測長等程序的編寫方法;4.掌握數(shù)組的典型應用。后最大的數(shù)就放到了第一個的位置;第二個數(shù)與其后面的數(shù)逐個進行比較,發(fā)現(xiàn)大者進行交換,完成后次大的數(shù)就放到了第二個的位置;如此循環(huán),直到第n交換。{inta[10];//Ainti,j,t;for(i=0;i<10;i++)//B{cin>>a[i];}for(i=0;i<=8;i++){for(j=i+1;j<=9;j++){if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}}intn;inta[n]”觀察運行結果?分析原因。分析:由楊輝三角形可以看出每行數(shù)存在以下規(guī)律:每行數(shù)據的個數(shù)與行序相同;每行的第一個111111for(i=0;i<n;i++){y[i][i]=1;y[i][0]=1;}for(i=2;i<n;i++){for(j=1;j<i;j++){inty[5][5];inti,j,n=5;y[i][j]=y[i-1][j-1]+y[i-1][j];}for(i=0;i<n;i++){for(j=0;j<=i;j++)cout<<y[i][j]<<"";}}分析:建立兩個變量i、j,先使i指向字符數(shù)組str1的第一個元素,然后移動i使其指向str1的末尾,即指向str1的最后一個元素‘\0’;再使j指向字符數(shù)組str2的第一個元素,然后將str2程序如下:{charstr1[40],str2[20];//定義字符數(shù)組str1、str2inti,j;cin.getline(str1,20);//輸入字符串1到str1中cin.getline(str2,20);//輸入字符串2到str2中i=0;//使i指向str1的第一個元素while(str1[i]!='\0')//判斷str1是否結束i++;//str1沒有結束,使i指向下一個元素j=0;//使j指向str2的第一個元素while(str2[j]!='\0')//判斷str2是否結束{str1[i]=str2[j];//str2沒有結束,將str2[j]賦給;str1[i]i++;//使i指向str1的下一個元素j++;//使j指向str2的下一個元素}str1[i]='\0';//在str1末尾添加結束標志‘\0’}分析:逐個讀取每個字符,若為空格將其后面的字符和字符串結束標志前移一位,再從該位置開始,重復上述操作,直到字符串結束。{charstr[]="Thisisabook!";//Ainti=0,j;while(str[i]!=NULL){if(str[i]==''){//Bj=i;while(str[j]!=NULL){str[j]=str[j+1];}}}}for(j=1;str[j]!=NULL;j++,cout<<str[j]);觀察輸出結果。組str中,并輸出連接后的字符串str。量,其值由用戶自定義。2.已有一按從小到大次序排序好的數(shù)組,現(xiàn)輸入一數(shù),要求用折半查找法找出該數(shù)在數(shù)組中的位置。3.撰寫實驗報告。intfun(intn){intz;elsereturn(z);}{intx,sum;}根據公式,只要自定義一個函數(shù)計算階乘,即可通過函數(shù)調用求出的值。doublefact(intk){if((k==0)||(k==1))returnp;else{for(inti=1;i<=k;i++)returnp;}}doublefact(int);{intm,n;gotol1;}c=fact(n)/(fact(m)*fact(n-m));}doublefact(intk){if((k==0)||(k==1))returnp;else{for(inti=1;i<=k;i++)p=p*i;returnp;}}最大公約數(shù)。intfun1(intc,intd){intr;while(r!=0){}returnd;}{intm,n,e,d;}intfun1(intc,intd){intr;if(r!=0){fun1(c,d);}returnd;}{intm,n,e,d;}分析:由于參數(shù)只有一個圓的半徑,所以只能對不同類型的參數(shù)實現(xiàn)重載。intarea(int);floatarea(float);{intr1;floatr2;}intarea(intx){returnPI*x*x;}floatarea(floatx){returnPI*x*x;}floats(floatx,floaty);{floata,b;}in1inefloats(floatx,floaty){returnx*y;}1.定義子函數(shù)如下:sum(intx,inty) {}2.撰寫實驗報告。1.掌握指針、指針變量、指針常量的基本概念;2.掌握指針與數(shù)組、指針與函數(shù)的關系及應用。3.初步掌握引用的概念及簡單應用。{inta[5]={0,1,2,3,4};int*p;―3;//p指向上3個元素a[0],p=}voidexchange(int,int);{inta,b;exchange(a,b);}voidexchange(intx,inty){intt;t=x;y=t;}分析:本例的目的是在子函數(shù)中交換的兩個變量的值,在主函數(shù)中使用。但函數(shù)的數(shù)據傳值調用方式是將實參的數(shù)據值傳遞給形參,實參和形參在內存中占用不同的地址單元,改變形參值不改變實參值。要想通過改變形參的值而改變實參的值,則應使用指針調用或引用調用。而且引用調用大有取代指針調用之勢。使用指針調用如下:voidexchange(int*,int*);{}voidexchange(int*x,int*y){intt;t=*x;*x=*y;*y=t;}使用引用調用如下:{inta,b;exchange(a,b);}{intt;t=x;x=y;y=t;}{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};int*p=&a[0][0];//將二維數(shù)組首地址賦給指針變量pfor(inti=0;i<9;i++){cout<<*p<<'\t';//輸出二維數(shù)組中第i個元素值}}intmax1(inta[],intn)//形參為數(shù)組名{inti,max=a[0];for(i=1;i<n;i++)if(a[i]>max)max=a[i];}intmax2(int*p,intn)//形參為指針{inti,max=*(p+0);for(i=1;i<n;i++)if(*(p+i)>max)}intmax3(inta[],intn)//形參為數(shù)組名{inti,max=*(a+0);for(i=1;i<n;i++)if(*(a+i)>max)}intmax4(int*p,intn)//形參為指針{inti,max=p[0];for(i=1;i<n;i++)if(p[i]>max)}{intb[]={1,3,2,5,4,6},*pi;}指向同一數(shù)組不同元素時,可以進行減運算,結果為其間的數(shù)組元素個數(shù)。{inti,a[10];int*p1,*p2;for(i=0;i<=9;i++){a[i]=i*i;}}分析:使用函數(shù)的指針,可以通過指針的賦值分別調用不同的函數(shù)。intsum1(int);intsum2(int);{inta;int(*f)(int);//A{}else{}}{ints1=0;for(inti=2;i<=m;i=i+2)returns1;}intsum2(intn){ints2=0;for(inti=1;i<=n;i=i+2)returns2;}將A行改為“int(*f)(int);”,觀察現(xiàn)象。分別輸出兩個函數(shù)的函數(shù)名,觀察其地址值。char*stringcat(char*p1,char*p2){p1――;returnp;//返回指向目標串首地址的指針p。}{chars1[200],s2[100];cin.getline(s1,100);cin.getline(s2,100);}分析:字符串不允許進行賦值運算,只能使用頭文件string.h中定義的strcpy()庫函數(shù)。本例要求自己編制一個自定義函數(shù)實現(xiàn)strcpy()庫函數(shù)的功能。{chars2[20];}{}{for(inti=0;*(from+i)!='\0';i++)*(to+i)=*(from+i);*(to+i)='\0';}觀察現(xiàn)象。“char*mycopy(constchar*,constchar*);”{}觀察現(xiàn)象。查找,直到字符串尾。char_count(char*s,charletter){while(*s)if(*s++==letter)return(count);}{charstr[100],c;cout<<"inputastring:";cin>>str;cout<<"inputaletter:";}{chars1[30],s2[30];strcpy(s1,p1);//用命令拷貝字符串}structStack{intstacksize;long*buffer;}p;voidini(intsize){p.stacksize=size;}voiddel(){deletep.buffer;}{if(p.sp>=p.buffer+p.stacksize)cerr<<"stackoverflow!\n";else{}}{if(p.sp<=p.buffer){return0;}return*--p.sp;}{ini(5);//Adel();}將程序中A行分別改為“ini(2);”和“ini(8);”觀察程序運行結果。分析:指向指針的指針變量即二級指針,其所指向的變量仍是一個指針。指向指針的指針多使用在二維數(shù)組,和字符數(shù)組處理過程。char*name[]={"VisualBasic","VisualC++","Delphi","PowerBuild","VisualFoxpro"};{for(inti=0;i<5;i++)}對下面的定義:inta[3]={1,2,3};int*b[3]={&a[0],&a[1],&a[2]};返回,并返回其地址值,編程實現(xiàn)findmaxint*findmax(int*array,intsize,int*index);{inta[10]={33,91,54,67,82,37,85,63,19,68};intidx;maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);}voidfindmax(int*a,intn,inti,int*pk);{inta[size];for(inti=0;i<size;i++)cin>>a[i];findmax(a,size,0,&n);}voidfindmax(int*a,intn,inti,int*pk){if(i<n){if(a[i]>a[*pk])*pk=i;findmax(a,n,i+1,&(*pk));}}解密函數(shù),打印各個過程的結果。6.用指針與數(shù)組作為函數(shù)參數(shù),按下面四種情況對數(shù)組floata[10]進行降序排序:撰寫實驗報告。1.掌握結構體類型、結構體變量的基本概念;2.掌握結構體指針、結構體數(shù)組的應用;3.掌握鏈表的基本概念;4.掌握鏈表的基本操作與應用,包括建立鏈表、遍歷鏈表、插入結點、刪除結點、查找結點等。{intno;//職工編號charaddr[40];//家庭地址};structstudent//定義學生結構體數(shù)據類型{intno;//學號floateng,phy,math,ave;//英語、數(shù)學、物理成績、平均成績}stu1,stu2;//定義結構體同時定義結構體變量stu1、stu2{struct{}date1,date2;//直接定義日期結構體類型變量。}輸出對應職工的姓名、工齡、獎懲、領取金額等信息。分析:姓名、出生年月、獎懲、基本工資為不同的數(shù)據類型,組成一個有機整體,可以用結構體進行處理,其中出生年月也用結構體來定義。structDate{intyear;};//A{Datebirth;floatsalary;}p={"南苯",{1966,10},"五一勞動獎章",896,0};{}修改程序,將結構體變量的定義放在main()函數(shù)內,再運行程序,觀察結果,分析原因;修改程序輸出三名職工的姓名、工齡、獎懲、領取金額等信息。{intscore;};編寫程序,實現(xiàn)下列鏈表的基本操作。建立鏈表:{intscore;//定義輸入學生成績的臨時變量scorewhile(score!=-1)//成績?yōu)?1時結束輸入{{}else//否則鏈表非空{}}return(head);//返回鏈表的頭指針}輸出鏈表:{while(p!=0){}}{while(head)//當鏈表非空時刪除結點{deletep;//刪除鏈表第一個結點}}{{}{//使首結點從鏈表中分離出來deletepc;//刪除首結點}else//第一個結點不是要刪除的結點{{}else{//使刪除結點從鏈表分離出來deletepc;//刪除指定結點}}returnhead;//返回鏈表頭指針}插入結點:{{}{}{}{}else//新結點插入到鏈表中間{}returnhead;//返回鏈表頭指針}建立一條有序鏈表:{intscore;//定義輸入學生成績的臨時變量scorewhile(score!=-1)//成績不等于-1則循環(huán){head=Insert(head,pn);//調用結點插入函數(shù),將新結點按成績降序插入鏈表}returnhead;//返回鏈表頭指針}{Print(head);//輸出無序鏈表Print(head);//輸出顯示刪除后的鏈表。Delchain(head);//刪除整個鏈表head=Create_sort();//產生一個有序鏈表Print(head);//輸出顯示有序鏈表Delchain(head);//刪除整個鏈表}80Li輸出鏈表中各結點值:Li80輸入要刪除結點上學生姓名:Li輸出鏈表中各結點值:產生一條有序鏈表,請輸入數(shù)據,以-1結束!80Li輸出鏈表中各結點值:Li80撰寫實驗報告。1.掌握類、對象的基本概念,理解類中成員的訪問權限,正確理解類與結構體的異同;2.學習對象的說明和使用方法,掌握構造函數(shù)、析構函數(shù)的工作原理;4.了解、掌握文件流的用法。由于姓名、學校和電話號碼的數(shù)據長度是可變的,可使用動態(tài)的數(shù)據結構。郵編的長度是固定的,可定義一個字符數(shù)組來存放郵編。將數(shù)據成員均定義為私有的。用一個成員函數(shù)輸出所有的成員數(shù)據,用四個成員函數(shù)分別設置姓名、單位、電話號碼和郵編,再用四個成員函數(shù)分別獲取姓名、單位、電話號碼和郵編。主函數(shù)完成簡單的測試工作。{charBox[10];//郵編public:voidPrint(void)//輸出數(shù)據成員{}voidInit(char*,char*,char*,char*);voidFreeSpace(void);//釋放數(shù)據成員占用的空間{}voidSetScool(char*unit)//置學校名稱{if(pSchool)delete[]pSchool;strcpy(pSchool,unit);}{}{}{}char*GetScool(void)//取學校{}{}{returnBox;}};{//完成初始化strcpy(pSchool,unit);strcpy(Box,b);}{if(pSchool)delete[]pSchool;}{c1.Init("于元","河海大學",,"210024");c2.Init("王海","南京理工大學",,"210015");c1.Print();c2.Print();c1.SetScool("南京理工大學");c1.Print();c1.FreeSpace();c2.FreeSpace();}用以下數(shù)據測試程序的正確性:將成員函數(shù)的權限改為私有的,觀察現(xiàn)象。將類改為結構體,重新執(zhí)行程序,輸出成員數(shù)據。增加數(shù)據成員:郵件地址,手機號碼,并將電話號碼分為住宅電話和辦公電話。的基本功能包括:可連續(xù)將新書存入文件“book.da尾部,所以,以增補方式打開輸出文件。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論