网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
C. 20,40,60
D. 10,30,60
答案: B
18. 在 C++中,使用流进行输入输出,其中用于屏幕输入()
A. cin
B. cerr
C. cout
D. clog
答案: A
19. 假定 AA为一个类, a() 为该类公有的函数成员, x 为该类的一个对象,则访问 x 对象中函数
成员 a() 的格式为()
A. x.a
B. x.a()
C. x->a
D. (*x ).a()
答案: B
20. 关于对象概念的描述中,说法错误的是()
A. 对象就是 C 语言中的结构变量
B. 对象代表着正在创建的系统中的一个实体
C. 对象是类的一个变量
D. 对象之间的信息传递是通过消息进行的
答案: A
3、1.在 C++中,头文件扩展名为( B )
A…cpp B…h
C…1ib D…obj
2.下列符号中,不属于分隔符的是( B )
A.,B./
C.; D.{}
3.可替换 #define PI 3.1415926的语句是( B )
A.float PI 3.1415926; B.const float PI=3.1415926;
C.const PI(3.1415926); D.const 3.1415926;
4.布尔类型标识符是( D )
A.void B.short
C.long D.bool
5.下列不是 C++语言的基本数据类型的是( D )
A.字符类型 B.整数类型 C.逻辑类型 D.枚举类型
6.C++允许在结构中定义函数,这些函数称为( D )
A.静态函数 B.构造函数 C.析构函数 D.成员函数
7.设函数 void inc(int) 将形参加 1,如有整型变量 int i=10;则执行 inc(i);后,
i 的值为( B )
A.9 B.10 C.11 D.未知
8.下列哪种默认参数的声明是不正确的( C )
A. int max(int a,int b,int c,int d=0);
B. int max(int a,int b,int c=0,int d=0);
C. int max(int a=0,int b,int c=0,int d=0);
D. int max(int a,int b=0,int c=0,int d=0);
9.设 int &max(int &,int &) 返回两参数中较大者, 如有两整型变量 int a=10;
int b=15;在执行 max(a,b)++后,a,b 值分别为( C )A.10,15
B.11,15 C.10,16 D.1l,16
10.包含哪种语句的函数不能声明为内联函数( A )
A.循环 B. 变 量自增自减 C.if…else ⋯ D.变量声
11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来
( A )
A.<> B.“” C.() D.{}
12.一个类拥有多个构造函数,则这些构造函数间为( A )
A.重载关系
B.重复关系 C.拷贝关系 D.无关系
13.对于拷贝构造函数 point::point(point& p) ,下列说明正确的是( C )
A.该函数只能访问 P的私有成员 B.该函数不能访问 P的公有成员 C.该函
数可以访问 P的私有和公有成员 D.该函数不能访问 P的成员
14.使用 delete[]删除对象数组时,描述正确的是( A )
A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数 C.不
调用析构函数 D.只有首元素调用析构函数
Point *p=new Point[5];=>B
15.下列哪个指令属于条件编译指令( A )
A. #elif B. #error C. #pragma D. #include
16.设类 Test 中存在成员 static int x,则下列哪种初始化方式是正确的
( C )A.Test::int x=25; B.int x=25;
C.int Test::x=25; D.int Test x=25;
17.下列关于友元的描述错误的是( A )
A.成员函数不可作友元 B.类可以作友元
C.普通函数可以作友元 D.静态函数可以作友元
18.在继承中,派生类拥有的基类个数为( D )
A.0 个 B.1 个 C.多个 D.至少 1 个
19.基类中的 protected 成员,通过 public 派生,其在派生类中的可见性为
( C )A.不可访问 B.private
C.protected D.public
20.下列哪个不是面向对象的关键要素( B )
A.抽象性 B.结构性 C.封装性 D.多态性
4、1.C++ 中注释 “∥”的有效范围是( A)
A.从“∥”开始到行尾 B.从“∥”开始到下一个 “∥”
C.“∥”及其后一个字符 D.从“∥”开始到程序尾
2.假定 MyClass 为一个类,则该类的复制构造函数的声明语句为( C )
A.MyClass&(MyClass x) ; B.MyClass(MyClass x) ;
C.MyClass(MyClass &x) ; D.MyClass(MyClass *x) ;
3.下列选项不是 C++关键字的是( D )
A.typedef B.void C.bool D.inc
4.用于标识十进制常量的前缀或后缀是( A)
A.无前后缀 B.后缀 L 或 l C. 前缀 0 D.前缀 0x
5.设 int x=56 ;int r=x ;若 cout <<&x ;显示 0012FF7A ,则 cout <<&r ;输出值为( D)
A.56 B.00l2FF7A C.0012FF7B D.未知
6.使用下列哪个流格式控制符可设置转换基数为八进制( B)
A.dec B.oct C.hex D.endl
7.C++ 中是否允许在类结构中定义函数( B)
A.不允许 B.允许 C.仅允许定义构造函数 D. 只不允许定义构造函数
8.设函数 void subone(int &) 将形参减 1,如有整型变量 int k=10 ,则执行 subone(k) ;后, k 的值为( A)
A.9 B.10 C.11 D.未知
9.对函数 int max(int a ,int b=0 ,int c=0 ,int d=0 ,int e=0) ;下列调用方式正确的是( A)
A.int m=max(10 ,11,12,13,14); B.int m=max(10 ,,12,13,14);
C.int m=max(10 ,1l,, 13,14); D.int m=max(10 ,11,12,,14);
10.类 MyClass 的定义如下:
class MyClass
{
public :
MyClass(){}
MyClass(int i){value=new int(i);}
int * value ;
};
若要对 value 赋值,则下面语句正确的是( D)
A.MyClass my ;my.value=10 ; B.MyClass my ;*my.value=10 ;
C.MyClass my ;my.*value=10 ; D.MyClass my(10) ;
11.包含哪种语句的函数不能声明为内联函数( D)
A.变量定义 B.if ⋯⋯ else C.位操作 D.switch
12.声明函数模板的关键字是( B)
A.inline B.template C.const D.short
13.对于类中的成员,使用 public 修饰,表明该成员的访问权限是( A)
A.公有的 B.私有的 C.保护的 D.不可见的
14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共 存(A)
A.不允许 B.允许 C.无法确定 D.视构造函数的函数,可确定
15.析构函数的参数个数为( A)
A.0 个 B.1 个 C.至少 1 个 D.多于 1 个
16.非静态成员函数都会有一个隐含指针,它是( B)
A.self 指针 B.this 指针 C.current 指针 D.one 指针
17.下列访问公有静态成员的方式,错误的是( D)
A.类名::静态成员名 B.对象名 .静态成员名
C.对象指针 ->静态成员名 D.对象指针 .静态成员名
18.声明友元使用下列哪个关键字( C)
A.class B.const C.friend D.virtual
19.派生类继承了基类的( B)
A.所有成员 B.部分成员 C.数据成员 D.成员函数
20.基类 private 成员,通过 public 派生,其在派生类中为( D)
A.private B.protected C.public D.不可访问
5、
6、1 .C++语言是从早期的 C语言逐渐发展演变而来的,与 C语言相比, C++在求解问题方法上进行的最大改进是 (B)
A .面向过程 B .面向对象 C. 安全性 D .复用性
2 .结构化程序设计所规定的三种基本控制结构是 (C)
A. 输入、处理、输出 B .树形、网形、环形
C .顺序、选择、循环 D. 主程序、子程序、函数
3 .关于函数模板,描述错误的是 (C)
A .函数模板必须由程序员实例化为可执行的函数模板
B. 函数模板的实例化由编译器实现
C .一个类定义中,只要有一个函数模板,则这个类是类模板
D .类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化
4 .作用域运算符“: :”的功能是 (B)
A .标识作用域的级别的 B .指出作用域的范围的
C .给定作用域的大小的 D .标识成员是属于哪个类的
5 .采用重载函数的目的是 (D)
A .实现共享 B .减少空间
C .提高速度 D .使用方便,提高可读性
6 .以下关键字不能用来声明类的访问权限的是 (C)
A .public B .private C .stadc D .protected
- 有如下类声明“ class A{int x ;⋯};”,则 A 类的成员 x 是 (B)
A. 公有数据成员 B .私有数据成员
C.公有成员函数 D .私有成员函数 - 下列不是构造函数的特征的是 (D)
A .构造函数的函数名与类名相同 B .构造函数可以重载
C .构造函数可以设置缺省参数 D .构造函数不能重载
9 .通常的拷贝构造函数的参数是 (C)
A. 某个对象名 B .某个对象成员名
C .某个对象的引用 D .某个对象的指针名
10.下列哪个类型函数不适合声明为内联函数 ? (A)
A. 函数体语句较多 B .函数体语句较少
C .函数执行时间较短 D .函数执行时间过长
11.设 x 和 y 均为 bool 量,则 x&& y 为真的条件是 (A)
A .它们均为真 B .其中一个为真
C .它们均为假 D .其中一个为假
12.对于友元描述正确的是 (B)
A .友元是本类的成员函数 B .友元不是本类的成员函数
C .友元不是函数 D .友元不能访问本类私有成员
13.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的 (A)
A .public 成员 B .private 成员
C.protected 成员 D .友元
14.在 C++语言中, 080 是 (D)
A .八进制数 B .十进制数
C.十六进制数 D .非法数
15.下面函数原型声明中,声明了 fun 为虚函数的是 (C)
A. void fun()=0 B . virtual void fun()=O
C .virtual void fun() D . virtual void fun(){}
16.下列虚基类的声明中,正确的是 (B)
A .class virtual B :public A B .class B :virtual public A
C .class B :public A virtual D .virtual class B :public A
17.下列运算符中,在 C++语言中不能重载的是 (C)
A. * B .>= C .:: D ./
18.在 C++语言中,能代表逻辑值“假”的是 (D)
A .小于 0 的数 B .大于 0 的数 C .非 0 整数 D .0
19.以下叙述中不正确的是 (C)
A .在一个函数中,可以有多条 return 语句
B .函数的定义不能嵌套,但函数的调用可以嵌套
C .函数必须有返回值
D .不同的函数中可以使用相同名字的变量
20.已知: int m=10 ;在下列表示引用的方法中,下列哪一项是正确的 ? (A)
A .hat &x=m B .int&y=10 C.int &z D .float &t= &m
7、1. 一个 C语言程序是由( D)构成。
A.语句 B. 行号 C. 数据 D. 函数
- 下面标识符中正确的是( C)。
A.d&ef B.6a C.z4x5c D.a3/b4 - 在 C语言中,存储一个字符型、整型、单精度实型变量所需的空间是(A)。
A.1、2、4 B.1 、1、4 C.1 、2、8 D.2 、2、 8 - 为了避免嵌套的条件分支语句 if —— else 中的 else 总是与( C) 组成成对关系。
A. 缩排位置相同的
B. 在其之前未配对的
C. 在其之前未配对的最近的 if
D. 在同一行上的 if - 下列表达式的结果正确的是( B)。
int aa ,bb,cc,dd;
aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1 ;sp; aa=bb=cc=dd=1 ;
(aa+1==2)? bb=aa+2:aa+3
A.2 B.3 C. 1 D.5 - 设有 int x=11 ;则表达式( x+1/3 )的值是( C)。
A.3 B. 4 C. 11 D.12 - 设有字符串 A=“He has 钱!”,则该字符串的长度为( B)。
A. 9 B. 10 C. 11 D. 8 - 有如下程序段,则正确的执行结果是(B )
int m=3 ;
while ( m<=5)
{ printf (“%d ”, m-3); m++;}
A. 0 0 0 B.0 1 2 C.1 2 3 D. 无结果 - 执行语句: printf (“%d”,( a=2)&&(b= -2 );后,输出结果是( D)。
A.无输出 B. 结果不确定 C.-1 D. 1 - 有如下定义类型语句,若从键盘输入数据,正确的输入语句是(D )。
int x ; char y ; char z[20] ;
A. scanf (“%d%c%c ”, &x, &y,&z);
B. scanf (“%d%c%s ”, &x, &y,&z);
C. scanf (“%d%c%c ”, &x, &y,z);
D. scanf (“%d%c%s ”, &x, &y,z); - struct ex
{ int x ; float y ; char z ;} example ;
则下面的叙述中不正确的是( B)。
A. struct 结构体类型的关键字 B. example 是结构体类型名
C. x ,y,z 都是结构体成员名 D. struct ex 是结构体类型 - 在 C语言中对于实型数组,其每个数组元素的类型是( A)。
A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 - 若已定义: int a[9] ,*p=a;不能表示 a[1] 地址的表达式是( C)。
A. p+1 B. a+1 C. a++ D. ++p - 在 TC2.0 环境中,对文件进行保存使用的命令是(B )。
A. OPEN B. SAVE C. LOAD D. WRITE TO - 在 C++的类中,用于表示公共类型的关键字是( D)。
A. class B. private C. protect D. public
8、
9、
10、1. 在编译指令中,宏定义使用的指令是 (B)
A.#include B .#define C.#if D .#else
2.基类中的 protected 成员,通过哪种派生,其在派生类中的可见性为 protected? (B)
A.public 和 private B .public 和 protected
C.protected 和 private D .仅 protected
3.基类中的 public 成员,通过 public 派生,基在派生类中的可见性为 (D)
A.不可访问 B .private C .protected D .public
4.不同对象调用同名函数,但导致完全不同行为的现象称为 (D)
A.抽象 B .封装 C .继承 D .多态性
5.头文件扩展名为 (B)
A.cpp B .h C .ub D .ob
6.声明函数为内联使用的关键字为 (B)
A.const B .inline C .short D .signed
7.设类 A中有静态数据成员 x,两个 A类对象 a 和 b,若 a.x10,则 b.x 的值为 (B)
A.9 B .10 C.1l D .不能确定
8.C ++允许在结构中定义函数,这些函数称为 (D)
A.静态函数 B .构造函数 C .析构函数 D .成员函数
9.下列哪种类型的函数适合声明为内联函数 ? (D)
A.函数体语句较多 B .函数体逻辑较复杂
C.函数执行时间较长 D .函数语句较少,执行速度要求高
10.析构函数的返回值类型为 (D)
A.void B .bool C .int D .无类型
11.函数重载必须满足的条件是 (A)
A.函数名相同 B .参数个数不同 C. 参数类型不同 D .函数名不相同
12.下列表达式,哪个是声明 P为指向常量的常量指针 ? (C)
A.const intP B .intconst P
C.const int* 术 const P D . int*P
13.C++中函数中的 return 指令可以 (B)
A.只能有一条 B .0 或多条 C. 至少有一条 D .只能主函数调用
14.类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束 (B)
A.: B .; C ., D…
- 使用 new Point(5 ,7) 创建对象,调用的是下列哪个构造函数 ? (B)
A.Point ::Point() B .Point ::Point(int ,int)
C.Point ::Creat() D .Point ::Creat(int ,int)
16.类中的 protected 成员在何处访问 ? (C)
A.只类自身成员函数中 B .只子类成员函数中
C.类和子类的成员函数中 D .通过对象类外访问
17.在类中使用 static 关键字修饰的成员函数称为 (C)
A.全局成员函数 B .公有成员函数 C .静态成员函数 D .非静态成员函数
18.用于标识十六进制常量的前缀或后缀是 (D)
A.无 B .后缀 L 或 l C. 前缀零 D .前缀 Ox
19.在定义结构时,为产生封装性,则需使用哪个关键字数据成员 ? (D)
A.public B .publish C .protected D .private
- 函数模板 templatevoid Func(T ,T)不能具有哪种实例化形式 ? (C)
A.void Func(int .int) B .void Func(bool ,b001)
C.void Func(double .int) D .void Func(char ,char)
11、1. 在编译指令中,宏定义使用的指令是 (B)
A.#include B .#define C.#if D .#else
2.基类中的 protected 成员,通过哪种派生,其在派生类中的可见性为 protected? (B)
A.public 和 private B .public 和 protected
C.protected 和 private D .仅 protected
3.基类中的 public 成员,通过 public 派生,基在派生类中的可见性为 (D)
A.不可访问 B .private C .protected D .public
4.不同对象调用同名函数,但导致完全不同行为的现象称为 (D)
A.抽象 B .封装 C .继承 D .多态性
5.头文件扩展名为 (B)
A.cpp B .h C .ub D .ob
6.声明函数为内联使用的关键字为 (B)
A.const B .inline C .short D .signed
7.设类 A中有静态数据成员 x,两个 A类对象 a 和 b,若 a.x10,则 b.x 的值为 (B)
A.9 B .10 C.1l D .不能确定
8.C ++允许在结构中定义函数,这些函数称为 (D)
A.静态函数 B .构造函数 C .析构函数 D .成员函数
9.下列哪种类型的函数适合声明为内联函数 ? (D)
A.函数体语句较多 B .函数体逻辑较复杂
C.函数执行时间较长 D .函数语句较少,执行速度要求高
10.析构函数的返回值类型为 (D)
A.void B .bool C .int D .无类型
11.函数重载必须满足的条件是 (A)
A.函数名相同 B .参数个数不同 C. 参数类型不同 D .函数名不相同
12.下列表达式,哪个是声明 P为指向常量的常量指针 ? (C)
A.const intP B .intconst P
C.const int* 术 const P D . int*P
13.C++中函数中的 return 指令可以 (B)
A.只能有一条 B .0 或多条 C. 至少有一条 D .只能主函数调用
14.类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束 (B)
A.: B .; C ., D…
- 使用 new Point(5 ,7) 创建对象,调用的是下列哪个构造函数 ? (B)
A.Point ::Point() B .Point ::Point(int ,int)
C.Point ::Creat() D .Point ::Creat(int ,int)
16.类中的 protected 成员在何处访问 ? (C)
A.只类自身成员函数中 B .只子类成员函数中
C.类和子类的成员函数中 D .通过对象类外访问
17.在类中使用 static 关键字修饰的成员函数称为 (C)
A.全局成员函数 B .公有成员函数 C .静态成员函数 D .非静态成员函数
18.用于标识十六进制常量的前缀或后缀是 (D)
A.无 B .后缀 L 或 l C. 前缀零 D .前缀 Ox
19.在定义结构时,为产生封装性,则需使用哪个关键字数据成员 ? (D)
A.public B .publish C .protected D .private
- 函数模板 templatevoid Func(T ,T)不能具有哪种实例化形式 ? (C)
A.void Func(int .int) B .void Func(bool ,b001)
C.void Func(double .int) D .void Func(char ,char)
12、1.下列关于类的权限描述错误的是 (C)
A.类本身的成员函数可以访问自身的任何成员
B.类的对象只能访问公有成员
C.普通函数可以不通过对象直接访问类的公有成员
D.一个类可以包含另一个类的对象作为成员
2.只能在自身类和子类成员函数中被访问,无法通过对象在类外访问的成员属于 (B)
A.private B.protected
C.public D.publish
3.面向对象中的“对象”是指 (C)
A.行为抽象 B.数据抽象
C.行为抽象和数据抽象的统一 D.行为抽象和数据抽象的对立
4.在类外定义成员函数时, ::运算符两侧分别连接 (D)
A.返回值类型 函数名 B.返回值类型 类名
C.函数名 类名 D.类名 函数名
5.设函数 int& index(int * a , int i) 返回数组 a 中下标为 i 的元素,如存在整型数组 int Array []={1, 2,3},在执行index(Array ,2)+ + 后, Array 中各元素值为 (C)
A.{0 ,1,2} B.{l ,1,2}
C.{1 ,2,4} D.{0 ,2,3}
6.类构造函数定义的位置是 (A)
A.类体内或体外 B.只是在类体内
C.只在类体外 D.在类的成员函数中
7.设存在数组 a,其长度为 Len,则下列哪项泛型算法用于在 a 中寻找值 Value 的位置 (C)
A.reverse(a ,a+Len,Value) ; B.sort(a ,a+Len,Value) ;
C.find(a ,a+Len,Value) ; D.copy(a ,a+Len,Value) ;
8.关于对象的性质,下列描述错误的是: (C)
A.同一类对象间可相互赋值 B.可以使用对象数组
C.对象不可以用作函数参数 D.一个对象可以用作另一个类的成员
9.声明一个没有初始化参数的对象,需调用 (D)
A.指定参数构造函数 B.拷贝构造函数
C.初始化函数 D.默认构造函数
10.下列运算符不能重载的是 (B)
A.! B.sizeof
C.new D.delete
11.如 P是一指针类型表达式,则下列表达式中不是左值表达式的是 (D)
A.P B.*P
C.&P D.P+1
12.使用下列流格式控制符能输出一个换行符的是 (D)
A.dec B.oct
C.hex D.endl
13.下列表达式,能将 P声明为常量指针的是 (A)
A.const int * P ; B.int*const P ;
C.const int * const P D.int * P
14.C++程序文件扩展名为 (A)
A..cpp B..h
C..lib D..obj
15.对 C++中主函数描述正确的是 (C)
A.名称为 main,可为多个 B.名称不限,可为多个
C.名称为 main,必须有且只能有一个 D.名称不限,必须有且只能有一个
16.假定有 char * P=“Hello” ;,要输出这个字符串的地址值的正确写法是 (C)
A.cout<< *P B.cout<<P
C.cout<<&P D.cout<<(void *)P
17.下列描述错误的是 (A)
A.在没创建对象前,静态成员不存在
B.静态成员是类的成员,不是对象成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
18.对于友元描述正确的是 (B)
A.友元是本类的成员函数 B.友元不是本类的成员函数
C.友元不是函数 D.以上皆不正确
19.一个函数功能不太复杂,但要求频繁使用,则该函数适合作为 (A)
A.内联函数 B.重载函数
C.递归函数 D.嵌套函数
20.下列默认参数的声明不正确的是 (C)
A.int max(int a ,int b ,int c ,int d=0) ;
B.int max(int a ,int b ,int c=0 , int d=0) ;
C.int max(int a=0 , int b ,int c=0 ,int d=0) ;
D.int max(int a ,int b=0 ,int c=0 ,int d=0) ;
13、1.C++中注释“∥”的有效范围是( A)
A.从“∥”开始到行尾 B.从“∥”开始到下一个“∥”
C.“∥”及其后一个字符 D.从“∥”开始到程序尾
- 假定 MyClass 为一个类,则该类的复制构造函数的声明语句为( C)
A.MyClass&(MyClass x) ; B.MyClass(MyClass x) ;
C.MyClass(MyClass&x) ; D.MyClass(MyClass *x) ; - 下列选项不是 C++关键字的是(D )
A.typedef B.void
C.bool D.inc - 用于标识十进制常量的前缀或后缀是(A )
A.无前后缀 B.后缀 L 或 l
C.前缀 0 D.前缀 0x - 设 int x=56;int r=x ;若 cout<<&x ;显示 0012FF7A,则 cout<<&r ;输出值为(D )
A.56 B.00l2FF7A
C.0012FF7B D.未知 - 使用下列哪个流格式控制符可设置转换基数为八进制( B)
A.dec B.oct
C.hex D.endl
7.C++中是否允许在类结构中定义函数(B )
A.不允许 B.允许
C.仅允许定义构造函数 D.只不允许定义构造函数
- 设函数 void subone(int &) 将形参减 1,如有整型变量 int k=10 ,则执行 subone(k) ;后, k 的值为( A)
A.9 B.10
C.11 D.未知 - 对函数 int max(int a ,int b=0 ,int c=0 ,int d=0 , int e=0) ;下列调用方式正确的是( A)
A.int m=max(10 , 11,12,13,14) ; B.int m=max(10 ,,12,13,14) ;
C.int m=max(10 , 1l ,,13,14); D.int m=max(10 ,11,12,,14) ; - 类 MyClass 的定义如下:
class MyClass
{
public :
MyClass(){}
MyClass(int i){value=new int(i);}
int * value ;
} ;
若要对 value 赋值,则下面语句正确的是( D)
A.MyClass my ;my.value=10 ; B.MyClass my ;*my.value=10 ;
C.MyClass my ;my.*value=10 ; D.MyClass my(10) ; - 包含哪种语句的函数不能声明为内联函数( D)
A.变量定义 B.if,else
C.位操作 D.switch - 声明函数模板的关键字是(B )
A.inline B.template
C.const D.short - 对于类中的成员,使用 public 修饰,表明该成员的访问权限是(A )
A.公有的 B.私有的
C.保护的 D.不可见的 - 一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(A )
A.不允许 B.允许
C.无法确定 D.视构造函数的函数,可确定 - 析构函数的参数个数为( A)
A.0 个 B.1 个
C.至少 1 个 D.多于 1 个 - 非静态成员函数都会有一个隐含指针,它是(B )
A.self 指针 B.this 指针
C.current 指针 D.one 指针 - 下列访问公有静态成员的方式,错误的是( D)
A.类名::静态成员名 B.对象名 . 静态成员名
C.对象指针 -> 静态成员名 D.对象指针 . 静态成员名
18.声明友元使用下列哪个关键字( C)
A.class B.const
C.friend D.virtual
19.派生类继承了基类的( A)
A.所有成员 B.部分成员
C.数据成员 D.成员函数
20.基类 private 成员,通过 public 派生,其在派生类中为( D)
A.private B.protected
C.public D.不可访问
14、
15、1.C++ 源程序文件扩展名为 ( A )
A…cpp B…h C…1ib D…obj
2.在 C++中使用流进行输入输出,其中专用于从键盘进行输入的流是 ( B )
A.cerr B.cin C.cout D.cfile
3.包含自定义头文件 file.h 的预处理指令是 ( D )
A.#define<file.h> B.#include file.h C.#define file.h D.#include"file.h"
4.用于标识十六进制前缀或后缀是 ( D )
A.无 B.后缀 L 或 e C.前缀零 D.前缀 0x
5.设存在整型变量 int x,则下列句与其它三项含义不同的是 ( A )
A.int* p=&x ; B.int& p=x ; C.int & p=x ; D.int &p=x ;
6.在定义类成员时,为产生封装性,则需使用哪个关键字 ( D )
A.public B.publish C.protected D.private
7.设函数 void swap(int&,int&) 将交换两形参的值,如两整型变量 int a=10;int b=15;
则执行 swap(a,b)后, a、b 值分别为 ( C )
A.10,10 B.10,15 C.15,10 D.15,15
8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的 ( C )
A.前部 B.中部 C.后部 D.两端
9.设存在函数 int min(int ,int)返回两参数中较小值,若求 15,26,47 三者中最小值,下列表达式中
错误的是 ( B )
A.int m=min(min(15 ,26),min(15,47));
B.int m=min(15 ,26,47);
C.int m=min(15 ,min(47,26));
D.int m =min(min(47 ,26),16);
10.下列函数不能和函数 void print(char) 构成重载的是 ( C )
A.int print(int) ; B.void print(char,char);
C.int print(char) ; D.void print(int ,int);
11.在下列成对的表达式中,运算结果类型相同的一对是 ( D )
A.7/2 和 7.0/2.0 B.7/2.0 和 7/2
C.7.0/2和 7/2 D.7.0/2.0 和 7.0/2
l2.内联函数的特点是 ( A )
A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度
C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度
13.类的私有成员可在何处被访问 ( A )
A.本类的成员函数中 B.本类及子类的成员函数中
C.通过对象名在任何位置 D. 不可访问
14.类的构造函数在以下什么情况下会被自动调用 ( B )
A.定义成员函数时 B.定义对象时
C.定义数据成员时 D.定义友元函数时
15.下列关于析构函数描述正确的是 ( D )
A.可以重载 B.函数体中必须有 delete语句
C.返回类型必须是 void类型 D.不能指定返回类型
16.设有函数 T Sum(T x ,T y){return x+y ;},其中 T 为模板类型,则下列语句中对该函数错误的使用是 ( D )
A.Sum(1,2); B.Sum(3.0,2.2); C.Sum(,A?,,C?); D.Sum(“A” ,“C”) ;
17.下列哪个编译指令属于条件编译指令 ( C )
A.#include B.#define C.#else D.#pragma
18.关于类的静态成员函数描述错误的是 ( A )
A.在创建对象前不存在 B.不能说明为虚函数
C.不能直接访问非静态函数 D.不是对象的成员
l9.如果类 A 被声明成类 B 的友元,则 ( D )
A.类 A 的成员即类 B 的成员
B.类 B 的成员即类 A 的成员
C.类 A 的成员函数不得访问类 B 的成员
D.类 B 不一定是类 A 的友元
20.派生类的对象可以访问以下那种情况继承的基类成员 ( D )
A.私有继承的私有成员 B.公有继承的私有成员
C.私有继承的保护成员 D.公有继承的公有成员
16、1.对 C++语言和 C语言的兼容性,描述正确的是( A )
A.C++兼容 C B . C++部分兼容 C D .C兼容 C++
2.在 C++中使用流进行输入输出,其中用于屏幕输出的对象是( C )
A.cerr B.cin C.coutD.cfile
(cerr: 标准错误输出(非缓冲方式) ; cin: 标准输入 ;
clog 标准错误输出(缓冲方式) )
3.对使用关键字 new所开辟的动态存储空间,释放时必须使用( C )
A.free B .create C.delete D .realse
4.如没有使用 private 关键字定义类的数据成员,则默认为 ( A )
A.private B.public C. protected D.friend
5.使用值传递方式将实参传给形参,下列说法正确的是( A )
A.形参是实参的备份 B.实参是形参的备份 C.形参和实参是同一对象 D.形参和实参无联系
6.在函数调用时,如某一默认参数要指明一个特定值,则有( A )
A.其之前所有参数都必须赋值 B.其之后所有参数都必须赋值 C.其前、后所有参数都必须赋值 D.其前、
后所有参数都不必赋值
7.设存在函数 int max(int ,int) 返回两参数中较大值,若求 22,59,70 三者中最大值,下列表达式不
正确的是( C )
A.int m = max(22,max(59,70)) ; B.int m = max(max(22, 59) ,70) ;C.int m = max(22,59,70) ;
D.int m = max(59 , max(22,70)) ;
8.下列哪个类型函数不适合声明为内联函数( A )
A.函数体语句较多 B.函数体语句较少 C.函数执行时间较短 D.函数执行时间过长
9.int Func(int ,int) ;不可与下列哪个函数构成重载( B )
A.int Func(int ,int ,int) ; B.double Func(int ,int) ;
C.double Func(double ,double) ; D.double Func(int ,double) ;
说明:不能以形参名来区分函数;不能以
函数返回值来区分函数。必须是形参的个
数或者类型不同才能构成函数重载。
10.对类中声明的变量,下列描述中正确的是( C )
A.属于全局变量 B.只属于该类 C.属于该类,某些情况下也可被该类不同实例所共享
D.任何情况下都可被该类所有实例共享
11.类的私有成员可在何处访问 ( D )
A.通过子类的对象访问 B.本类及子类的成员函数中 C.通过该类对象访问 D.本类的成员函数中
12.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( A )
A.编译器总是自动创建一个不带参数的构造函数
B.这个类没有构造函数 C.这个类不需要构造函数 D.该类不能通过编译
13.一个类可包含析构函数的个数是( B )
A.0 个 B .1 个 C.至少一个 D.0 个或多个
14.this 指针存在的目的是( B )
A.保证基类公有成员在子类中可以被访问
B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码
C.保证基类保护成员在子类中可以被访问 D.保证基类私有成员在子类中可以被访问
15.下列关于类的权限的描述错误的是( A )
A.类本身的成员函数只能访问自身的私有成员 B.类的对象只能访问该类的公有成员
C.普通函数不能直接访问类的公有成员,必须通过对象访问 D.一个类可以将另一个类的对象作为成员
16.在编译指令中,宏定义使用哪个指令( B )
A.#include B .#define C .#if D . #else
17.设类 A将其它类对象作为成员,则建立 A类对象时,下列描述正确的是( B )
A.A类构造函数先执行 B.成员构造函数先执行 C.两者并行执行 D.不能确定类的组合, 描述的是一个类内嵌其他类的对象作为成员的情况, 它们之间的关系是一种包含与被包含的关系。
在声明一个组合类的对象时,不仅它自身的构造函数将被调用,而且还将调用其内嵌对象的构造函数。这时构造函数的调用顺序是:
(1) 按照内嵌对象在组合类的声明中出现的次序,依次调用内嵌对象的构造函数;
(2) 执行本类构造函数的函数体
析构函数的调用执行顺序与构造函数刚好相反。
18.下列描述错误的是( A )
A.在创建对象前 , 静态成员不存在 B.静态成员是类的成员
C.静态成员不能是虚函数 D.静态成员函数不能直接访问非静态成员
说明:静态成员函数可以直接访问该类的静态数据和函数成员,而访问非静态成员,必须通过参数传递方式得到对象名,然后通过对象名来访问。
19.对于友元描述正确的是( B )
A.友元是本类的成员函数 B.友元不是本类的成员函数 C.友元不是函数 D.友元不能访问本类私有成员
20.在哪种派生方式中,派生类可以访问基类中的 protected 成员( B )
A.public 和 private B .public 和 protectedC .protected 和 privateD .仅 protected
17、
18、
19、1.对 C++中主函数描述正确的是( C)
A.名称为 main,可为多个 B.名称不限,可为多个
C.名称为 main,必须有且只能有一个 D.名称不限,必须有且只能有一个
2.调用声明为 int result (int a,int b)的函数时,正确的方法是( A)
A.result (1,2) B.result(1)
C.result(0.1,0.3) D.result(1,2,3)
3.用于包含 C++标准库 iostream 的预处理指令是( B)
A.#define B.#include
C.#define ‘ iostream ’ D.#include ‘ iostream ’
4.无类型标识符是指( A)
A.void B.bool
C.short D.long
5.从本质上看,引用是被引用变量的( B)
A.拷贝 B.别名
C.复制 D.克隆
6.下面关于数组的初始化正确的是( A)
A.char str[ ]={‘a’,‘b’,‘c’};
B.char str[2]={‘a’ ,‘b’,‘c’} ;
C.char str[1][2]={{‘a’ ,‘b’} ,{‘e’,‘d’}} ;
D.char str[ ][ ]={‘a’ ,‘b’,‘c’} ;
7.C++ 类中定义的成员默认访问属性为(B )
A.public B.private
C.protected D.friend
8.决定 C++语言中函数的返回值类型的是(D )
A.return 语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
9.函数 int & min (int & ,int & )返回参数中较小者,设有两整型变量 int a=10;int b=15 ;
在执行语句 min(a,b)–;之后, a,b 值分别为( B)
A.9 ,14 B.9,15
C.10, 14 D.10,15
10.声明函数为内联函数时所使用的关键字为( B)
A.const B.inline
C.short D.signed
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
#include ‘ iostream ’
4.无类型标识符是指( A)
A.void B.bool
C.short D.long
5.从本质上看,引用是被引用变量的( B)
A.拷贝 B.别名
C.复制 D.克隆
6.下面关于数组的初始化正确的是( A)
A.char str[ ]={‘a’,‘b’,‘c’};
B.char str[2]={‘a’ ,‘b’,‘c’} ;
C.char str[1][2]={{‘a’ ,‘b’} ,{‘e’,‘d’}} ;
D.char str[ ][ ]={‘a’ ,‘b’,‘c’} ;
7.C++ 类中定义的成员默认访问属性为(B )
A.public B.private
C.protected D.friend
8.决定 C++语言中函数的返回值类型的是(D )
A.return 语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
9.函数 int & min (int & ,int & )返回参数中较小者,设有两整型变量 int a=10;int b=15 ;
在执行语句 min(a,b)–;之后, a,b 值分别为( B)
A.9 ,14 B.9,15
C.10, 14 D.10,15
10.声明函数为内联函数时所使用的关键字为( B)
A.const B.inline
C.short D.signed
[外链图片转存中…(img-qpAL2YDP-1715812919281)]
[外链图片转存中…(img-4DhGWVmh-1715812919281)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!