考前复习题
填空
1. 字符串常量“hello moto”需要占用的存储空间字节数为 11 。
2. 若字符‘A’的ASCII码为65,则‘b’ASCII码为 98 。
3. 若有语句
int i=11,j=i%-4;
cout<<j;
则输出的结果是____-3__。
int i=11,j=i%-4;
cout<<j;
则输出的结果是____-3__。
3.将下列程序填写完整,使得程序的输出结果为2
class Base{
public:
vitural void fun(){
cout<<1;
}
};
class Derived:public Base{
public:
void fun(){
cout<<2;
}
};
void main(){
Base *p=new Derived;
p->fun();
delete p;
}
4. class Person{
private:
string name;
static int sum;
public:
void print(){cout<<name<<endl;}
void setData(string name){this->name=name;}
};
__static__int person::sum=0;
5. 若有以下类定义 ,执行Myclass a,b[2],*p[2];后输出结果是__33333_____。
class Myclass{
public:
Myclass(){cout<<3;}
};
6. 若有以下程序执行后输出结果为_____,,_____。
void main()
{ int a=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a>c)t=a,a=c,c=t;
cout<<a<<”,“<<b<<”,”<<c;
void main()
{ int a=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a>c)t=a,a=c,c=t;
cout<<a<<”,“<<b<<”,”<<c;
}
7. C++语言中用于结构化程序设计的三种基本结构是____联合______,_____枚举_____,________结构体__.
7. C++语言中用于结构化程序设计的三种基本结构是____联合______,_____枚举_____,________结构体__.
8. 若派生类的成员函数不能直接访问基类中继承的某个成员,则该成员一定是基类中的___私有成员_______.
选择题
basic语言解释程序属于什么1. C++程序的执行总是从( A )开始。
A.main函数 B、第一行 C、头文件 D、第一个函数
2.C++源程序的扩展名是( A )。
A、CPP B、C C、Dll D、EXE
3.字符型数据在内存中的存储形式是( B)。
A、原码 B、补码 C、反码 D、ASCII码
4. 设i=1,j=2,则表达式 ++i+j的值为( D)
A.1 B.2 C.3 D.4
5.执行语句int a = 10;int &pa = a ;后,下列正确的语句是(D )
A.&pa = a; B.*pa =a; C.pa = a; D.*a = *pa;
6.在一个C++程序中,main函数的位置( C )
A.必须在程序的开头 B.必须在程序的后面
C.可以在程序的任何地方 D.必须在其他函数中间
7.用C++语言编制的源程序要变为目标程序必须要经过( D)
A.解释 B. 汇编 C. 编辑 D.编译
8. 以下正确的函数原型为(D )
A.f(int x ; int y); B.void (x , y);
C.void (int x , y); D.void f(int , int);
9. 有函数原型 void fun2 (int * ), 下面选项中,正确的调用是( C )
A.double x = 2.17; fun2(&x); B.int a = 15; fun2(a*3.14);
C.int b = 100; fun2(&b); D.fun2(256);
10. 使用重载函数编程序的目的是(A )
A.使用相同的函数名调用功能相似的函数 B.共享程序代码
C.提高程序的运行速度 D.节省存储空间
11.下列数组定义语句中,不合法的是(A)
A.int a[3]={0,1,2,3}; B.int a[]={0,1,2};
C.int a[3]={0,1,2}; D.int a[3]={0};
12.已知char *a[]={“fortan”, “basic”, “pascal”, “java”, “c++”},则cout<<a[3]的显示结果是(c)
A.t B.一个地址值 C.java D.javac++
13.若用数组名作为调用函数的实参,则传递给形参的是(A)
A.数组存储首地址 B.数组的第一个元素值
C.数组中全部元素的值 D.数组元素的个数
14. 假定有以下声明和定义,则下面引用形式错误的是( B)
struct student
{ int num;
float score;
}stu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;
A.p->num B.(p++).num
C.(p++)->num D.(*p).num
15. 关于类和对象不正确的说法是( C)
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
16、若int x,y;x=24;则y&&x的值等于( B )
A.1 B.0 C.不确定 D.与y的值有关
17、若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( C )不是对a数组元素的正确引用(其中0≤i<10)。
A.p[i] B.*(*(a+i)) C.a[p-a] D.*(&a[i])
18、对于类的定义和使用,下面的说法( A)是合法的。
A.构造函数与类同名 B.构造函数不能重载
C.构造函数只能由系统调用 D.析构函数不能重载
19、关于成员函数的定义和使用,下面的说明( D )是错误的。
A.成员函数可以定义在类外 B.成员函数内可以访问类的所有数据成员
C.必须通过对象调用成员函数 D.只有成员函数可以访问类的数据成员
20、下列结构体定义,正确的是( C)。
A. record { B. struct record{
int no; int no;
char num[16]; char num[16];
float score ; float score ;
} ; }
C. struct record{ D. struct record {
int no; int no
char num[16]; char num[16]
float score ; float score
}; }
21. 设A=7,B=2,C=4,则A%3+B%C的值是( C )
A.8 B.4 C.3 D.5
22.下面( B )项是对构造函数和析构函数的正确定义。
A.void X::X(), void X::~X()
B.X::X(参数), X::~X()
C.X::X(参数), X::~X(参数)
D.void X::X(参数), void X::~X(参数)
23. 对于类的定义和使用,下面的说法( A )是合法的。
A. 构造函数与类同名 B. 构造函数不能重载
C. 数据成员只能是私有的 D. 成员函数不能在类外定义
24.以下不正确的if语句是( A)
A. if(x>y) cout<<x; B. if(x=y;)&&(x!=0) x+=y;
C. if(x!=y) cin>>x;else cin>>y; D. if(a!2) cout<<a;
25.下列数组定义中。合法的是( A)
A. int a[]=”string” B. int a[5]={0,1,2,3,4,5}
C. char a =”string” D. char a={0,1,2,3,4,5}
26.若有一位数组初始化语句float b[20]={1.8,3.2,4.3,5.7,8.2,9.5},且数组的起始地址为8050H,则8058H是数组元素(D )的起始地址。
A. 3.2 B. 8.2 C. 0 D. 4.3
27.在函数的定义格式中,可以省略的组成部分是(B )
A. 函数名 B. 函数体 C. 函数的数据类型 D. 函数的存储类型
28.在下面的运算符重载的原型中,错误的是( C)
A.Volume operator-(double ,double);
B.double Volume::operator-(double);
C.Volume Volume operator-( Volume);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论