![C++典型案例分析_第1頁](http://file4.renrendoc.com/view/d5c86273c0c696bda7babb879ee02fdf/d5c86273c0c696bda7babb879ee02fdf1.gif)
![C++典型案例分析_第2頁](http://file4.renrendoc.com/view/d5c86273c0c696bda7babb879ee02fdf/d5c86273c0c696bda7babb879ee02fdf2.gif)
![C++典型案例分析_第3頁](http://file4.renrendoc.com/view/d5c86273c0c696bda7babb879ee02fdf/d5c86273c0c696bda7babb879ee02fdf3.gif)
![C++典型案例分析_第4頁](http://file4.renrendoc.com/view/d5c86273c0c696bda7babb879ee02fdf/d5c86273c0c696bda7babb879ee02fdf4.gif)
![C++典型案例分析_第5頁](http://file4.renrendoc.com/view/d5c86273c0c696bda7babb879ee02fdf/d5c86273c0c696bda7babb879ee02fdf5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C++簡樸程序經(jīng)典案例【案例2-1】設(shè)計一種編寫僅包括C++程序基本構(gòu)成元素的程序/*
//注釋行開始ThisisthefirstC++program.
Designedbyzrf*/
//注釋行結(jié)束#include<iostream>
//包括頭文獻(xiàn)usingnamespacestd;
//打開命名空間std//Thisisthemainfunction
//單行注釋語句intmain(void)
//主函數(shù),程序入口{
//塊作用域開始intage;
//申明一種變量age=20;
//賦值語句cout<<"Theageis:\n";
//輸出一種字符串cout<<age<<endl;
//輸出變量中的值return0;
//主函數(shù)返回0}
//塊作用域結(jié)束
【案例2-2】計算圓的周長和面積——C++語言中常量、變量#include<iostream>usingnamespacestd;intmain(){
constfloatPI=3.1415926;
//float型常量floatr=2.0;
//用float型常量初始化變量cout<<"r="<<r<<endl;
//輸出圓的半徑floatlength;
//float型變量申明length=2*PI*r;
//計算圓的周長cout<<"Length="<<length<<endl;
//輸出圓的周長floatarea=PI*r*r;
//計算圓的面積cout<<"Area="<<area<<endl;
//輸出圓的面積return0;}【案例2-3】整數(shù)的簡樸運(yùn)算——除法、求余運(yùn)算法和增量減量運(yùn)算符#include<iostream>usingnamespacestd;intmain(){
intx,y;x=10;
y=3;cout<<x<<"/"<<y<<"is"<<x/y
//整數(shù)的除法操作<<"withx%yis"<<x%y<<endl;
//整數(shù)的取余操作x++;
--y;
//使用增量減量運(yùn)算符cout<<x<<"/"<<y<<"is"<<x/y<<"\n"
//整數(shù)的除法操作<<x<<"%"<<y<<"is"<<x%y<<endl;
//整數(shù)的取余操作return0;}【案例2-4】多重計數(shù)器——前置和后置自增運(yùn)算符#include<iostream>
usingnamespacestd;
intmain()
{
intiCount=1;
iCount=(iCount++)+(iCount++)+(iCount++);
//后置++cout<<"Thefirst
iCount="<<iCount<<endl;iCount=1;
iCount=(++iCount)+(++iCount)+(++iCount);
//前置++cout<<"ThesecondiCount="<<iCount<<endl;iCount=1;
iCount=-iCount++;
//后置++cout<<"Thethird
iCount="<<iCount<<endl;iCount=1;
iCount=-++iCount;
//前置++cout<<"Thefourth
iCount="<<iCount<<endl;return0;
}【案例2-5】對整數(shù)“10”和“20”進(jìn)行位運(yùn)算——位運(yùn)算的應(yīng)用#include<iostream>usingnamespacestd;intmain()
{
cout<<"20&10="<<(20&10)<<endl;
//按位與運(yùn)算cout<<"20^10="<<(20^10)<<endl;
//按位異或運(yùn)算cout<<"20|10="<<(20|10)<<endl;
//按位或運(yùn)算cout<<"~20="<<(~20)<<endl;
//按位取反運(yùn)算cout<<"20<<3="<<(20<<3)<<endl;
//左移位運(yùn)算cout<<"-20<<3="<<(-20<<3)<<endl;
//左移位運(yùn)算cout<<"20>>3="<<(20>>3)<<endl;
//右移位運(yùn)算cout<<"-20>>3="<<(-20>>3)<<endl;
//右移位運(yùn)算return0;}【案例2-6】實(shí)現(xiàn)邏輯“異或”運(yùn)算——邏輯運(yùn)算應(yīng)用#include<iostream>usingnamespacestd;intmain(){
boolp,q;p=true;
q=true;cout<<p<<"XOR"<<q<<"is"<<((p||q)&&!(p&&q))<<"\n";//輸出異或成果p=false;
q=true;cout<<p<<"XOR"<<q<<"is"<<((p||q)&&!(p&&q))<<"\n";//輸出異或成果p=true;
q=false;cout<<p<<"XOR"<<q<<"is"<<((p||q)&&!(p&&q))<<"\n";//輸出異或成果p=false;
q=false;cout<<p<<"XOR"<<q<<"is"<<((p||q)&&!(p&&q))<<"\n";//輸出異或成果return0;}【案例2-7】高效篩選器——用條件運(yùn)算符“?”構(gòu)建條件體現(xiàn)式#include<iostream>usingnamespacestd;intmain()
{
intiNum1=1,iNum2,iMax;cout<<"Pleaseinputtwointegers:\n";
cin>>iNum1>>iNum2;iMax=iNum1>iNum2?iNum1:iNum2;
//使用條件運(yùn)算符構(gòu)建條件體現(xiàn)式cout<<"Themaxintegeris:"<<iMax<<endl;return0;}【案例2-8】“多計算與單提取”功能的實(shí)現(xiàn)——逗號體現(xiàn)式#include<iostream>usingnamespacestd;intmain()
{
intVal1,Val2,Val3,Left,Midd,Righ;Left=10;
Midd=20;
Righ=30;Val1=(Left++,--Midd,Righ++);
//使用逗號體現(xiàn)式Val2=(Righ++,Left++,--Midd);
//使用逗號體現(xiàn)式Val3=(--Midd,Righ++,Left++);
//使用逗號體現(xiàn)式cout<<"Val1=\t"<<Val1<<"\nVal2=\t"<<Val2<<"\nVal3=\t"<<Val3<<endl;return0;}【案例2-9】高效的算術(shù)運(yùn)算符——復(fù)合賦值運(yùn)算符#include<iostream>usingnamespacestd;intmain(){
intn=20;
cout<<"n="<<n<<endl;n+=8;
cout<<"Aftern+=8,n="<<n<<endl;
//使用復(fù)合的賦值運(yùn)算符+=n-=6;
cout<<"Aftern-=6,n="<<n<<endl;
//使用復(fù)合的賦值運(yùn)算符-=n*=1;
cout<<"Aftern*=1,n="<<n<<endl;
//使用復(fù)合的賦值運(yùn)算符*=n/=4;
cout<<"Aftern/=4,n="<<n<<endl;
//使用復(fù)合的賦值運(yùn)算符/=n%=3;
cout<<"Aftern%=3,n="<<n<<endl;
//使用復(fù)合的賦值運(yùn)算符%=return0;}【案例2-10】計算不一樣數(shù)據(jù)類型的存儲容量——sizeof運(yùn)算符#include<iostream>usingnamespacestd;intmain(){
cout<<"Thesizeofanintis:\t\t"<<sizeof(int)<<"bytes.\n";cout<<"Thesizeofashortintis:\t"<<sizeof(short)<<"bytes.\n";cout<<"Thesizeofalongintis:\t"<<sizeof(long)<<"bytes.\n";cout<<"Thesizeofacharis:\t\t"<<sizeof(char)<<"bytes.\n";cout<<"Thesizeofawchar_tis:\t"<<sizeof(wchar_t)<<"bytes.\n";cout<<"Thesizeofafloatis:\t\t"<<sizeof(float)<<"bytes.\n";cout<<"Thesizeofadoubleis:\t"<<sizeof(double)<<"bytes.\n";return0;}【案例2-11】巧妙獲取整數(shù)部分——double和int數(shù)據(jù)類型的轉(zhuǎn)換#include<iostream>usingnamespacestd;intmain(){
intnn=10,mm;doublexx=4.741,yy;cout<<"nn*xx="<<nn*xx<<endl;
//體現(xiàn)式類型轉(zhuǎn)換mm=xx;
yy=nn;
//賦值類型轉(zhuǎn)換cout<<"mm="<<mm<<endl<<"yy="<<yy<<endl;cout<<"int(xx)="<<int(xx)<<endl<<"(int)xx="<<(int)xx<<endl;
//強(qiáng)制類型轉(zhuǎn)換cout<<"int(1.412+xx)="<<int(1.412+xx)<<endl;
//強(qiáng)制類型轉(zhuǎn)換cout<<"(int)1.412+xx="<<(int)1.412+xx<<endl;
//強(qiáng)制類型轉(zhuǎn)換return0;}【案例2-12】將分?jǐn)?shù)轉(zhuǎn)換為小數(shù)——強(qiáng)制類型轉(zhuǎn)換#include<iostream>usingnamespacestd;intmain(){
for(inti=1;i<=5;++i)cout<<i<<"/3is:"<<(float)i/3<<endl;
//強(qiáng)制類型轉(zhuǎn)換return0;}【案例2-13】安全的除法計算器#include<iostream>usingnamespacestd;intmain(){
inta,b;cout<<"Enternumerator:";
cin>>a;cout<<"Enterdenominator:";
cin>>b;if(b)cout<<"DivideResultis:"<<a/b<<'\n';
//排除除數(shù)為零的狀況elsecout<<"Dividebyzero!\n";return0;}【案例2-14】猜數(shù)游戲——嵌套的if條件語句#include<iostream>#include<cstdlib>usingnamespacestd;intmain(){
intMagNum,GueNum;
MagNum=rand();
//產(chǎn)生隨機(jī)數(shù)cout<<"EntertheGuessnumber:";
cin>>GueNum;if(GueNum==MagNum){
//if語句塊起始位置cout<<"*ItisRight*\n"<<MagNum<<"istheMagessnumber.\n";}
//if語句塊結(jié)束位置else{
//else語句塊起始位置cout<<"Sorry,you'rewrong."<<endl;if(GueNum>MagNum)
cout<<"Guessednumberistoohigh.\n";else
cout<<"Guessednumberistoolow.\n";}
//else語句塊結(jié)束位置return0;}【案例2-15】根據(jù)輸入月份輸出從年初到本月底的天數(shù)——不帶break的switch#include<iostream>usingnamespacestd;intmain(){
intyear,month,days=0;cout<<"Inputyearandmonth:";
cin>>year>>month;switch(month)
//每個case分支均沒有break語句{
case12:days+=31;case11:days+=30;case10:days+=31;case
9:days+=30;case
8:days+=31;case
7:days+=31;case
6:days+=30;case
5:days+=31;case
4:days+=30;case
3:days+=31;case
2:
//判斷與否為閏年if(year%4==0&&year%100!=0||year%400==0)
days+=29;else
days+=28;case
1:days+=31;}if(days==0)
cout<<"Wrongmonth"<<endl;else
cout<<"Totaldaysis:"<<days<<endl;return0;}【案例2-16】計算數(shù)的階乘——do-while循環(huán)語句#include<iostream>usingnamespacestd;intmain(){
longlimits;cout<<"Enterapositiveinteger:";
cin>>limits;cout<<"Factorialnumbersof"<<0<<"is"<<1<<endl;cout<<"Factorialnumbersof"<<1<<"is"<<1<<endl;longfac=1,i=1;do
//使用do-while循環(huán){
fac*=++i;
cout<<"Factorialnumbersof"<<i<<"is"<<fac<<endl;}while(fac<limits);return0;}【案例2-17】計算數(shù)的階乘——for循環(huán)#include<iostream>usingnamespacestd;intmain(){
longlimits;cout<<"Enterapositiveinteger:";
cin>>limits;cout<<"Factorialnumbersof"<<0<<"is"<<1<<endl;cout<<"Factorialnumbersof"<<1<<"is"<<1<<endl;longfac=1;for(inti=2;fac<=limits;i++)
//使用for循環(huán){
fac*=i;cout<<"Factorialnumbersof"<<i<<"is"<<fac<<endl;}return0;}【案例2-18】篩選素數(shù)——步長為2的for循環(huán)#include<iostream>#include<cstdlib>usingnamespacestd;intmain(){
longn;cout<<"Enterapositiveinteger:";
cin>>n;if(n<2)
cout<<n<<"isnotprime."<<endl;elseif(n<4)
cout<<n<<"isprime."<<endl;elseif(n%2==0)
cout<<n<<"=2*"<<n/2<<endl;else{
for(inti=3;i<=n/2;i+=2)
//步長為2if(n%i==0)
{cout<<n<<"="<<i<<"*"<<n/i<<endl;
exit(0);}cout<<n<<"isprime."<<endl;}return0;}【案例2-19】輸出1~20之間的偶數(shù)——continue語句#include<iostream>usingnamespacestd;intmain(){
cout<<"Theevennumbersareasfollows:"<<endl;for(inti=0;i<=20;i++){
if(i%2)continue;
//根據(jù)條件使用continue結(jié)束本次循環(huán)cout<<i<<'';}return0;}【案例2-20】記錄輸入整數(shù)的個數(shù)并求和——exit()函數(shù)#include<iostream>#include<cstdlib>usingnamespacestd;intmain(){
intsum=0,num=0,m;cout<<"Pleaseinputintegers(0:end):"<<endl;do{cin>>m;
num++;
sum+=m;if(m==0){cout<<"Enterednumbers:"<<num<<"integers.\n";cout<<"Thesumis:"<<sum<<endl;exit(0);
//使用exit()函數(shù)終止程序}}while(1);return0;}【案例2-21】“剪刀、石頭、布”游戲——枚舉類型#include<iostream>usingnamespacestd;enumChoice{ROCK,CLOTH,SCISS};
//申明枚舉類型ChoiceenumWinner{Play1,Play2,Tie};
//申明枚舉類型Winnerintmain(){
intn;
Choicecho1,cho2;
Winnerwinner;cout<<"Chooserock(0),cloth(1),orSciss(2):"<<endl;cout<<"PlayerNo.1:";
cin>>n;
cho1=Choice(n);cout<<"PlayerNo.2:";
cin>>n;
cho2=Choice(n);if(cho1==cho2)winner=Tie;elseif(cho1==ROCK)if(cho2==CLOTH)
winner=Play2;else
winner=Play1;elseif(cho1==CLOTH)if(cho2==SCISS)
winner=Play2;else
winner=Play1;elseif(cho2==ROCK)
winner=Play2;else
winner=Play1;if(winner==Tie)
cout<<"\tTied!\n";elseif(winner==Play1)
cout<<"\tPlayerNo.1wins."<<endl;else
cout<<"\tPlayerNo.2wins."<<endl;return0;}【案例2-22】簡樸的學(xué)生信息類型——構(gòu)造體#include<iostream>#include<iomanip>usingnamespacestd;structstudent
//學(xué)生信息構(gòu)造體{
intnum;charname[20];chargender;intage;}stu1={1001,"ZhangSan",'M',19};intmain(){
studentstu2={1002,"LiSi",'M',20};
//申明構(gòu)造體變量并初始化studentstu3={1003,"WangHong",'F',22};
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年旅行社服務(wù)項目建議書
- 2025年微波輻射計、微波散射計、測高計項目發(fā)展計劃
- 實(shí)施精準(zhǔn)營銷策略提高市場占有率水平
- 光學(xué)鏡片透光率測量基準(zhǔn)
- 辦公環(huán)境改善措施細(xì)則
- 城市地下綜合管廊建設(shè)與管理技術(shù)研究
- 格林童話選故事解讀
- 1-3-Methoxyphenyl-piperazine-生命科學(xué)試劑-MCE
- 公司年會演講致辭稿件范本
- 企業(yè)員工激勵計劃及策劃方案的說明
- 《紙杯變變變》課件
- 2024年山東魯商集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 財務(wù)部門職責(zé)財務(wù)部工作職能
- 《月歷上的數(shù)字的奧秘》
- 班級公約(完美版)
- 第六章ACS6000勵磁單元
- 醫(yī)療衛(wèi)生監(jiān)督協(xié)管巡查記錄表
- 水利工程資料匯編全套
- 教科版科學(xué)四年級下冊第一單元《植物的生長變化》單元作業(yè)設(shè)計
- 中國交建模板
- 《寒假開學(xué)第一課》課件
評論
0/150
提交評論