❤️三万字《C/C++面试突击200题》四年面试官爆肝整合❤️(附答案,建议收藏)
Posted 英雄哪里出来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️三万字《C/C++面试突击200题》四年面试官爆肝整合❤️(附答案,建议收藏)相关的知识,希望对你有一定的参考价值。
前言
辛苦搬砖 「 十年 」 的老码农,「 四年 」 的 C/C++ 面试官经验,整理出了一些当年用来「 虐候选人 」的题(不要打我🤣🤣🤣),先弄个 「 200 」 题吧,还有 「 8800 」 题,后面有时间再搞吧。
由于题目较多,整理的也比较仓促,如果发现哪道题目有误,可以在 「 评论区指出 」 ,我们一起完善这套试题。然后,去 「 虐更多的人 」 ?!啊???
题目均为「 四选项选择题 」,用 「 鼠标/手指 」 「 反选 」 对应题目中的 「 括号 」 就能看到答案了。
文章目录
- 前言
- 第一题 - 递归
- 第二题 - 操作符
- 第三题 - 字符串
- 第四题 - 智能指针
- 第五题 - 析构函数
- 第六题 - 指针
- 第七题 - 溢出
- 第八题 - 字符串
- 第九题 - 函数
- 第十题 - 静态变量
- 第十一题 - 函数指针
- 第十二题 - 三级指针
- 第十三题 - 强制转换
- 第十四题 - 静态变量
- 第十五题 - 编译
- 第十六题 - 指针
- 第十七题 - 输入
- 第十八题 - 设计模式
- 第十九题 - 变量
- 第二十题 - 进制转换
- 第二十一题 - 赋值运算符
- 第二十二题 - 变量
- 第二十三题 - 全局变量
- 第二十四题 - 函数
- 第二十五题 - 整型
- 第二十六题 - 整型
- 第二十七题 - 静态变量
- 第二十八题 - 运算符
- 第二十九题 - 运算符
- 第三十题 - 类型转换
- 第三十一题 - 逗号表达式
- 第三十二题 - 字节序
- 第三十三题 - 指针
- 第三十四题 - 补码
- 第三十五题 - 类
- 第三十六题 - 进制转换
- 第三十七题 - 位与运算
- 第三十八题 - 位或运算
- 第三十九题 - 异或运算
- 第四十题 - 按位取反运算
- 第四十一题 - 左移位运算
- 第四十二题 - 右移位运算
- 第四十三题 - 右移位运算
- 第四十四题 - 虚函数
- 第四十五题 - 构造函数
- 第四十六题 - 内存泄漏
- 第四十七题 - 常量
- 第四十八题 - 构造函数
- 第四十九题 - 循环
- 第五十题 - 循环
- 第五十一题 - 循环
- 第五十二题 - 循环
- 第五十三题 - 常量
- 第五十四题 - 引用
- 第五十五题 - 构造函数
- 第五十六题 - 智能指针
- 第五十七题 - 内存分配
- 第五十八题 - 内存分配
- 第五十九题 - C++性质
- 第六十题 - 位与运算
- 第六十一题 - 位与运算
- 第六十二题 - 指针和引用
- 第六十三题 - 异常
- 第六十四题 - 静态变量
- 第六十五题 - 编译
- 第六十六题 - 指针
- 第六十七题 - 输入
- 第六十八题 - 设计模式
- 第六十九题 - 变量
- 第七十题 - 进制转换
- 第七十一题 - 赋值运算符
- 第七十二题 - 变量
- 第七十三题 - 全局变量
- 第七十四题 - 函数声明
- 第七十五题 - 进制
- 第七十六题 - 进制
- 第七十七题 - 静态变量
- 第七十八题 - 运算符优先级
- 第七十九题 - 运算符优先级
- 第八十题 - 类型转换
- 第八十一题 - 逗号表达式
- 第八十二题 - 字节序
- 第八十三题 - 指针
- 第八十四题 - 补码
- 第八十五题 - 类
- 第八十六题 - 进制转换
- 第八十七题 - 位与运算
- 第八十八题 - 位或运算
- 第八十九题 - 异或运算
- 第九十题 - 按位取反运算
- 第九十一题 - 左移位运算
- 第九十二题 - 右移位运算
- 第九十三题 - 右移位运算
- 第九十四题 - 虚函数
- 第九十五题 - 构造函数
- 第九十六题 - 内存泄漏
- 第九十七题 - 常量
- 第九十八题 - 构造函数
- 第九十九题 - 循环
- 第一百题 - 循环
- 第一百零一题 - 递归
- 第一百零二题 - 操作符
- 第一百零三题 - 字符串
- 第一百零四题 - 智能指针
- 第一百零五题 - 析构函数
- 第一百零六题 - 指针
- 第一百零七题 - 溢出
- 第一百零八题 - 字符串
- 第一百零九题 - 变量
- 第一百十题 - 进制转换
- 第一百十一题 - 赋值运算符
- 第一百十二题 - 变量
- 第一百十三题 - 全局变量
- 第一百十四题 - 函数
- 第一百十五题 - 整型
- 第一百十六题 - 整型
- 第一百十七题 - 静态变量
- 第一百十八题 - 运算符
- 第一百十九题 - 运算符
- 第一百二十题 - 类型转换
- 第一百二十一题 - 逗号表达式
- 第一百二十二题 - 逻辑运算符
- 第一百二十三题 - 算术运算符
- 第一百二十四题 - 虚函数
- 第一百二十五题 - 构造函数
- 第一百二十六题 - 内存泄漏
- 第一百二十七题 - 常量
- 第一百二十八题 - 构造函数
- 第一百二十九题 - 循环
- 第一百三十题 - 进制转换
- 第一百三十一题 - 循环
- 第一百三十二题 - 循环
- 第一百三十三题 - 常量
- 第一百三十四题 - 引用
- 第一百三十五题 - 构造函数
- 第一百三十六题 - 智能指针
- 第一百三十七题 - 内存分配
- 第一百三十八题 - 构造函数
- 第一百三十九题 - sizeof
- 第一百四十题 - 模板
- 第一百四十一题 - 内存
- 第一百四十二题 - 编译原理
- 第一百四十三题 - 编译原理
- 第一百四十四题 - 内存管理
- 第一百四十五题 - 内存管理
- 第一百四十六题 - 排序
- 第一百四十七题 - 常量
- 第一百四十八题 - 排序
- 第一百四十九题 - 循环
- 第一百五十题 - 循环
- 第一百五十一题 - 循环
- 第一百五十二题 - 循环
- 第一百五十三题 - 常量
- 第一百五十四题 - 引用
- 第一百五十五题 - 构造函数
- 第一百五十六题 - 内存分配
- 第一百五十七题 - 内存分配
- 第一百五十八题 - 内存分配
- 第一百五十九题 - 编译原理
- 第一百六十题 - 位与运算
- 第一百六十一题 - 位与运算
- 第一百六十二题 - 指针和引用
- 第一百六十三题 - 算术运算符
- 第一百六十四题 - 静态变量
- 第一百六十五题 - extern关键字
- 第一百六十六题 - static关键字
- 第一百六十七题 - volatile关键字
- 第一百六十八题 - const关键字
- 第一百六十九题 - 引用
- 第一百七十题 - 多态
- 第一百七十一题 - 动态绑定
- 第一百七十二题 - 变量
- 第一百七十三题 - 全局变量
- 第一百七十四题 - 智能指针
- 第一百七十五题 - 内联函数
- 第一百七十六题 - 初始化列表
- 第一百七十七题 - 库函数
- 第一百七十八题 - 赋值运算符
- 第一百七十九题 - 运算符
- 第一百八十题 - 类型转换
- 第一百八十一题 - 逗号表达式
- 第一百八十二题 - 字节序
- 第一百八十三题 - 指针
- 第一百八十四题 - 补码
- 第一百八十五题 - 虚函数
- 第一百八十六题 - 排序
- 第一百八十七题 - 位与运算
- 第一百八十八题 - 位或运算
- 第一百八十九题 - 异或运算
- 第一百九十题 - 按位取反运算
- 第一百九十一题 - this
- 第一百九十二题 - 拷贝构造
- 第一百九十三题 - 拷贝构造
- 第一百九十四题 - 虚函数
- 第一百九十五题 - 构造函数
- 第一百九十六题 - 内存泄漏
- 第一百九十七题 - 常量
- 第一百九十八题 - 函数重载
- 第一百九十九题 - 循环
- 第两百题 - 循环
🙉饭不食,水不饮,题必须刷🙉
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 = 43
,ch = 'A', y=0;
则表达式(ch < 'B' && !y && x - 43)
的值是 ( ( ( A ) ) ) 。
- 0
- 1
- 语法错误
- “真”
第二十九题 - 运算符
29、 已知
x = 43
,ch = '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 三万字精华总结,和面试官扯皮绰绰有余(收藏系列)