一、单选题(每小题2分,共12分)
1. 下面的哪一个保留字不能作为函数的返回类型?( )
A. void B. int C. new D. long
2. 假定a为一个数组名,则下面的哪一种表示有错误?( )
A. a[i] B. *++a C. *a D. *(a+1)
3. 在下面的二维数组定义中,哪一个是正确的?( )
A. int a[5][]; B. int a[](10);
C. int a[][]; D. int a[][5]={{1,2,3},{4,5}};
4.下面的哪一个函数头格式不正确?( )
A. AA(int a, int b) B. AA(int a=0, int b)
C. AA(int a=0, int b=0) D. AA(int a, int b=0)
5.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。
A. AB operator +(AB& a, AB& b); B. AB operator +(AB& a);
C. operator +(AB a); D. AB& operator +();
6.当需要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含( )文件。
A. strstrea.h B. stdlib.h C. iostream.h D. fstream.h
二、填空题(每小题2分,共24分)
1. 执行“cout<<”x1=”<<18*3;”语句后得到的输出结果为________。
2. 在c++语言中,用输出控制字符________表示输出一个换行。
3.short int类型的大小为________字节。
4.算术表达式 +1对应的C++表达式为____________________。
5. 逻辑表达式x<-5 || x>10的相反表达式为______________。
6. 假定x=5,则执行“a=(x<0?10:20);”语句后a的值为________。
7. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为________。
8.函数被调用时,实参向形参的传送分为________传送和值传送两种方式。
9.假定一个结构类型的定义为 ”struct B{int a[5]; char* b;};”,则该类型的大小为________字节。
10. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的____________使其初始化。
11.当一个类对象离开它的作用域时,系统将自动调用该类的____________。
12. 假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为________________。
三 写出下列每一个程序运行后的结果。(每题六分,共30分)
1. #include<iostream.h>
void main() {
int s1=0, s2=0;
for(int i=0; i<15; i++)
if(i%2) s1+=i;
else s2+=i;
cout<<s1<<','<<s2<<endl;
}
2. #include<iostream.h>
void main() {
int a[10]={8,19,46,15,6,24,27,18,20,53};
int c1=0, c2=0;
for(int i=0;i<10;i++) {
if(a[i]>=20) c1++;
if(a[i]>=10 && a[i]<=40) c2++;
}
cout<<c1<<','<<c2<<endl;
}
3. #include<iostream.h>
void main() {
int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}};
int m=a[0][0];
int k1=0, k2=0;
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
if(a[i][j]>m) {m=a[i][j]; k1=i; k2=j;}
cout<<k1<<’ ’<<k2<<’ ’<<a[k1][k2]<<endl;
}
4. #include<iostream.h>
void main() {
int a=10, b=15;
cout<<a<<' '<<b<<endl;
{ a*=3;
int b=a+20;
cout<<a<<' '<<b<<endl;
}
cout<<a<<' '<<b<<endl;
}
5. #include<iostream.h>
struct Worker {
char name[15]; //姓名
int age; //年龄
float pay; //工资
};
void main() {
Worker x={"wangfong",46,1640};
Worker y, *p;
y=x; p=&x;
cout<<y.name<<’ ’<<y.age<<’ ’<<y.pay<<endl;
cout<<p->name<<’ ’<<p->age+5<<’ ’<<p->pay-300<<endl;
}
四、写出下列每个函数的功能(每小题6分,共24分)
1. bool WB(int a[], int n, int x) {
for(int i=0;i<n;i++)
if(a[i]==x) return true;
return false;
}
2. template<class Type>
bool WE(Type a[], Type b[], int n) {
int c=0;
for(int i=0;i<n;i++)
if(a[i]==b[i]) c++;
if(c==n) return true; return false;
}
3. void LK(double a[], int n, int& m) {
double s=0;
int i;
for(i=0;i<n;i++) s+=a[i];
s/=n;
m=0;
for(i=0;i<n;i++) if(a[i]>=s) m++;
}
4.假定以fname所指字符串作为文件名的文件中保存着一批正整数。
#include<iomanip.h>
#include<fstream.h>
int JB(char* fname)
{
ifstream fin(fname);
int a, max=0;
while(fin>>a) if(a>max) max=a;
fin.close();
return max;
}
五、按题目要求编写函数(10分)
假定一个函数声明为“int FF(int a[], int n);”,要求递归求出数组a中所有n个元素之积并返回。
一、单选题(每小题2分,共12分)
评分标准:选对者得2分,否则不得分。
1.C 2.B 3.D 4.B 5.B 6.A
二、填空题(每小题2分,共24分)
评分标准:每题与参考答案相同者得2分,否则不得分。
1. x1=54 2. ’/n’
3. 2 4. (x*x+y*y)/(2*x*y)+1
5. x>=5 && x<=10 6. 20
7. 6 8. 引用
9. 24 10. 构造函数
11. 析构函数 12. int AB::bb=0;
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1. 49,56 //每个数据3分
2. 5,6 //每个数据3分
3. 2 1 20 //每个数据2分
4. 10 15 //共三行,每行数据正确得2分,否则2分全扣
30 50
30 15
5. wangfong 46 1640 //3分,每个数据1分
wangfong 51 1340 //3分,每个数据1分
四、写出下列每个函数的功能(每小题6分,共24分)
评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。
1.从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。
2.模板函数,判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回0。
3.统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回。
4.求出并返回以fname所指字符串作为文件名的文件中保存的所有整数中的最大值。
五、按题目要求编写函数(10分)
评分标准:根据编程的完整情况酌情给分。
int FF(int a[], int n)
{
if(n==1) return a[n-1];
else return a[n-1]*FF(a,n-1);
}
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
2015春中央电大《财务报表分析》网考题库期末复习练习04-30
重庆电大《市场营销学》形考作业(1)04-30
电大《现代教育原理》期末综合练习及204-30
2015春浙江电大《管理会计》综合练习04-30
陕西电大《公共政策概论》形考册04-30
电大《开放英语1》形考作业04-30