科目编号: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;
 }
请描述上述函数的功能: