当前位置:   article > 正文

2024年最全C++程序设计选择题_c++选择题(2),2024年最新新鲜出炉的蚂蚁金服面经

2024年最全C++程序设计选择题_c++选择题(2),2024年最新新鲜出炉的蚂蚁金服面经

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

  1. 有如下类声明“ class A{int x ;⋯};”,则 A 类的成员 x 是 (B)
    A. 公有数据成员 B .私有数据成员
    C.公有成员函数 D .私有成员函数
  2. 下列不是构造函数的特征的是 (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. 函数

  1. 下面标识符中正确的是( C)。
    A.d&ef B.6a C.z4x5c D.a3/b4
  2. 在 C语言中,存储一个字符型、整型、单精度实型变量所需的空间是(A)。
    A.1、2、4 B.1 、1、4 C.1 、2、8 D.2 、2、 8
  3. 为了避免嵌套的条件分支语句 if —— else 中的 else 总是与( C) 组成成对关系。
    A. 缩排位置相同的
    B. 在其之前未配对的
    C. 在其之前未配对的最近的 if
    D. 在同一行上的 if
  4. 下列表达式的结果正确的是( 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
  5. 设有 int x=11 ;则表达式( x+1/3 )的值是( C)。
    A.3 B. 4 C. 11 D.12
  6. 设有字符串 A=“He has 钱!”,则该字符串的长度为( B)。
    A. 9 B. 10 C. 11 D. 8
  7. 有如下程序段,则正确的执行结果是(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. 无结果
  8. 执行语句: printf (“%d”,( a=2)&&(b= -2 );后,输出结果是( D)。
    A.无输出 B. 结果不确定 C.-1 D. 1
  9. 有如下定义类型语句,若从键盘输入数据,正确的输入语句是(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);
  10. struct ex
    { int x ; float y ; char z ;} example ;
    则下面的叙述中不正确的是( B)。
    A. struct 结构体类型的关键字 B. example 是结构体类型名
    C. x ,y,z 都是结构体成员名 D. struct ex 是结构体类型
  11. 在 C语言中对于实型数组,其每个数组元素的类型是( A)。
    A. 实型 B. 整型 C. 可以为任何类型 D. 不确定
  12. 若已定义: int a[9] ,*p=a;不能表示 a[1] 地址的表达式是( C)。
    A. p+1 B. a+1 C. a++ D. ++p
  13. 在 TC2.0 环境中,对文件进行保存使用的命令是(B )。
    A. OPEN B. SAVE C. LOAD D. WRITE TO
  14. 在 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…

  1. 使用 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

  1. 函数模板 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…

  1. 使用 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

  1. 函数模板 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.从“∥”开始到程序尾

  1. 假定 MyClass 为一个类,则该类的复制构造函数的声明语句为( C)
    A.MyClass&(MyClass x) ; B.MyClass(MyClass x) ;
    C.MyClass(MyClass&x) ; D.MyClass(MyClass *x) ;
  2. 下列选项不是 C++关键字的是(D )
    A.typedef B.void
    C.bool D.inc
  3. 用于标识十进制常量的前缀或后缀是(A )
    A.无前后缀 B.后缀 L 或 l
    C.前缀 0 D.前缀 0x
  4. 设 int x=56;int r=x ;若 cout<<&x ;显示 0012FF7A,则 cout<<&r ;输出值为(D )
    A.56 B.00l2FF7A
    C.0012FF7B D.未知
  5. 使用下列哪个流格式控制符可设置转换基数为八进制( B)
    A.dec B.oct
    C.hex D.endl

7.C++中是否允许在类结构中定义函数(B )
A.不允许 B.允许
C.仅允许定义构造函数 D.只不允许定义构造函数

  1. 设函数 void subone(int &) 将形参减 1,如有整型变量 int k=10 ,则执行 subone(k) ;后, k 的值为( A)
    A.9 B.10
    C.11 D.未知
  2. 对函数 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) ;
  3. 类 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) ;
  4. 包含哪种语句的函数不能声明为内联函数( D)
    A.变量定义 B.if,else
    C.位操作 D.switch
  5. 声明函数模板的关键字是(B )
    A.inline B.template
    C.const D.short
  6. 对于类中的成员,使用 public 修饰,表明该成员的访问权限是(A )
    A.公有的 B.私有的
    C.保护的 D.不可见的
  7. 一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(A )
    A.不允许 B.允许
    C.无法确定 D.视构造函数的函数,可确定
  8. 析构函数的参数个数为( A)
    A.0 个 B.1 个
    C.至少 1 个 D.多于 1 个
  9. 非静态成员函数都会有一个隐含指针,它是(B )
    A.self 指针 B.this 指针
    C.current 指针 D.one 指针
  10. 下列访问公有静态成员的方式,错误的是( 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

11.函数 int sum(int a=l ,int b=1,int c=3 )可与下列哪个函数同时声明( C)
A.double sum (int); B.char sum(int,int);
C.int sum (double); D.int sum (int,int ,int);

12.函数模板 template void Func (T,T)可具有下列哪种实例化形式(B )
A.void Func (float,int) B.void Func (char,char)
C.void Func (int,double) D.void Func (bool,float)

13.下列访问成员的方式哪个是正确的(A )
A.对象名 .对象成员名 B.对象指针名 .对象成员名
C.对象名 →对象成员名 D.类名 →对象成员名

14.对类 A,复制构造函数的原型是( A)
A.A ::A(const A& ); B.A ::A(const A *);
C.A::A(const A); D.A ::A( );

15.对 class point,如使用 point * ptr=new point[2] ;创建对象数组,则删除此数组使用的语句是( B)
A.delete ptr[2] ; B.delete[ ] ptr ;
C.delete ptr[ ] ; D.delete[2] ptr;

16.下列哪个编译指令不属于条件编译指令( D)
A.#if B.#else
C.#endif D.#error

17.类 A 中存在静态数据成员 x,设 a 和 b 是类 A 的两个对象,在执行 a.x=10 之后, b.x的值为( B)
A.未初始化 B.等于 a.x
C.等于 0 D.随机

18.使用 string.h 库操纵字符串时,将两个字符串连接成一个字符串的函数是(C )
A.strlen () B.strcap()
C.strcat() D.strcmp()

19.基类中的 public 成员,通过 public 派生,其在派生类中的访问权限为(D )
A.不可访问 B.private
C.protected D.public

20.不同对象调用同名函数,但导致完全不同行为的现象称为(D )
A.抽象 B.封装
C.继承 D.多态性

20、1. 假定一个类的构造函数为 A ( int aa, int bb) { a = aa; b = bb; } ,则执行 A x(4,5);语法后, x.a和 x.b 的值分别为(C )
A.4 和 5 B.5 和 4 C.4和 20 D.20 和 5

  1. 假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的(B )
    A.有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值重载函数
  2. C++语言建立类族是通过(B )
    A.类的嵌套 B.类的继承 C.虚函数 D.抽象类
  3. 执行语句序列 ofstream outf(“SALARY.DAT”);if ( ⋯) cout<<“成功!”; else cout<<"失败! ";
    后,如果文件打开成功,显示 “成功!”,否则显示 “失败!”。由此可知,上面 if 语句的⋯⋯处的表达式是( C)
    A.!outf 或者 outf.fail() B.!outf 或者 outf.good()
    C.outf 或者 outf.good() D.outf 或者 ouf.fail(C)
  4. 静态成员函数不能说明为(C )
    A.整型函数 B.浮点函数 C.虚函数 D.字符型函数
  5. 在 C++中,数据封装要解决的问题是(D )
    A.数据规范化排列 B.数据高速转换
    C.避免数据丢失 D.切断了不同模块之间的数据的非法使用
  6. 在 C++中有下列 4 条语句:
    int hot = 100;
    int &rsd = hot;
    hot = hot + 100;
    cout<<rsd<<endl;
    执行这 4 条语句后输出为( C)
    A.0 B.100 C.200 D.300
  7. 如果 class类中的所有成员在定义时都没有使用关键字 public、private 或 protected,则所有成员缺省定义为(C )
    A.public B.protected C.private D.static
  8. 设置虚基类的目的是(A )
    A.消除两义性 B.简化程序 C.提高运行效率 D.减少目标代码
  9. 实现运行时的多态性用( D)
    A.重载函数 B.构造函数 C.析构函数 D.虚函数

21、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
22、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
23、
1.在 C++语言中用于注释的标识符是
A.& B.// C.* D./
2.编写 C++程序一般需经过的几个步骤依次是
A.编辑、调试、编译、连接 B.编译、调试、编辑、连接
C.编译、编辑、连接、运行 D.编辑、编译、连接、运行
3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用
A.内联函数 B.重载函数 C.内部函数 D.函数模板
4.设 x=8,执行语句 Y=x++,则 y 等于
A.6 B. 7 C.9 D.8
5.下列运算符中,优先级最高的是
A. * B.一 > C.&& D.>=
6.关于 new 运算符的下列描述中,错误的是
A.它可以用来动态创建对象和对象数组
B.使用它创建的对象和对象数组可以使用运算符 delete 删除
C.使用它创建对象时要调用构造函数
D.使用它创建对象数组时必须指定初始值
7.存储下列数据,占用存储字节最多的是
A. 0 B.‘0’ C.〝 0〞 D.0.0
8.关于类和对象不正确的说法是
A.类是一种类型,它封装了数据和操作 B.对象是类的实例
C.一个类的对象只有一个 D.一个对象必属于某个类
9.下列有关构造函数的描述中,正确的是
A.构造函数可以带有返回值 B.构造函数的名字与类名完全相同
C.构造函数必须带有参数 D.构造函数必须定义,不能缺省
10.假定 a 为一个整型数组名,则元素 a[4]的字节地址为
A. a+4 B.a+8 C. a+16 D. a+32
11.类中能访问静态成员的函数是
C++程序设计试卷第 2页共 12页
A.虚函数 B.静态成员函数 C. 构造函数 D.析构函数
12.下列说明语句中正确的是
A.int a,&ra=a,&&ref=ra B. int&refa[10]
C.int a,&ra=a,& refp=&ra D.intpi ,*&pref=pi
13.关于对象概念的描述中,说法错误的是
A.对象就是 C 语言中的结构体
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的
14.有关多态性说法不正确的是
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.编译时的多态性可通过函数重载实现
C.运行时的多态性可通过模板和虚函数实现
D.实现运行时多态性的机制称为动态多态性
15.关于友元函数的描述中,错误的是
A.友元函数不是成员函数
B.友元函数只能访问类中私有成员
C.友元函数破坏隐藏性,尽量少用
D.友元函数说明在类体内,使用关键字 friend
16.类中定义的成员默认访问属性为
A.public B. private C.protected D.friend
17.拷贝构造函数的参数是
A.某个对象名 B.某个对象的成员名
C.某个对象的引用名 D.某个对象的指针名
18.关于类模板的说法正确的是
A.类模板的主要作用是生成抽象类
B.类模板实例化时,编译器将根据给出的模板实参生成一个类
C.在类模板中的数据成员具有同样类型
D.类模板中的成员函数没有返回值
19.下列有关重载函数的说法中正确的是
A.重载函数必须具有不同的返回值类型 B.重载函数参数个数必须相同
C.重载函数必须有不同的形参列表 D.重载函数名可以不同
20.当一个类的某个函数被说明为 virtual 时,在该类的所有派生类中的同原型函数
A.都是虚函数
B.只有被重新说明时才是虚函数
C.都不是虚函数
D.只有被重新说明为 virtual 时才是虚函数
在这里插入图片描述

24、
1 .C++语言是从早期的 C语言逐渐发展演变而来的,与 C语言相比, C++在求解问题方
法上进行的最大改进是
A .面向过程 B .面向对象 C. 安全性 D .复用性
2 .结构化程序设计所规定的三种基本控制结构是
A. 输入、处理、输出 B .树形、网形、环形
C .顺序、选择、循环 D. 主程序、子程序、函数

3 .关于函数模板,描述错误的是 ( )
A .函数模板必须由程序员实例化为可执行的函数模板
B. 函数模板的实例化由编译器实现
C .一个类定义中,只要有一个函数模板,则这个类是类模板
D .类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

4 .作用域运算符“: :”的功能是 ( )
A .标识作用域的级别的 B .指出作用域的范围的
C .给定作用域的大小的 D .标识成员是属于哪个类的

5 .采用重载函数的目的是 ( )
A .实现共享 B .减少空间
C .提高速度 D .使用方便,提高可读性

6 .以下关键字不能用来声明类的访问权限的是 ( )
A .public B .private C .stadc D .protected

  1. 有如下类声明“ class A{int x ;,} ;”,则 A 类的成员 x 是
    A. 公有数据成员 B .私有数据成员
    C.公有成员函数 D .私有成员函数
  2. 下列不是构造函数的特征的是 ( )
    A .构造函数的函数名与类名相同 B .构造函数可以重载
    C .构造函数可以设置缺省参数 D .构造函数不能重载

9 .通常的拷贝构造函数的参数是 ( )
A. 某个对象名 B .某个对象成员名
C .某个对象的引用 D .某个对象的指针名

10.下列哪个类型函数不适合声明为内联函数 ? ( )
A. 函数体语句较多 B .函数体语句较少
C .函数执行时间较短 D .函数执行时间过长

11.设 x 和 y 均为 bool 量,则 x&& y 为真的条件是 ( )
A .它们均为真 B .其中一个为真
C .它们均为假 D .其中一个为假

12.对于友元描述正确的是 ( )
A .友元是本类的成员函数 B .友元不是本类的成员函数
C .友元不是函数 D .友元不能访问本类私有成员

13.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的 ( )
A .public 成员 B .private 成员
C.protected 成员 D .友元

14.在 C++语言中, 080 是 ( )
A .八进制数 B .十进制数
C.十六进制数 D .非法数

15.下面函数原型声明中,声明了 fun 为虚函数的是 ( )
A. void fun()=0 B . virtual void fun()=O
C .virtual void fun() D . virtual void fun(){}

16.下列虚基类的声明中,正确的是 ( )
A .class virtual B :public A B .class B :virtual public A
C .class B :public A virtual D .virtual class B :public A

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

A. 某个对象名 B .某个对象成员名
C .某个对象的引用 D .某个对象的指针名

10.下列哪个类型函数不适合声明为内联函数 ? ( )
A. 函数体语句较多 B .函数体语句较少
C .函数执行时间较短 D .函数执行时间过长

11.设 x 和 y 均为 bool 量,则 x&& y 为真的条件是 ( )
A .它们均为真 B .其中一个为真
C .它们均为假 D .其中一个为假

12.对于友元描述正确的是 ( )
A .友元是本类的成员函数 B .友元不是本类的成员函数
C .友元不是函数 D .友元不能访问本类私有成员

13.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的 ( )
A .public 成员 B .private 成员
C.protected 成员 D .友元

14.在 C++语言中, 080 是 ( )
A .八进制数 B .十进制数
C.十六进制数 D .非法数

15.下面函数原型声明中,声明了 fun 为虚函数的是 ( )
A. void fun()=0 B . virtual void fun()=O
C .virtual void fun() D . virtual void fun(){}

16.下列虚基类的声明中,正确的是 ( )
A .class virtual B :public A B .class B :virtual public A
C .class B :public A virtual D .virtual class B :public A

[外链图片转存中…(img-ceABuoAB-1715751866675)]
[外链图片转存中…(img-ivqUZXkJ-1715751866675)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/602635
推荐阅读
相关标签
  

闽ICP备14008679号