面向对象程序设计b卷 下载本文

内容发布更新时间 : 2024/12/29 0:10:39星期一 下面是文章的全部内容请认真阅读。

《面向对象程序设计》课程试题(B卷)

本试卷适用于2016级信息与计算科学专业 (时量:120分钟;总分为100分)

命题人:戴亚滨

注 意: 1、所有答案和解答均应写在答题纸上,答在试卷上不记分 2、答案必须写明题目序号,并按题号顺序答题 3、请保持行距,保持卷面整洁

一、选择:(每题2分,共20分)

1.下列变量名中,( )是合法的。

A CHINA B byte-size C double D A+a 2.C++的数组定义可以有多种形式。下面定义中不正确的是:____ A. char ac[4]; B. char ac[4] = ['a','d','e']; C. char ac[] = {'a', 'd', 'e'}; D. char ac[] = \3.下列( )是正确的语句。

A ; B a=17 C x+y D cout<<\4.循环while(int i=0) i--;执行次数是( )。 A 0 B 1 C 5 D 无限 5.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。 A g(f(3)); B f(g(3)); C g(f(3)+2); D p= f(g(3)+1); 6.设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( )。

A int * 和int B int * 和int ** C int 和int * D int * 和int * 7.设int x;,则经过( )后,语句*px=0;可将x值置为0。

A int * px; B int const * px=&x; C int * const px=&x; D const int * px=&x; 8.设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。 A f1(a,b); B f1(&a,b); C f1(a,&b); D f1(&a,&b); 9.C++的代码注释有两种形式。下面代码片断运行后,a的值为_____ a = /* a= 3 */ 2; // a ++ a++;

b = 2; //will add b to a /** a += b; */

a += b;

A. 3 B. 4 C. 5 D. 6

10.使用操作符setw对数据进行格式输出时,需要包含( )文件。 A iostream.h B fstream.h C iomanip.h D stdlib.h

二、 程序理解题(20分)

1.写出下列程序的执行结果。 # include void fun(int,int,int * ); void main() {

第 1 页 共 1 页

int x,y,z;

fun (2,3,&x); fun (4,x,&y); fun (x,y,&z);

cout<

void fun(int a,int b,int * c ) { b*=a;*c=b-a;}

2.下列程序读入一个文件aaa.txt的数据到向量中,文件中为一些整数,要判断向量中的元素有多少个两两相等的数对,请将程序补充完全。

# include # include # include ________ uing namespace std; void main()

{ ifstream in(_______________); vector s;

for(int a; in>>a;) __________ int pair=0;

for(int i=0;i

cout<

三..写出下列程序的运行结果。(每题10分,共20分)

1. #include using namespace std ; class studentID{ int value ; public:

studentID(int id=0){ value=id;

cout<<”assigning student id “<

Class student { String name; StudentID id ; Public:

student (string n=”no name “, int ssID ): id( ssID),name(n){ cout<<”constructing student “<

Int main(){

student s (“randy”,98);

第 2 页 共 2 页

student t (“jenny”); }

2.有如下程序:

#include class A { public: A();

A(int i,int j);

~A(){cout<<\ void print(); private: int a,b; };

A::A() { a=b=10;cout<<\A::A(int i,int j) { a=i,b=j;cout<<\void A::print() {cout<<\void main() { A m,n(15,18); m.print(); n.print();}

四、编程题(1、2小题每题15分,3小题10分,共40分)

1.有一些日期,在文件abc.txt中,后面加*号的表示要加班的日期,试汇总所有每个月25号的天数,如果是加班日,则改天乘2.

Oct. 25 2003

Oct. 26 2003 Sep. 12 2003* abc.txt

Juy. 25 2002* 2.编程求解母牛问题。若一头母牛,从出生起第四个年头开始每年生一头母牛,按此规

律,第n年是有多少头母牛?

3.编程求解1到1亿之间素数的个数,要求用筛法解决该问题。

第 3 页 共 3 页