程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++基本常識實例解析(一)

C++基本常識實例解析(一)

編輯:關於C++

C++基本常識實例解析(一)。本站提示廣大學習愛好者:(C++基本常識實例解析(一))文章只能為提供參考,不一定能成為您想要的結果。以下是C++基本常識實例解析(一)正文


明天小編和年夜家一路經由過程幾個實例進修C++基本常識,上面停止實例解析:
【1-1】編寫一個法式,完成一個整數、長整數、浮點數和雙精度數除以2的盤算。
【剖析】這是一個典范的函數重載的法式。聲明函數div()為除法函數,每一個函數的功效根本都是分歧的,分歧的只是情勢參數的類型分歧罷了。法式代碼以下:

#include <iostream>
using namespace std;
int division(int x){ return x/2; }
long division(long x){ return x/2; }
float division(float x){ return x/2; }
double division(double x){ return x/2; }
int main()
{
   int a; long b; float c; double d;
 cout<<"input a,b,c,d:"<<endl; cin>>a>>b>>c>>d;
 if(a!=0) cout<<a<<"/2="<<division(a)<<endl;
 else cout<<"input error!"<<endl;
   if(b!=0) cout<<b<<"/2="<<division(b)<<endl;
 else cout<<"input error!"<<endl;
 if(c!=0) cout<<c<<"/2="<<division(c)<<endl;
 else cout<<"input error!"<<endl;
   if(d!=0) cout<<d<<"/2="<<division(d)<<endl;
   else cout<<"input error!"<<endl;
 return 0;
}


【總結】這是一個最原始的法式,而且很機械化。有心的讀者會發明下面的法式有很多反復的處所,這個恰是我們前面模板外面會講到的內容。
【1-2】編寫一個函數,從三個整數中找出最年夜值和最小值,並前往。
【剖析】這個法式請求一次挪用從主調函數中獲得兩個值,這不是值傳遞可以或許處理的成績,必定會斟酌應用地址傳遞。完成地址傳遞有兩種辦法,一種是指針完成,另外一種就是采取援用。變量的援用既便利又直不雅,異常利於懂得。法式代碼以下:

#include <iostream>
using namespace std;
void swap(int &a,int &b)
{ int t; t=a; a=b; b=t;}
void max(int a,int b,int c,int &maxnum,int &minnum)
{
 if(a<=b) swap(a,b);
 if(a<=c) swap(a,c);
 if(b<=c) swap(b,c);
   maxnum=a; minnum=c;
}
int main()
{
 int a,b,c,maxnum,minnum;
 cout<<"input a,b,c:"; cin>>a>>b>>c;
 max(a,b,c,maxnum,minnum);
   cout<<"maxnum="<<maxnum<<endl;
 cout<<"minnum="<<minnum<<endl;
 return 0;
}

【總結】這個法式又兩個被調函數,都用到援用。應用援用來一次前往兩個參數值,便利簡練。
【1-3】編寫一個函數,求立方體體積,默許邊長為10。
【剖析】這個法式須要用到帶有默許形參值的函數。則在聲明函數時,為形參付與默許值。當函數挪用時,假如輸出實參值,則默許函數值不起感化。而在沒有實參值輸出的情形下,就應用默許形參值停止盤算。法式代碼以下:

#include <iostream>
using namespace std;
float volumn(float a=10,float b=10,float c=10);
int main()
{
   float a,b,c;
 cout<<"沒有現實參數值時,volumn="<<volumn()<<endl;
 cout<<"input a,b,c:"; cin>>a>>b>>c;
   cout<<"有現實參數值時,volumn="<<volumn(a,b,c)<<endl;
 return 0;
}
float volumn(float a,float b,float c)
{ return a*b*c;  }

【總結】用帶有默許參數值的函數須要留意的時,默許參數值只能在函數聲明時標注,而在函數界說時則不克不及標注。固然,函數聲明和函數界說標注在一路時不受這個限制。
【1-4】編寫一個法式,盤算分離選修2、3和4門課程的先生的均勻分。
【剖析】這也是一個典范的函數重載的成績。這幾個函數的差別在於參數個數分歧。法式代碼以下:

#include <iostream>
using namespace std;
float avg(float,float);
float avg(float,float,float);
float avg(float,float,float,float);
int main()
{
 cout<<"The first student:"<<avg(80.0f,70.2f)<<endl;
 cout<<"The second student:"<<avg(80.1f,78.1f,12.3f)<<endl;
 cout<<"The third student:"<<avg(45.6f,90.1f,78.6f)<<endl;
 return 0;
}
float avg(float x,float y) { return (x+y)/2.0;  }
float avg(float a,float b,float c) { return (a+b+c)/3; }
float avg(float a,float b,float c,float d){ return (a+b+c+d)/4; }

【剖析】這幾個avg函數重載的動身點是因為其形參個數分歧。而且因為函數體只要一句話,而且沒有選擇和輪回等龐雜構造,故也能夠將其界說為內聯函數,以進步法式運轉後果。

以上就是明天小編跟年夜家分享的C++經典實例,須要年夜家親身著手操作能力體會C++說話帶給我們的樂趣。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved