科目编号:7405 座位号
2018-2019学年度第二学期期末考试
面向对象程序设计(本) 试题
2018年 7 月
一、单选题(本大题共10小题,每小题3分,共计30分)
(★请考生务必将答案填入到下面对应序号的答题框中★)
1.假定p是具有int类型的指针变量,则给P赋值的正确语句为()。
A. p=new int
B.p=aew int*
C. p=new int
D.p=new int[10]
2.设X是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为()
A. 1
B. 0
C.与x值相同
D.与x值相反
3.2.在下列的符号常量定义中,错误的定义是()。
A. const double DD=3.14;
B. const int M=20;
C. const char ch;
D. const bool mark=true;
4.设 x 和 y均为bool量,则x || y 为假的条件是
A 它们均为真
B 其中一个为真
C 它们均为假
D 其中一个为假
5.下面给字符数组赋初值时,正确的语句是()。
A.char sl[]=“abcdef”;
B.char s2[4]=“abed”;
C.char s3[2][3]={“abc”,“xyz”};
D.char s4[4][]={‘a’,’x’,’s’,’t’,};
6.C++源程序文件的缺省扩展名是:
A.cpp
B.exe
C.obj
D.lnk
7.假定AB为一个类,则()为该类的拷贝构造函数的原型说明。
A.AB(AB x);
B.AB(AB& x);
C.void AB(AB& x);
D.AB(int x);
8.用来构成C++程序文件的基本单位是()
A.字符 B.语句 C.函数 D.表达式
9.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。
A.x.a
B.x.a()
C.x—>a
D.x->a()
10.下面的函数声明中,哪一个是 “void BC(int a int b); ”的重载函数?
A int BC(int a, int b)
B void BC(int a, char b)
C float BC(int a,int b, int c=0)
D void BC(int a, int b= 0)
二、填空题(本大题共5小题,每小题4分,共计20分)
(★请考生务必将答案填入到下面对应序号的答题框中★)
1.重载一个函数的条件是:该函数必须在参数的_______ 或参数对应的类型上与其它同名函数不相同。
2.假定x=5,y=6,则表达式x- -*–y的值为
3.假定x是一个逻辑量,则x||true的值为 。
4.c++提供的预处理命令有宏定义命令,条件编译命令和 命令。
5.假定a是一个一维数组,则a[i]的指针访问方式为 。
三、程序阅读题(本大题共5小题,每小题6分,共计30分)
1.#include<iostream.h>
void main(){
int n=5,sum=0;
while(n){
sum += n*n;
n–;
}
cout << “sum=”<<sum<<endl;
}
请写出上面程序的运行结果:
2.#include<iostream.h>
void main(){
int s1=0;
for(int i=1;i<=4;i++) s1+=2*i;
cout<<“s1=”<<s1<<endl;
}
请写出上述程序的运行结果:
3.#include<iostream.h>
void main()
{
int x=5;
switch(2x-3){
case 4: cout<<x<<’’; break;
case 7: cout<<2x+1<<’’;break;
case 10:cout<<3*x-1<<’’;break;
default:cout<<“default”<<endl;
}
}
请写出以上程序的运行结果:
4.#include<iostream.h>
void main(){
int a[3][4]={{1,2,7,8},{5,6,11,15},{9,21,3,4}};
int m=a[0][0];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
if(a[i][j]>m) m=a[i][j];
cout<<m<<endl;
}
请写出以上程序的运行结果:
5.#include<iostream.h>
#include<string.h>
void main()
{
int i,len=0;
char a[3][8]={“year”,“month”,“day”};
for(i=0;i<3;i++)
len+=strlen(a[i]);
cout<<len<<endl;
}
请写出上述程序的运行结果:
四、程序分析题(本大题共2小题,每小题10分,共计20分)
1.//假定结构类型Worker中的name域表示姓名,age域表示年龄,pay域表示工资
void QA(Worker a[],int n){
for(int i=0;i<n;i++)
cin>>a[i].name>>a[i].age>>a[i].pay;
}
请描述上述函数的功能:
2.int SC(int a,int b,int c){
if(a>b) a=b;
if(a>c) a=c;
return a;
}
请描述上述函数的功能: