C++程序语言模拟期末考试试卷(一)附答案
时间:2025-04-23
时间:2025-04-23
C++模拟试卷(一)
、C 2、D 3、B 4、A 5、C 6、D 7、D 8、D 9、C 10、A 11、C 12、B 13、B 14、C 15、D 16、D 17、D 18、A 19、C 20、C
一、 单项选择题(共20题,每题1分,共20分)
1、下列关于C++标识符的命名不合法的是( C ) A. Pad B. name_1 C. A#bc D. _a12 2、若有以下类型标识符定义: (D )
int x=2; char w='a'; float y=23.45f; double z=45.6712;
则表达式w*x+y-z的结果类型是 A. float B. char C. int D. double
???
z=x; x=y; y=z;
3、若有int x=10,y=20,z=30; 则执行下面语
句后,x的值是
if(x>y) ( B )
A. 10 B. 20 C. 30 D. 0
4、循环语句whlie(int i=0 )i--;的循环次数是 A. 0 B. 1 C. 5 D. 无限
5、一个函数无返回值时,应选择的说明符是 C A. static B. extern C. void D. 无说明符
6、对重载函数形参的描述中,错误的是 D A. 参数的个数可能不同 B. 参数的类型可能不同 C. 参数的顺序可能不同
D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同
※
D
7、以下能正确定义数组并正确赋初值的语句是
A. int N=5,b[N][N]; B. int a[2]={{1},{3},{4},{5}}; C. int c[2][]={{1,2},{3,4}}; D. int d[3][2]={{1,2},{3,4}};
8、下列给字符数组进行的初始化中,不正确的是 D A. char s1[]="abcd"; B. char s2[3]={'x','y','\0'}; C. char s3[]={'a','x','y','\0'};
D. char s4[6]={"xyz","mnp"}; 9、通常的拷贝构造函数的参数是 C A. 某个对象名 B.某个对象成员名 C. 某个对象的引用 D.某个对象的指针名 10、关于构造函数特点的描述中,错误的是 A A. 定义构造函数必须指出类型 B. 构造函数的名字与该类的类名相同 C. 一个类中可定义0至多个构造函数 D. 构造函数是一种成员函数 11、下面程序的运行结果为 C #include <iostream.h> int add(int a,int b); void main() {
extern int x,y;
cout<<add(x,y)<<endl; }
int x=20,y=5; int add(int a,int b) {
int s=a+b; return s;
}
A.20 B.5 C.25 D.编译会提示出错信息 12、关于常成员的描述中,错误的是 B A. 常成员包含常数据成员和常成员函数两种 B. 常数据成员必须是公有的
C. 常数据成员要使用构造函数成员初始化列表进行初始化
D. 常对象只能调用它的常成员函数,不能调用其它的成员函数
13、关于友元函数的描述中,错误的是 B A. 友元函数不是成员函数 B. 友元函数只能访问类中私有成员 C. 友元函数破坏隐藏性,尽量少用
D. 友元函数说明在类体内,使用关键字friend 14、如果有int x,*p; float y,*q;则下面操作正确的是 A.p=x B.p=q C.p=&x D.p=&y
15、若有函数说明void fA(int m, int n); 和指针变量的定义 void (*p)(int,int);并且有p= fA则下列操作不正确的是
A.(*p)(3,4); B.p(3,4); C.fA(3,4); D.*p++;
16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是 A. 数组的长度 B. 数组第一个元素的值 C. 数组所有元素的值 D. 数组第一个元素的地址
17、对于动态分配内存空间描述正确的是
A.使用new运算符分配的内存空间的长度必需是常量 B.delete运算符可以释放动态的存储空间和静态的存储空间
C.由new分配的内存空间是不连续的
D.delete运算符只能释放由new分配的动态存储空间 18、能够释放对象所占资源的是 ( ) A.析构函数 B.数据成员 C.构造函数 D.静态成员函数
19、虚函数的定义是在基类中进行的,定义时需要冠以关键字
A.static B.frend C.virtual D.public
20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是 ) A.strstream B.ostrstream
C.ofstream D.istrstream
二、 (1、下列字符串中可以用作C++标识符的是( A ) 三、 A. _123 四、 C. case
B. foo~bar D. 3var
五、 2、字符串"student"占用几个字节的空间( D ) 六、 A. 7
B. 6
C. 5
D. 8
七、 3、在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]
的值是( C ) 八、 A. 3
B.2
C. 6
D. 4
九、 4、在C++语言中,对函数参数默认值描述正确的是
( D )
十、 A. 函数参数的默认值只能设定一个。
十一、 B. 一个函数的参数若有多个,则参数默认值的设定
可以不连续。
十二、 C. 函数参数必须设定默认值。
十三、 D. 在设定了参数的默认值后,该参数后面定义的所
有参数都必须设定默认值。
十四、 5、声明类Test的拷贝构造函数的正确形式是
( D) 十五、 A. int Test
B. void Test
C. Test(void)
D. Test(Test &)
十六、 6、下列关于构造函数的描述中,错误的是( C )
十七、 A. 构造函数可以设置默认参数。 十八、 B. 构造函数在声明对象时自动执行。 十九、 C. 构造函数可以对静态数据成员进行初始化。 二十、 D. 构造函数可以重载。
二十一、 7、若有以下类型标识符定义: 二十二、 int x=2; char w='a'; float y=23.45f;
double z=45.6712;
二十三、 则表达式w*x+y-z的结果类型是( D ) 二十四、 A. float
D. double
二十五、 8、循环语句whlie(int i=0 )i--;的循环次数是
( A ) 二十六、 A. 0
无限
二十七、 9、一个函数无返回值时,应选择的说明符是
( C ) 二十八、 A. static