2-1C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( B)
A.面向过程
***B.面向对象***
C.安全性
D.复用性
2-2C++语言可执行程序的开始执行点是( C)
A.程序中第一条可执行语言
B.程序中第一个函数
***C.程序中的main函数***
D.包含文件中的函数
2-3在C++中,cin是(D)。
A.预定义的类
B.预定义的函数
C.一个标准的语句
***D.预定义的对象***
2-4以下叙述中错误的是(D)
A.C++中的保留字具有特殊的含义及用法,也称关键字
B.C++的基本数据类型有:charintfloatdoubleboolvoid
C.在程序运行过程中,其值不变的量称为常量
***D.字符型常量是用单引号或双引号括起来的单个字符***
2-5下列程序的运行结果是(C)。
int i;
for(i=0;i<3;i++)
   switch(i)
   {
        case 1:cout<<i;
        case 2:cout<<i;
        default:cout<<i;
   }
A.012
B.012020
***C.011122***
D.120
2-6下列符号中能够用作C++自定义标识符的是(B)。
A.-ab
***B._ab***
C.2ab
D.if
2-1下列关于cin和cout的说法中,错误的是 (C)。
A.cin用于读入用户输入的数据
B.cout用于输出数据
C.cin比C语言中的scanf()函数更有优势,它可以读取空格
D.cout通常与<<运算符结合
2-3对定义重载函数的下列要求中,( C)是错误的。
A.要求参数的个数不同
B.要求参数中至少有一个类型不同
C.要求函数的返回值不同
D.要求参数个数相同时,参数类型不同
2-4使用地址作为实参传给形参,下列说法正确的是(D )
A.实参是形参的备份
B.实参与形参无联系
C.形参是实参的备份
D.实参与形参操作的是同一对象
2-5下面说法正确的是(D)
A.多个重载函数的参数个数必须不同
B.两个函数,参数表相同,返回值类型不同,它们是重载关系
C.调用一个第二个和第三个参数都有缺省值的函数时,
   可以不写第二个实参而写第三个实参
D.使用内联函数的目是提高程序运行速度
2-6如有函数定义:void func(int x = 0, int y = 0){. },则下列函数调用中会出现问题的是(A)。
A.func(1,2, 3);
B.func(1,2);
C.func(1);
D.func();
2-7以下选项中,是正确的函数默认形参设置的是。B
A.int fun(int a,int b,int c);
B.int fun(int a,int b,int c=1);
C.int fun(int a,int b=1,int c);
D.int fun(int a=1,int b,int c);
2-8以下正确的函数定义是:B
A.int fun(int x, int y) { int y=10; return x+y; }
B.void fun(int x) { if(x<0) return; else cout << "OK" << endl; }
C.void fun(int x, int y) { return x+y; }
D.int fun(int x, int y); { return x+y; }
2-9在(C  )情况下适宜采用inline定义内联函数。
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用
D.函数代码多、不常调用
2-10当一个函数功能不太复杂,但要求被频繁调用时,选用(B)。
A.重载函数
B.内联函数
C.递归函数
D.嵌套函数
2-11下列哪一个说法是不正确的  C
A.T是任意类型名,P是类型为T *的指针。
  P = new T; 的含义是:动态分配出一片大小为sizeof(T)字节的内存空间,
  并且将该字节的内存空间起始地址赋值给 P
B.T是任意类型名,P是类型为 T * 的指针。
  N是要分配的数组元素个数,可以是整型表达式。
  P = new T[N]; 的含义是:动态分配出一片大小为sizeof(T) *N字节的内存空间,
  并且将该内存空间的起始地址赋值给P
C."new"动态分配的内存空间,不一定要用"delete"运算符进行释放
D."new"动态分配的数组内存空间,一定要用"delete [ ]"运算符进行释放
2-12下列选项哪一个是正确的(C)
A.char *p=new int; p='a'; delete p;
B.int *p=new int[25]; p[10]=100; delete p;
C.char *p=new char[10]; p[0]='k'; delete [ ] p;
D.char *p=new char; p[0]='k'; delete p;
2-13void f1(int * m,long & n)int a;long b;
则以下调用合法的是(  B )。
A.f1(a,b);
B.f1(&a,b);
C.f1(a,&b);
D.f1(&a,&b)
2-14下列哪一个说法是不正确的 ( D)
A.某个变量的引用等价于这个变量,相当于该变量的一个别名
B.定义引用时一定要将其初始化成引用某个变量
C.初始化后,它就一直引用该变量不会再别引用别的变量了
D.引用可以引用变量,也可以引用常量和表达式
2-15关于指针和引用,下面哪个说法是错误的(D)。
A.指针和引用对它们所指的或所引用的变量的操作方式不一样。
B.通过访问符*来访问指针所指存储空间中的值。
C.引用较高级地封装了指针的特性,
  它不直接操作内存地址,而是通过访问变量别名来间接操作变量的。
D.和指针类似,引用被初始化后,还可以引用别的变量。
2-1下列函数中,(C )不能重载。
A.成员函数
B.非成员函数
C.析构函数
D.构造函数
2-2下列对重载函数的描述中,(A )是错误的。
A.重载函数中不允许使用默认参数
B.重载函数中编译根据参数表进行选择
C.不要使用重载函数来描述毫无相干的函数
D.构造函数重载将会给初始化带来多种方式
2-3在下面类声明中,关于生成对象不正确的是( C)。 
class point { 
		public:
		 	int x; 
		 	int y;
		 	point(int a,int b) {
		 	x=a;
		 	y=b;
	} 
};
A.point p(10,2);
B.point *p=new point(1,2);
C.point *p=new point[2];
D.point *p[2]={new point(1,2), new point(3,4)};
2-4设A为自定义类,现有普通函数int fun(A& x)。则在该函数被调用]时:(C)
A.将执行复制构造函数来初始化形参x
B.仅在实参为常量时,才会执行复制构造函数以初始化形参x
C.无需初始化形参x
D.仅在该函数为A类的友元函数时,无需初始化形参x
2-5下列关于类的构造函数的描述中,错误的是(B)
A.类的构造函数可以重载
B.类可以没有构造函数
C.类的构造函数可以缺省
D.类的构造函数可以作为其它类型向本类类型进行转换的函数
2-6下列哪一个说法是错误的(D)
A.当用一个对象去初始化同类的另一个对象时,要调用拷贝构造函数
B.如果某函数有一个参数是类A的对象,
   那么该函数被调用时,类A的拷贝构造函数将被调用
C.如果函数的返回值是类A的对象时,则函数返回时,类A的拷贝构造函数将被调用
D.拷贝构造函数必须自己编写
2-7以下说法中正确的是 (C)
A.一个类一定会有无参构造函数
B.构造函数的返回值类型是void
C.一个类只能定义一个析构函数,但可以定义多个构造函数
D.一个类只能定义一个构造函数,但可以定义多个析构函数
2-8如果某函数的返回值是个对象 ,则该函数被调用时,返回的对象(A)
A.是通过拷贝构造函数初始化的
B.是通过无参数的构造函数初始化的
C.用哪个构造函数初始化,取决于函数中return 语句是怎么写的
D.不需要初始化
4-1关于对象
在面向对象程序设计方法中,
对象是系统中用来描述客观事物的一个实体,
它由 数据和可执行的一组操作共同组成。
4-2关于对象和类的关系
对象和类的关系可以表示为具体和 抽象 的关系。
2-1下列说法中正确的是(A )
A.在函数参数定义中可以使用const说明符,其值在函数体内不可改变
B.在函数参数定义中可以使用const说明符,但必须指定缺省值
C.在函数参数定义中可以使用const说明符,但只能有一个参数使用const
D.在函数参数定义中不可以使用const说明符
2-2以下说法正确的是(C)。
A.在静态成员函数中可以调用同类的其他任何成员函数
B.const成员函数不能作用于非const对象
C.在静态成员函数中不能使用this指针
D.静态成员变量每个对象有各自的一份
2-3不能作为函数重载判断依据的是( A)
A.返回类型
B.const
C.参数个数
D.参数类型
2-4某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show 函数原型是  (C)
A.const void Show();
B.void const Show();
C.void Show() const;
D.void Show(const);
2-5给定以下类声明,哪个成员函数可能改变成员变量data(D)
class A {
public:
 void f1 (int d);
 void f2 (const int &d);
 void f3 (int d) const;
private:
   int data;
};
A.f1
B.f2
C.f3
D.f1和f2
2-6下面关于成员函数和常成员函数的程序,其主函数中错误的语句是(C)
#include<iostream>
using namespace std;
class MyClass {
public:
    MyClass(int x): val(x) {}
    void Set(int x) {val = x;}
    void Print()const {cout << "val=" << val << '\t';}
private:
    int val;
};
int main() {
    const MyClass obj1(10);
    MyClass obj2(20);
    obj1.Print();    //语句 1
    obj2.Print();    //语句 2
    obj1.Set(20);  //语句 3
    obj2.Set(30);  //语句 4
    return 0;
}
A.语句 1
B.语句 2
C.语句 3
D.语句 4
2-7下面关于成员函数和常成员函数的程序,输出结果是(C)
#include<iostream>
using namespace std;
class MyClass {
public:
    MyClass(int x): val(x) {}
    void Print() const {cout << "const:val=" << val << '\t';}
    void Print() {cout << "val=" << val << '\t';}
private:
    int val;
};
int main() {
    const MyClass obj1(10);
    MyClass obj2(20);
    obj1.Print();
    obj2.Print();
    return 0;
}
A.val=10 const:val=20
B.const:val=10 const:val=20
C.const:val=10 val=20
D.val=10 val=20
4-3关于类
类实质上定义的是一种对象类型,
它描述了属于该类的所有对象的性质,包括 属性 和行为两个主要部分。
4-4C++语言提供的基本控制结构可以分为3种类型:
顺序结构、选择结构 和循环结构

版权声明:本文为weixin_45974950原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45974950/article/details/118461630