C++面向对象程序设计习题集
杜 青 解 芳编
南京工程学院计算机工程学院
2013-7-1
第1章 C++的初步知识
本章主要知识点:
1. C++的输入输出
2. 函数重载与函数模板
3. 变量的引用
4.其它C++的扩充内容:常变量、字符串变量、new/delete
习 题
1. 输入圆的半径,求圆的周长和面积。(其中圆周率取3.1415926)
2. 输入三角形三个边长,求三角形面积。
3. 写出下列程序的运行结果。
#include<iostream>
using namespace std;
void fun(int a=1,int b=2,int c=3)
{
cout<<"a="<<a<<" "<<"b="<<b<<" "<<"c="<<c<<endl;
}
main()
{ fun();
fun(10);
fun(10,20);
fun(10,20,30);
}
答案:a=1 b=2 c=3
a=10 b=2 c=3
a=10 b=20 c=3
a=10 b=20 c=30
4. 写出一个模板函数findmax,函数功能为求x、y、z的中的最大值,定义主函数,调用该函数。
答案:
#include<iostream.h>
template<typename T>
T findmax(T x,T y,T z)
{
T max;
if(x>y)
max=x;
else
max=y;
if(max<z)
max=z;
return z;
}
main()
{
int x=10,y=20,z=30;
cout<<findmax(x,y,z)<<endl;
}
5. 写出一个模板函数sort,函数功能为可以对n个数据由小到大排序,定义主函数,调用该函数。
6. 写出下列程序的运行结果。
#include <iostream>
using namespace std;
void func(int xx,int &ss,int &cc)
{ xx++;ss=xx*xx;cc=xx*xx*xx; }
int main()
{ int x=5,s=6,c=7;
func(x,s,c);
cout<<x<<" "<<s<<" "<<c<<endl;
return 0;
} 5 36 216
7. 写出下列程序的运行结果。
#include<iostream>
using namespace std;
void fun(int& x, int y)
{ int t = x; x = y; y = t; }
int main( )
{ int a[2] = {23, 42};
fun(a[1], a[0]);
cout << a[0] << ", " << a[1] <<endl; return 0;
} 23,23
7. 在下面的程序中,定义一个函数rank,使得主函数中的输出从小到大。
#include<iostream>
using namespace std;
int main()
{ int a,b,c;
cin>>a>>b>>c;
rank(a,b,c);
cout<<a<<" "<<b<<" "<<c<<endl;
}
答案:
void rank(int &a,int &b,int &c)
析构函数的定义{
int t;
if(a>b)
t=a,a=b,b=t;
if(a>c)
t=a,a=c,c=t;
if(b>c)
t=b,b=c,c=t;
}
8. 定义一个函数exchange,定义主函数,在主函数中调用调用exchange(x,y,z),可以实现将x值赋给y,y值赋给z,z值赋给x。
9. 输入一个字符串,将其逆序输出。
10. 将5个字符串按照由小到大的顺序输出。
第2章 类和对象
本章主要知识点:
1. 面向对象程序设计的基本概念
2. 类的声明与对象的定义
3. 类的成员函数
4.对象成员的引用
习 题
1. 将下面的程序除函数main()外封装成一个Mytime类,并将函数main()进行相应的改写。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论