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++语言带给我们的乐趣。
上一篇:贪心算法的C语言实现与运用详解
栏 目:C语言
本文标题:C++基础知识实例解析(一)
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/2891.html
您可能感兴趣的文章
- 04-02c语言没有round函数 round c语言
- 01-10深入理解C++中常见的关键字含义
- 01-10使用C++实现全排列算法的方法详解
- 01-10c++中inline的用法分析
- 01-10用C++实现DBSCAN聚类算法
- 01-10全排列算法的非递归实现与递归实现的方法(C++)
- 01-10C++大数模板(推荐)
- 01-10浅谈C/C++中的static与extern关键字的使用详解
- 01-10深入C/C++浮点数在内存中的存储方式详解
- 01-10贪心算法 WOODEN STICKS 实例代码
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-10SublimeText编译C开发环境设置
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载