网上收集的c/c++的笔试题,将部分整理成节,上传后大家方便。不是很全,但是可以作为笔试的参考吧。
三、试编写求两个数中最小值的函数模板。(分)
四、输入一字符串,去掉当中的重复字符。如字符串“ABADB”, 去掉重复字符后的字符串应为“ABD”。(分)
五、求下列分数序列的前15项之和。(分) 六、下面是一个利用重载运算符实现复数加和乘的类。在该类中复数加运算的实现代码已完成,但复数乘运算还未完成,试在类体外完成之。(分) class complex {
public: complex (double r=0,double i=0) { real=r; imag=i;}
complex operator + (const complex & c) { return complex(real+c.real, imag+c.imag); }
complex operator * (const complex & c); private:
double real, imag; };
七、找出下列程序中的语法错误,并注明出错类型。(分) class A
{ virtual A( ){ }; };
class B: A { };
int add(int x, int y, int z=10) { return x+y+z; } int add(int x, int y) { return x+y; } void main( ) { int x;
const int z=5; int &y=x+1; z=x; x=&z;
add(1, 2);
if(x==1) continue; x = new int[5]; return 1; } 八、分析下列程序,并回答后面的问题。(分) 程序内容如下:
#include <iostream.h> class A {
public:
A(int i=0, int j=0){ a1=i; a2=j;} virtual void Print( ) {
cout<<a1+a2<<endl; }
protected: int a1,a2; };
class B: public A {
public:
B(int i=0, int j=0): A(i,j){} void Print() {
cout<<a1-a2<<endl; } };
class C: public A {
public:
C(int i=0, int j=0): A(i,j){} void Print() {
cout<<a1*a2<<endl; } };
void main()
{ int i=10, j=8; A a(i, j); B b(i, j); C c(i, j);
A *m[3]={&c, &b, &a};
for(int n=0; n<3; n++) m[n]->Print(); A &ra=c; ra.Print(); A aa=c;
aa.Print(); }