中央广播电视大学2012—2013学年度第二学期“开放本科”期末考试
2013年7月 试卷代号:1075 C++语言程序设计 试题
一、单选题(每小题2分,共20分)
1.下面的保留字( )不能作为函数的返回类型。
A.void B.int
C.new D.long
2.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为( )。
A.main B.MAIN
C.name D.function
3.设x和y均为b00l量,则逻辑表达式x∣∣y为假的条件是( )。
A.x和y均为真 B.其中一个为真
C.x和y均为假 D.其中一个为假
4.若用数组名作为函数调用的实参,传递给形参的是( )。
A.数组的首地址 B.数组中第一个元素的值
C.数组全部元素的值 D.数组元素的个数
5.将两个字符串连接起来组成一个字符串时,选用( )函数。
A.strlen( ) B.strcpy( )
C.strcat( ) D.strcmp( )
6.在下面的二维数组定义中,只有( )语句是正确的。
A。int a[5][ ]; B.int a[ ](10);
C.int a口[ ]; D.int a[ ][5]={{1,2,3},{4,5}};
7.枚举类型中的每个枚举常量的值都是一个( )。
A.整数 B.浮点数
C.字符 D.逻辑值
8.假定指针变量P定义为”int*p=new int[30];”,要释放P所指向的动态数组空间,则使用下面的( )语句。
A.delete p; B.delete*P;
C.delete &p; D.delete [ ]P;
9.当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( )
A.n B.n+1
C.n一1 D.n一2
10.当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含( )头文件。
A.strstrea.h B.stdlib.h
C.iostream.h D.fstream.h
二、填空题(每小题2分。共20分)
11.C++源程序文件的缺省扩展名为————。
12.结束所在循环类语句或switch语句执行的中断语句的保留字为————。
13.假定y=8,则执行++y*4运算后,y的值为————。
14.每个字符指针变量占用内存————个字节。
15.关系表达式x<5的相反表达式为 ————。
16.假定整数变量x=48,则x/6的运算结果为————。
17.假定一个二维数组的定义语句为“int a[3][5];”,则该数组包含有————个整型元素。
18.函数被调用时,实参向形参的传送分为引用传送和————传送两种方式。
19.假定一个结构类型的定义为“struct B{int a[4];char*b;};”,则该类型的大小为————字节。
20.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的————使其初始化。
三、写出下列每个程序的运行结果(每小题6分,共36分)
2 1.#include<iostream.h>
void main( ){
int sl=0:
for(int i=1;i<一4;i++)sl+一2*i;
cout<<”sl=”<<sl<<endl;
}
运行结果:
22.#include<iostream.h>
void main( ){
int n=5,sum=0;
while(n){
sum+=n*n:
n一一:
}
cout<<”sum=”<<sum<<endl;
}
运行结果:
23.#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;
}
运行结果:
24.#include<iostream.h>
void main( )f
int a=1,b=2,C;
c=a+b:
{int b=a+2;
c+=a+b:
}
cout<<c<<endl:
}
运行结果:
25.#include<iostream.h>
void main( ){
int a[8]={6,19,4,12,20,5,18,25};
int*P,s=0;
for(p=a;p<a+8;p++)
if(* p<l0) s+=* P:
cout<<s<<endl;
}
运行结果:
26.#include<iostream.h>
#include<string.h>
struct Worker{
char name[15];int age;float pay;
};
void main(){
Worker x;
strcpy(x.name,”WangRong”);
x.age=45;x.pay=3275;
cout<<x。name<<’ ’<<x。age<<’ ’<<x.pay<<endl;
}
运行结果:
四、写出下列每个函数的功能(每小题8分,共24分)
27.int WC(int a[ ],,int n,int k){
int c=0;
for(int i=0;i<n;i++) if(a[i]>=k) c++;
return c}
}
函数功能:
28.int SC(int a,int b,int c){
if(a>b) a=b;
if(a>c) a=c;
return a;
}
函数功能:
29.假定结构类型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;
}
函数功能:
暂无评论内容