《C++程序设计》习题1
一、单项选择题
1. 下面正确的字符常量是( )。
A、\ B、'\\\\''
C、 'W' D、 D、''
2. 声明或定义一个内联函数时,必须在函数开始使用保留字( )。 A、Static B、Const
C、 inline D、 extern
3. 下列各种函数中,( )不是类的成员函数。 A、构造函数 B、析构函数
C、 友元函数 D、 拷贝构造函数
4. 若用数组名作为函数调用的实参,传递给形参的是( )。 A、数组的首地址 B、数组中第一个元素的值
C、 数组全部元素的值 D、 数组元素的个数 5. 函数重载是指( )。
A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C、两个以上的函数名字不同,但形参的个数或类型相同
D、两个以上的函数取相同的函数名,并且函数的返回类型相同 6. 在下面构造函数的声明中,存在着语法错误的是( )。 A、BC(int a,int); B、BC(int,int);
C、 BC(int,int=5); D、 D、BC(int x;int y);
7. 在一个类中可以对一个操作符进行( )重载。 A、1种 B、2种以下
C、 3种以下 D、 D、多种
8. strcmp(str1,str2)<0 表示( )。
A、str1的长度小于str2 B、str1的长度大于str2
C、 str1小于str2 D、 str1的内容小于str2的内容
9. 预处理命令在程序中都是以( )符号开头的。
第 1 页 共 6 页
A、* B、#
C、 & D、 @
10. 由C++源程序文件编译而成的目标文件的默认扩展名是( )。 A、cpp B、obj
C、 exe D、 lik
11. 每个类( )构造函数。 A、只能有一个 B、只可有公有的 C、可以有多个 D、只可有缺省的
12. 在下面构造函数的声明中,存在着语法错误的是( )。 A、BC(int a,int); B、BC(int,int); C、BC(int,int=5); D、BC(int x;int y);
13. 预处理命令在程序中都是以( )符号开头的。 A、* B、# C、& D、@
14. 在下面的二维数组定义中,正确的是( )。 A、int a[5][]; B、int a[][5]; C、int a[][3]={{1,3,5},{2}}; D、int a[](10);
15. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( )。 A、0 B、4 C、8 D、6
16. 以下函数的返回结果( )。 int function(char *x) { char *p=x; while(*p++); return(p-x-1); } A、求字符串的长度
B、将字符串x连接到字符串p后面 C、将字符串x复制到字符串p中 ; D、将字符串x反向存放
17.声明或定义一个内联函数时,必须在函数开始使用保留字( )。 A、Static B、Const
第 2 页 共 6 页
C、inline D、extern
18. 要使语句“p=new int[10][20];”能够正常执行,p应被事先定义为( )。 A、int *p; B、int **p; C、int *p[20]; D、int (*p)[20];
19. 下列语句执行后,输出i的值是( )。 int i=1,j; j= 2+i++; cout<<i; A、2 B、4 C、5 D、6
20. C语言提供的合法的数据类型关键字是( )。 A、real B、short C、INT D、Char
二、多项选择题
1.下面说法正确的是( )。
A、所有的函数都可以说明内联函数
B、具有循环语句switch语句的函数不能说明为内联函数
C、使用内联函数可以加快程序执行的速度,但会增加程序代码的大小 D、使用内联函数可以减小程序代码大小,但使程序的执行速度减慢 2.一个类的友元函数可以访问该类的所有对象的( )。 A、公有成员 B、私有成员
C、保护成员 D、静态成员
3.在类中说明的成员可以使用关键字( )进行修饰。 A、private B、extern C、auto D、public E、register
三、判断题
1. 以/*开始,以*/结束,在/*和*/之间的部分即为语句。
2. 要在屏幕上显示\,world!\应执行语句input\,world!\\\。 3. 描述命题“A小于B或小于C”的表达式为A
4. 执行\语句后得到的输出结果为C。 5. C++语言的编译单位是扩展名为.cpp的程序文件。 6. C++语言对同一字母的大小写将认为是同一字符。
7. 若有运算符>、*=、sizeof、%,则它们按优先级由高至低的排列次序为>、%、*=、sizeof。
第 3 页 共 6 页
8. 一条表达式语句必须以句号作为结束符。
9. 在C++中存储字符串\至少需要14个字节。 10. 十进制数28的类型为int。
11. 一个函数定义由函数头和函数体两部分组成。 12. 一条表达式语句必须以句号作为结束符。
13. 在C++中存储字符串\至少需要14个字节
14. 多行注释的开始标记符和结束标记符分别为//和//。
15. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为4和11。 16. signed char类型的值域范围是0至26之间的整数。 17. 在VC++6.0编译环境中,bool类型的数据占用1个字节。 18. 常数3.62的数据类型为double。 19. 常数-4.205具有4位有效数字。
四、简答题
1.写出程序运行结果。 #include
#include
int a[8]={25,48,32,85,64,18,48,29}; int max,min; max=min=a[0];
for(int i=0; i<8; i++) {
if(maxa[i]) min=a[i]; }
cout<<\ cout<<\ }
2.下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle)、并给出具体的求面积函数。 class shape{ public:
virtual float area( )=0 };
float total(shape *s[ ],int n) {
float sum=0.0;
for(int i=0;i
第 4 页 共 6 页
《C++程序设计》习题1参考答案
一、单项选择题 题号 答案 题号 答案 1 C 11 C 2 C 12 D 3 C 13 B 4 A 14 C 5 A 15 A 6 D 16 A 7 D 17 C 8 D 18 D 9 B 19 A 10 B 20 B
二、多项选择题 题号 答案 1 BC 2 ABC 3 AD
三、判断题 题号 答案 题号 答案 1 F 11 T 2 F 12 F 3 T 13 F 4 T 14 F 5 T 15 T 6 F 16 F 7 F 17 T 8 F 18 T 9 F 19 T 10 T
四、简答题 1. 答案:
max:85 min:18
2.答案:class triangle : public shape
{
private :
float a, b ,c ,s; public:
triangle( float s1=0, float s2=0 , float s3=0 ) {
a=s1;b=s2;c=s3; }
float area() {
s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c)); } };
class rectangle : public shape {
private: float w,h; public:
rectangle( float width=0, float height=0) {
第 5 页 共 6 页
w=width; h=height; }
float area() {
return w*h; } };
第 6 页 共 6 页