❤️三万字《C/C++面试突击200题》四年面试官爆肝整合❤️(附答案,建议收藏)

Posted 英雄哪里出来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️三万字《C/C++面试突击200题》四年面试官爆肝整合❤️(附答案,建议收藏)相关的知识,希望对你有一定的参考价值。

前言

  辛苦搬砖 「 十年 」 的老码农,「 四年 」C/C++ 面试官经验,整理出了一些当年用来「 虐候选人 」的题(不要打我🤣🤣🤣),先弄个 「 200 」 题吧,还有 「 8800 」 题,后面有时间再搞吧。
  由于题目较多,整理的也比较仓促,如果发现哪道题目有误,可以在 「 评论区指出 」 ,我们一起完善这套试题。然后,去 「 虐更多的人 」 ?!啊???
  题目均为「 四选项选择题 」,用 「 鼠标/手指 」 「 反选 」 对应题目中的 「 括号 」 就能看到答案了。

文章目录

🙉饭不食,水不饮,题必须刷🙉

C语言免费动漫教程,和我一起打卡!
🌞《光天化日学C语言》🌞

LeetCode 太难?先看简单题!
🧡《C语言入门100例》🧡

数据结构难?不存在的!
🌳《数据结构入门》🌳

LeetCode 太简单?算法学起来!
🌌《夜深人静写算法》🌌

究极算法奥义!深度学习!
🟣《深度学习100例》🟣

第一题 - 递归

1、 对于以下递归函数 f f f,调用 f ( 5 ) f(5) f(5),其返回值为 ( ( ( A ) ) )

int f(int n) {
    if (n)
        return f(n - 1) + n;
    return n;
}
  • 15
  • 10
  • 5
  • 以上均不是

第二题 - 操作符

2、 以下哪个操作符不能重载 ( ( ( C ) ) )

  • =
  • >
  • sizeof
  • %

第三题 - 字符串

3、 程序char c[5]={'a','b','\\0','c','\\0'}; printf("%s",c);的运行结果是 ( ( ( D ) ) )

  • ‘a’ ‘b’
  • ab\\0c\\0
  • ab c
  • ab

第四题 - 智能指针

4、 下面关于 shared_ptr 说法错误的有 ? ( ( ( C ) ) )

  • 一个 shared_ptr 对象实体可被多个线程同时读取
  • 两个 shared_ptr 对象实体可以被两个线程同时写入
  • 多线程读写同一个 shared_ptr 对象不需要加锁,因为shared_ptr 对象本身是线程安全的
  • 使用 shared_ptr 时候最好使用 make_shared 来分配内存

第五题 - 析构函数

5、 对于任意一个类,析构函数的个数最多为 ( ( ( B ) ) )

  • 0
  • 1
  • 2
  • 3

第六题 - 指针

6、 64位系统下,*p = NULL*p = new char[100]sizeof(p)各为多少? ( ( ( D ) ) )

  • 4,4
  • 4,8
  • 8,4
  • 8,8

第七题 - 溢出

7、 执行 C++ 程序时出现的 “溢出” 错误属于 ( ( ( D ) ) ) 错误。

  • 编译
  • 链接
  • 逻辑
  • 运行

第八题 - 字符串

8、 字符串"A+K=47\\n"的长度为 ( ( ( B ) ) )

  • 6
  • 7
  • 8
  • 5

第九题 - 函数

9、 在下列关于 C++ 函数的叙述中,正确的是 ( ( ( C ) ) )

  • 每个函数至少需要一个参数
  • 每个函数都必须有返回值
  • 函数在被调用之前必须先声明
  • 函数不能自己调用自己

第十题 - 静态变量

10、 static 类型的变量,默认的初始化值是? ( ( ( A ) ) )

  • 0
  • 空格
  • 随机变量
  • 1

第十一题 - 函数指针

11、 对于如下的这段程序,以下不合法的是 ( ( ( C ) ) )

int f1(float);
int f2(char);
int f3(float);
int f4(float);
int (*pf)(float);
  • int (*p) (float) = &f1;
  • pf = &f4;
  • pf = &f2;
  • pf = f3;

第十二题 - 三级指针

12、 下述程序的输出是 ( ( ( A ) ) )

#include<stdio.h>
 
int main() {
    static char *s[] = {"black", "white", "pink", "violet"};
    char **ptr[] = {s+3, s+2, s+1, s}, ***p;
    p = ptr;
    ++p;
    printf("%s", **p+1);
    return 0;
}
  • ink
  • pink
  • white
  • violet

第十三题 - 强制转换

13、 int a = 8, b = 5, c;, 执行语句 c = a / b + 0.5;后, c的值为 ( ( ( C ) ) )

  • 1.5
  • 2.1
  • 1
  • 0

