模拟试卷: 一、 单选题
1.微机一般是16位机或32( )。
A.速度 B.容量 C.系列号 D.字长
2.若当前路径为C盘TCA盘根目录下的文件名第3个
字符为PC的所有文件复制到C盘TC
功的命令是( )。
A.COPY A\\*P*.C B.COPY A:\\??P*.C C:
C.COPY A:\\??P*.C D.COPY ??P*.C C:\\TC
3.在Cmain函数的位置是( )。
A.必须作为第一个函数 B.必须作为最后一个函数
C.可以放在任意位置 D.必须放在它所调用的函
数之后
4.设int a=3;下列哪一个表达式的值等于0( )。
A.a&&(a>0) B.!a||a C.a%=a
D.a>=a
5.如果a=5,b=2,c=3,d=4a>b? a:c>d? c:d的值是( )。
A.2 B.3 C.4 2 D.5
6.在Cint, long, char和unsigned类型的
( )。
A.int→unsigned→long→char B.char→int→long→
unsigned
C.char→int→unsigned→long D.int→char→
unsigned→long 7.int a=11, b=10a%=b+(a&&b)a的值为
( )。
A.0 B.1 C.11 D.22
8.下面程序段的运行结果是( )。
main() {
int x=1,y=2,z=3,s=0;
1
if(y>x)
if(y>z) s=1;
else s=2;
else s=3;
printf(”% d\\ n”,s); }
A.0 B.1 C.2 D.3 3 9.int x=1, y=2;执行条件表达式(x=y)? ++x:--xx
( )。
A.0 B.1 C.2 D.3
10.若kwhile循环( )。
k=10;
while(k==0)k=k1
A.执行0次 B.执行1次
C.执行10次 D.执行无限次
11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来 【 】 A.<> B.“” C.( ) D.{ }
12.一个类拥有多个构造函数,则这些构造函数间为 【 】 A.重载关系 B.重复关系 C.拷贝关系 D.无关系 13.对于拷贝构造函数point::point(point& p),下列说明正确的是 【 】 A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员
C.该函数可以访问P的私有和公有成员 D.该函数不能访问P的成员 14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数
的构造函数共 存 【 】
A.不允许 B.允许
C.无法确定 D.视构造函数的函数,可确定
15.析构函数的参数个数为 【 】 A.0个 B.1个 C.至少1个 D.多于1个
16.非静态成员函数都会有一个隐含指针,它是 、 【 】 A.self指针 B.this指针 C.current指针 D.one指针
17.下列访问公有静态成员的方式,错误的是 【 】 A.类名::静态成员名 B.对象名.静态成员名 C.对象指针->静态成员名 D.对象指针.静态成员名
18.下列描述错误的是 【 】 A.在创建对象前,静态成员不存在 B.静态成员是类的成员
C.静态成员不能是虚函数 D.静态成员函数不能直接访问非静态成员 19.对于友元描述正确的是 【 】 A.友元是本类的成员函数
B.友元不是本类的成员函数
2
C.友元不是函数 D.友元不能访问本类私有成员
20.在哪种派生方式中,派生类可以访问基类中的protected成员 【 】 A.public和private C.protected和private
B.public和protected D.仅protected
二、填空题
21.
7在机内的存储形式是___________。
22.C语言中的函数应由___________和函数体两部分组成。 23.
24.设有int x=10;则执行while(x^x) ++x;
25.设i,y,s均为int
for
%___________。
x的值是___________。
y的值为 7 ___________。
for(i=0, y=0; i<4;){s=i*i;y=y+s;i++;}
26.设有int y[2][3]={5,4,6,7,8,9};则y[1][1]的值为___________。
27.定义在函数内部的变量和函数的形参都是___________变量。 28.若p
___________。 29.
union{long x;int y;}data;
(*p)++表示先取指针p指向的对象再使对象的
则变量data占用内存的字节数是___________。
30.字符串读函数fgets()的格式是fgets(str,n,fp);它的功能是从与fp有联
系的文件中读___________个字符。
30.类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还可以有对数据进行操作的_ 。
31.有下列代码int a=0;double b=0;cin>>a>>b;当用键盘输入1.25时,b= 。 32.C++规定,当一个成员函数被调用时,系统自动向它传递一个隐含的参数,该参数是一个指向调用该函数的对象的指针,该指针被称为 指针。
33.声明一个常成员函数Fun,其返回类型为char,第一个参数类型为int,第二个参数类型为double,函数Fun的声明原型是 。 34.C++语言中的“聚合”隐含了两种实现方式,一种是 ,
3
另一种是用一个类的对象作为一种广义的数据类型来定义整体对象的一个属性。 35.私有继承时,在派生类中基类的protected权限变为 。
36.若使用一个表达式的含义能解释为访问多个基类中的成员,则这种对基类成员的访
问就是不确定的,称这种访问具有 。
37.如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生 静态
变量。
38.执行下列代码:int a=29,b=100;cout <39.执行下列代码cout <<″Hex:″<< hex << 255;程序的输出结果为 。 40.C++语言中可以实现输出一个换行符并刷新流功能的操控符是 。三、程序题
1、48.将下面程序补充完整,使程序正确的初始化私有变量var及释放资源。
class Class { private: int * var; public: Class(int num); ~Class(); };
Class::Class(int num) {
; }
Class::~Class() {
;
2S=2 、在下面程序横线处填上适当内容,使程序执行结果为:
S=5 S=9
#include void sum(int i){static int s;_________;cout<<\"s=\"<void main (void) {int i;
for (i=0;________) sum(i);
4
}
3、在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。
#include using namespace std; void main( ) {float a,b;
;//函数cha的原型声明 a=12.5; b=6.5;
float c= ; //调用函数cha cout<float cha(float x,float y) {float w; w=x-y; return w; }
4、给出下面程序的输出结果。
#include template class Sample { T n; public:Sample(T i){n=i;}
int operator==(Sample &); };
template int Sample::operator==(Sample&s) {if(n==s.n) return 1; else return 0;
5
}
void main( ) {
Samplesl(2),s2(3); .cout<<″s1与s2的数据成员″<<(sl==s2 ?″相等″:″不相等″)<s3(2.5),s4(2.5);cout<<″s3与s4的数据成员″<<(s3==s4 ? ″相等″:″不相等″)<5、6