中央广播电视大学2007-2008学年度第二学期"开放专科"期末考试
C++语言程序设计 试题
2008年7月
一、单选题(每小题2分,共20分)
1.下面的保留字( )不能作为函数的返回类型。
A. void B. int
C. new D. long
2.C++源程序文件的默认扩展名为( )。
A. cpp B. exe
C. obj D. lik
3.在下列的标识符常量的定义语句中,错误的定义语句是( )。
A. const double PI=3.14159 B. const int N=20
C. const char ch D. const bool mark=truc
4.for循环语句一定能够被改写为( )语句。
A.复合 B.if
C. switch D. while
5. 假定x为一个数组名,则下面的( )表达式有语法错误。
A.a[i] B. *++a
C. *a D. *(a十1)
6.在下面的二维数组定义中,只有( )语句是正确的。
A. int a[5][]; b. int a[](lO);
C. int a[][]; D. int a[][5]={{1,2,3},{4,5}};
7.下面( )的函数声明格式不正确。
A. AA(int a, int b); B. AA(int a=O, int b);
C. AA(int a=O, iht b=O); D. AA(int a, int b=O);
8.假定指针变量p定义为"int *p=new int[30];",要释放p所指向的动态数组空间.则使用下面的( )语句。
A. delete p; B. delete *p;
C. detete &p; D. delele []P;
9.假定要对类AB定义加号运算符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明浯句为( )。
A. AB operator +(AB& a, AB& b); B. AB operator +(AB& a);
C. operator +(ABa); D. AB& operator + ();
lo.当需要使用ifstream流类定义一个流对象并联系-个磁盘文件时,应在文什开始使 用#include命令,使之包含( )头文件。
A. strstrea, h B. stdlib, h
C. iostream, h D. fstream, h
二、填空题(每小题2分,共20分)
1.执行"cout<<"xl="<<18*3;"语句后得到的输出结果为一--。
2.在c++语言中.用转义字符序列一-一- 表示输出一个换行。
3. int类型的大小为一-一-个字节。
4.假定y的值为5,则增量表达式++y的值为--。
5. 假定9的值为25,则算术表达式a%3的值为一-一- 。
6.结束所在循环类涪句或Switch语句执行的中断语句的保留字为--。
7.函数凋用时,实参向形参的传送分为一-一-传送和值传送两种方式。
8.假定a是-个-维数组,则a[i]的指针访问方式为---·
9.假定一个结构类型的定义为"struct C{double a[5]; int n;};",则该类型的大小为
---个字节。
10.若要在程序中进行--的输入输出操作,则必须在开始的#inlude预处理命令 中使用fstream.h头文件。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1. # inelude
void main() {
int n=5, sum=O;
while(n) {sum+=n; n--;}
cout<<" sum="<
运行结果:
2. # include
const int N=6;
void main() {
iht a[N]= {76,83,54,62,40,65};
int cl, c2;
e1=c2=a[0];
for(int i=1;i
else if(a[i]
3. # include
void main() {
int a[8]= {4,8,15,16,20,30,48,62};
int *p=a;
do {
cout<<* p<<' ';
p+=3;
} while(p cout<
运行结果:
4.#include
int LF(int x, int y) {
x=x+y; y=x+y;
return x+y;
}
void main(){
int x=5,y=8;
cout<
运行结果:
5.#include
class A{
int 9,b;
public:
A(){9=b=0;}
A(int aa,int bb){
3=aa;b=bb;
cout<<9<<' '< }
};
void main(){A x,y(2,3);}
运行结果:
四、写出下列每个函数的功能(每小题8分,共24分)
1.double FI(double n){ //n为大于等于1的整数
double x,y=0;
for(int i=0;i
}
return y;
}
函数功能:
2.int WG(int 3,int b){
if(a>b)return 1;
else if(a==b)return 0;
else return 一1;
}
函数功能:
3.假定结构类型StrNode带有一个字符串域naiile[20]和一个结点指针域next。
void QB(StrNode * & f,int n){ //f为单链表的表头指针
if(n==0){f=NULL;return;}
f=new StrNode; //由f指向一个新结点
cin>>f->name;
StrNode * p=f;
while(--n){
p=p一>next=new StrNode;
cin>>p一>name;
}
p一>next=NULL;
}
函数功能:
五、按题目要求编写函数(6分)
假定一个函数声明为"int fun(int n);",要求判断出n是否为-一个素数,若是则返回l否则返回0;特别地,若n小于等于l则返回一l。
提示:rand()函数返回0-32767之间的一个随机整数,sqrt(n)函数返回n的平方根。
试卷代号:2058
中央广播电视大学2007-2008学年度第二学期"开放专科"期末考试
C++语言程序设计 试题答案及评分标准
(供参考)
2008年7月
一、单选题(每小题2分,共20分)
1.C 2.A 3.C 4.D 5. B
6.D 7.B 8.D 9.B 10. D
二、填空题(每小题2分,共20分)
1. x1=54 2. '\n'
3. 4 4. 6
5. 1 6. brcak
7.引用 8. x(a十i)
9.44 10.文件
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.sum=15
2.83 40 //每个数据3分
3.4 16 48 //每个数据2分
4. 34 38 //每个数据3分
5.2 3 //每个数据3分
四、写出下列每个函数的功能(每小题8分,共24分)
评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。
1.求出并返回从键盘上输入的n个实数之和。
2.比较两个整型参数a和b的大小,若a>b则返回1,若a==b则返回0,若a 3.根据从键盘上依次输入的n个字符串建立一个具有n个结点的链表,链表的表头指针由引用变量[带回。
五、按题目要求编写函数(6分)
评分标准:根据编程的完整程度酌情给分。
int fun(int n){
if(n<=1) return一1 //2分
for(int i=2;i<=sqrt(n);i++)
if(n%i==O)break; //4分
if(i<=sqrt(n))returnO;else return 1; //6分
}
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
2033电大《高等数学(B)(1)》试题和答案20050104-27
2042电大《教育法制基础》试题和答案20070104-27
2033电大《高等数学(B)(1)》试题和答案20040704-27
2042电大《教育法制基础》试题和答案20060104-27
2042电大《教育法制基础》试题和答案20060704-27
2042电大《教育法制基础》试题和答案20040104-27
2041电大《计算机在金融业中的应用》试题和答案20060704-27
2041电大《计算机在金融业中的应用》试题和答案20070104-27