中国计量学院2012 ~ 2013 学年第 一 学期 《 C++程序设计 》课程考试试卷(A ) 开课二级学院: 理学院 ,考试时间: 2013 年 1 月 5 日 14:00-16:00 时 考试形式:闭卷√、开卷□,允许带 入场 考生姓名: 学号: 专业: 班级: 题序 一 二 三 四 五 六 七 八 九 得分 评卷人 装 一、程序填空(每空2分,共40分) 1、 重载插入运算符 class RMB { unsigned int yuan; _____public______: __RMB____(int y):yuan(y){} void display(___ostream______ &out)//添加一个成员函数,参数是一个输出流,将 订 { //yuan插入到此输出流 out<<_yuan______; } }; ostream& __operator________<< (ostream& out,RMB& d) { d.display(out); return out; } 2、 判断素数 线 #include
总分
cout<<\ _cin____>>m; double sqrtm = sqrt(m); for(int i = 2;i <= _sqrtm_______; i++) if(m%i == 0) break; if(__i<=sqrtm________)cout<<\ else cout<<\}
3、一头母牛,从出生起第四个年头开始每年生一头母牛,按此规律第n年时有多少头牛。 #include
int n;
cout <<\ cin >>n;
cout <<__cattle(n)_________ < long cattle(int n) { if(_n<=0_________) return 0; if(n<=3) return__1__; return ___cattle(n-1)______+cattle(n-3); } 4、基类Base和它的子类SubClass,其中成员函数afn是虚函数 #include ___calss_____SubClass : public ___Base_____ { public: ____Base*______afn() { cout<<\ }; 二、读程序,回答问题(每个小问题3分,共36分) 中国计量学院2012~~~2013 学年第一学期《C++程序设计》课程试卷(A )第 2 页 共 6 页 1、#include \class Circle{ private: double center_x,center_y,radius; public: void make_circle(double x,double y,double r){center_x=x; center_y=y; radius=r;} void Circle::show_circle() { cout<<\ y=\ radius=\}; void main() { Circle c1,c2; c1.make_circle(1.,5.,7.); c2.make_circle(11.,55.,77.); c1.show_circle(); c2.show_circle(); } 1) 程序的运行结果是什么? x=1 y=5 radius=7 x=11 y=55 radius=77 2)在主函数中执行语句c1.center=1;会发生什么结果? 报错 3)Circle类有没有构造函数? 有 2、void f1( int *px) { *px+=10;} void f2(int &xx) { xx+=10;} void main(void) { int x=0; cout<<\ f1(&x); cout<<\ f2(x); cout<<\} 1) 第一个x的输出值是多少?0 2)第二个x的输出值是多少?10 3)第三个x的输出值是多少?20 中国计量学院2012~~~2013 学年第一学期《C++程序设计》课程试卷(A )第 3 页 共 6 页