一、单选题(每小题2分,共12分)
1.设x和y均为b。。1量,则x&&y为真的条件是( )。
A.它们均为真 B.其中一个为真
C.它们均为假 D.其中一个为假
2.设x和y均为bool量,则x||y为假的条件是( )。
A.它们均为真 B.其中一个为真
C.它们均为假 D。其中一个为假
3.声明或定义一个内联函数时,必须在函数开始使用保留宇( )。
A. static B.const
C. inline D。extern
4.在下面的函数声明中,存在着语法错误的是( )。
A.BC(int a, int); B. BC(int,int);
C. DC(int,int=5); D. BC(int x; inl y);
5.假定AB为一个类,则执行“ABa(4),b[5],*p[2]:”语句时,自动调用该类构造函数的次数为( )。
A.6 B.7
C. 9 D. 11
6.假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete[]px;”语句时,自动调用该类析构函数的次数为( )。
A.1 B.n
C n—l D.n+l
二、填空题(每小题2分,共24分)
7.已知’A’一’Z’的ASCII码为65—90,当执行"charch=14*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为——。
8.float和double类型的长度分别为——和——。
9.表达式x=x+l表示成增量表达式为——。
10.关系表达式x+y>5的相反表达式为——.
11.假定一个二维数组的定义为“int a[3][6];”,则该数组所含元素的个数为——,所占存储空间的字节数为——.
12.执行“typedef int ABC[20];”语句把ABC定义为具有20个整型元素的 ———.
13.假定p所指对象的值为36,p+l所指对象的值为49,则*++p的值为——
14. 假定a是一个二维数组,则 a[i][i]的指针访问方式为 ——。
15.假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为———。
16.对一个类中的数据成员的初始化可以通过构造函数中的——实现,也可以通过构造函数中的——实现。
17.当一个类对象离开它的作用域时,系统将自动调用该类的——。
18.假定AB为一个类,则执行"ABa[8];”语句时,系统自动调用该类构造函数的次数为————。
三、给出下列程序运行后的输出结果(每小题6分,共30分)
19. #include<iostream.h>
void SB(char ch) {
switch(ch) {
case 'A': case 'a':
cout<<"well !"; break;
case 'B': case 'b'
cout<<"good !"; break;
case 'C': case 'c':
cout<<"pass ! "; break
default:
cout<<"bad! "; break;
)
cout<<endl;
}
void main() {
char a[6] ="Abcaf'
for(int i=0; a[i]; i++) SB(a[i]);
}
20. #include<iostream. h>
void main() {
int a[10]= {36,25,48,14,55,40,72,40,86,27};
int b1, b2;
b1 = b2 = a[O];
for(int i= 1;i<lO;i++)
if(a[i]>b1) {
if(bi>b2) b2=bl;
b1 = a[i]
}
cout<<b1<<' '<<b2<<endl;
}
21. #include<iomanip. h>
void main() {
int a[8]= {3,5,7,9,11,13,15,17};
int * p=a;
for(int i=0;i<8;i++) {
p+=l0;
cout<<setw(5)<< * p++;
if((i+1} %3= =0} cout<<endl;
}
22. # inelude<iomanip, h>
void LF(int& x, int y) {
x=x+y;
y= x+y;
cout<<"x="<<x<<", y="<<y<<endl;
}
void main() {
int x=5, y=8,
cout<<"x="<<x<<'', y="<<y<<endl;
LF(x, y);
cout<<"x="<<x<<", Y="<<Y<<endl;
}
23.# include<iomanip, h>
void main() {
int x=25,y= 120;
cout<<"dec:"<<dec<<setw(l0) <<x<<setw(l0)<<y<<endl;
cout<<"oct: "<<oct<<setw(l0) <<x<<setw(l0)<<y<<endl;
cout<<"hex:"<<hex<<setw(10) <<x<<setw(10) <<y<<dec<<endl
}
四、写出下列每个函数的功能(每小题6分,共24分)
24. double FI(double n) {
/In 为大雨等于1的整数
double x,y=0;
do {
ein>>x;
n--; y+=x;
} while(n>O);
return y;
}
25. int LK(int a[], int n) {
float s--0; iht i,
for(i=0 ;i<n; i++)
s+= a[i];
s/=n;
int m=0;
{or(i=O ;i<n;i++)
if(alii<s) m++
return m;
}
26. # inelude<iostream, h>
template<class Type>
Type WD(Type a[], int n) {
Type m= a[0] ;
for(int i=l;i<n;i++)
if(a[i]>m) re=a[i];
return m
}
27. # include<iomanip, h>
include< fstream, h>
void JD(char* fname)
//可把以fname所指字符串作为文件标识符的文件称为fname文件,
//假定该文件保存着一批整数。
{
ifstream fin(fname, ios: :in |ios: :nocreate | ios: :binary)
int x, s=O, n=O;
while(fin, read((char * ) &x, size of(x))) {
s+=x; n++
}
cout<<n<< ' ' <<s<<' ' << float(s)/n<<endl;
fin. close( );
}
28.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a十5b=126的全部整数组解。如(13,20)就是其中的一组解。
计算机专业 C++语言程序设计
一、单选题(每小题2分,共12分);
评分标准:选对者得2分,否则不得分。
1.A 2.C 3.C 4.D 5.A 6.B
二、填空题(每小题2分,共24分)
7.H
8. 4 8
9.++x
10.x+y<=5
11.18 72
12.数组类型
13. 49
14. *,(a[i]+”或*(*(a+i)十j)
15. *(x。a)
16.初始化表 函数体
17.析构函数
18. 8
三、给出下列程序运行后的输出结果(每小题6分,共30分)
评分标准:每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。
19.well!
good!
pass!
well!
bad!
20. 86 72
21. 13 15 17
19 2l 23
25 27
22.x=5,y=8 //2分
x=13,y=21 //2分
x=13,y=8 //2分
23.dec: 25 120 //2分
Oct: 31 170 //2分
hex: 19 78 //2分
四、写出下列每个函数的功能(每小题6分,共24分)
评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。
24.求出从键盘上输入的n个实数之和。
25.求出数组a的n个元素中小于平均值的元素个数并返回。
26.模板函数,从数组a的n个元素中求出最大值并返回。
27.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。
五、(10分)
28.整个程序正确得10分,否则按下面参考程序中语句后的注释给分。
#include<iostream.h>
void main( )
{
inta,bi //定义变量正确得2分
for(a=6;a<=30;a++) //外循环次数正确得2分
for(b=15;b<=36;b++) //内循环次数正确得2分
if(2xa+5,b==126)coul<<’(’<<a<<’,’<<b<<’)’<<endl;
//条件正确得2分,输出语句正确得2分
}
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
电大《教育心理学》期末综合练习04-30
票据法综合练习三04-30
电大《现代教育原理》 期末综合练习二04-30
电大《文秘管理与应用写作》综合练习及04-30
电大《资源与运营管理》形考作业二04-30
电大《资源与运营管理》形考作业一04-30