广播电视大学2009—2010学年度第—学期“开放本科”期末考试
C++语言程序设计 试题
2010年1月
一、单选题(每小题2分,共20分)
1.由C十+源程序文件编译而成的目标文件的缺省扩展名为( )。
A.obj B. 1ik
C.exe D.cpp
2.程序运行中需要从键盘上输人多于一个数据时,各数据之间需要使用( )符号作为分隔符。
A.空格或逗号 B. 逗号或回车
C. 逗号或分号 D.空格或回车
3.设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为( )。
A.1 B.0
C.x的值 D.x的相反值。
4.任何for语句都能够被改写为( )语句。
A.复合 B.if
C.switch D.while
5.break语句叫做( )语句。
A.中断退出循环或开关 b.返回
C. 转向 D.继续
6.在下面的一维数组定义中,( )语句有语法错误。
A.inta[]={l,2,3} B.inta[10]={0}
C.inta[] D.inta[5]
7.下面的( )保留字不能作为函数的返回类型。
A.void B.int
C. new D.10ng
8.下面的函数声明中,( )是"void BC(inta,intb);”的重载函数。
A.int BC(int x,int y) B.void BC(int a,char b)
C. float AA(int a,char b) D.int BC(int a,int b=0)
9.当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为( )。
A. n B. n+l
C.n一1 D.n一2
10.假定AB为一个类,则该类的拷贝构造函数的声明语句为( )。
A.AB&(AB x) E.AB(ABx)
C. AB(AB*x) D.AB(AB&)
二、填空题(每小题2分,共20分)
1.C++语言中每条复合语句以左花括号开始,并以 结束。
2.假定一个枚举类型的定义为"enum RA{ab,ac,ad,ac};”,则ac的值为 。
3.十进制数25表示成符合C++语言规则的八进制数为 。
4.表达式x=x+y表示成复合赋值表达式为 。
5.若x=5,则x>5的逻辑值为 。
6.假定一个一维数组的定义为"char*a[8];",则该数组占用 个字节的存储空间。
7.假定x=10,则表达式2+x++的值为 。
8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为 。
9.假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为int *r= 。
10.设px指向一个类的动态分配的对象,则执行"delete px;”语句时,将自动调用该类的—————————一。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
运行结果:
运行结果:
运行结果:
运行结果:
运行结果:
四、写出下列每个函数的功能(每小题8分,共24分)
函数功能:
函数功能:
函数功能:
五、按题目要求编写程序(6分)
已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的—组解,并按此格式输出每组解。
试卷代号:1075
广播电视大学2009—2010学年度第一学期“开放本科”期末考试
C++语言程序设计 试题答案及评分标准
(供参考)
2010年1月
一、单选题(每小题2分,共20分)
1.A 2.D 3.C 4.D 5.A
6.C 7.C 8.B 9.C 10.D
二、填空题(每小题2分,共20分)
1.}(右花括号)
2.1
3.03l
4.x+=y
5.假(false或0)
6.32
7.12
8.46
9.New int[n];
10.析构函数
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.sum=15
2.83 40 //每个数据3分
3.4 16 48 //每个数据2分
4.8 34 //每个数据3分
5.3 4 //每个数据3分
四、写出下列每个函数的功能(每小题8分,共24分)
评分标准:每题与参的叙述含义相同者得8分,否则酌情给分。
1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a 2.求出数组a的n个元素中大于等于平均值的元素个数并返回。
3.从数组a的n个元素中求出最大值并返回。
五、按题目要求编写程序(6分)
评分标准:根据编程的完整程度酌情给分