第十四题 - 静态变量

14、 在C语言中,关于静态变量的说法,正确的是 ( ( ( C ) ) )

  • 静态全局变量作用域为一个程序的所有源文件
  • 静态变量和常量相同
  • 函数中的静态变量,在函数退出后不被释放
  • 静态变量只可以赋值一次

第十五题 - 编译

15、 一个 C++ 项目中有 3 个 .h 文件,5 个 .cpp 文件,编译之后生成的 .obj 文件的数量是 ( ( ( B ) ) )

  • 3
  • 5
  • 8
  • 不一定

第十六题 - 指针

16、 设有如下的程序段 char *ptr = NULL; char str[] = "hehe"; ptr = str;,执行完上面的程序段后,*(ptr+4)的值为 ( ( ( B ) ) )

  • ‘e’
  • ‘\\0’
  • 不确定的值
  • ‘e’ 的地址

第十七题 - 输入

17、 有如下语句序列:char str[10]; cin>>str;
当从键盘输入I love this blog时,str中的字符串是 ( ( ( D ) ) )

  • I love this blog
  • I love thi
  • I love
  • I

第十八题 - 设计模式

18、 在结构化的程序设计中,模块划分的原则是 ( ( ( D ) ) )

  • 模块间的联系越紧密越好
  • 模块功能越多越好
  • 模块越大越好
  • 模块内具有高内聚,模块间具有低耦合

第十九题 - 变量

19、 下面的类型声明中正确是 ( ( ( D ) ) )

  • int &a[4];
  • int &=b
  • int &&c
  • int d, *e = &d

第二十题 - 进制转换

20、 以下哪个式子有可能在某个进制下成立 ( ( ( A ) ) )

  • 13 * 14 = 204
  • 12 * 34 = 568
  • 14 * 14 = 140
  • 1 + 1 = 109

第二十一题 - 赋值运算符

21、 x = 6; x += x -= x*x;执行完毕以后,x的值为 ( ( ( B ) ) )

  • 30
  • -60
  • -24
  • 144

第二十二题 - 变量

22、 char 类型值的数值范围为 ( ( ( C ) ) )

  • 0 ~ 32767
  • 0 ~ 65535
  • -128 ~ 127
  • 0 ~ 256

第二十三题 - 全局变量

23、 关于全局变量,下列说法正确的是 ( ( ( A ) ) )

  • 全局变量可用于函数之间传递数据
  • 任何全局变量都只能被定义它的函数中的语句访问
  • 任何全局变量都只能被定义它的程序文件中的函数访问
  • 任何全局变量都可以被应用系统汇总任何程序文件中的任何函数访问

第二十四题 - 函数

24、 如果函数不需要任何返回值,使用什么形式的函数声明? ( ( ( B ) ) )

  • func()
  • void func()
  • func(void)
  • int func()

第二十五题 - 整型

25、 哪个表示的是十六进制? ( ( ( B ) ) )

  • 01234
  • 0x1234
  • 0b0001
  • 16

第二十六题 - 整型

26、 哪个表示的是八进制? ( ( ( A ) ) )

  • 01234
  • 0x1234
  • 0b0001
  • 008

第二十七题 - 静态变量

27、 静态局部变量存储在进程的 ( ( ( D ) ) )

  • 栈区
  • 寄存器区
  • 代码区
  • 全局区

第二十八题 - 运算符

28、 已知x = 43ch = 'A', y=0;则表达式(ch < 'B' && !y && x - 43)的值是 ( ( ( A ) ) )

  • 0
  • 1
  • 语法错误
  • “真”

第二十九题 - 运算符

29、 已知x = 43ch = 'A', y=0;则表达式(ch < 'B' || !y && x - 43)的值是 ( ( ( B ) ) )

  • 0
  • 1
  • 语法错误
  • “真”

第三十题 - 类型转换

30、 char w; int x; float y; double z;则表达式: w * x - z + y值的数据类型是 ( ( ( B ) ) )

  • float
  • double
  • int
  • char

第三十一题 - 逗号表达式

以上是关于❤️三万字《C/C++面试突击200题》四年面试官爆肝整合❤️(附答案,建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章

❤️三万字详解《十大入门算法》突击刷掉这几个题,面试不慌!❤️(附源码,建议收藏)

MySQL 三万字精华总结,和面试官扯皮绰绰有余(收藏系列)

MySQL 三万字精华总结,和面试官扯皮绰绰有余(收藏系列)

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)!!

❤️三万字《C语言面试错题100例》❤️(建议收藏)

大厂面试预备篇——《两万字MySql基础总结》❤️建议收藏