注:
- 本题仅作为面试有限参考
- 为节省版面,省去所有
#include
指令- 题目难度与序号无关
- 若无特殊声明,均假设在
Linux x86_64 GCC
编译器环境下
相比于2022年和2021年的小组面试题,此题难度较低,故只做代码层次的解读。相关知识点请移步 {% post_link 2022/linux-interview-2022 %} 和 {% post_link 2022/linux-interview-2021 %}。
1. 请试着解释其输出。
解读:
2. 下面代码的运行输出结果是什么,并说说你的理解。
解读:
3. 这段代码的输出结果是什么?为什么会出现这样的结果?
解读:
4. 下面程序会出现什么结果?为什么会出现这样的结果?
解读:
5. 下面代码的运行输出结果是什么,并说说你的理解。
解读:
6. 下列程序的功能是什么?有什么问题,你能找出问题并解决它吗?
解读:
7. 下面代码的运行输出结果是什么,并说说你的理解。
解读:
8. 如下程序,根据打印结果,你有什么思考?
解读:
9. 在下段程序中,我们可以通过第一步打印出
a
的地址,假如在你的机器上面打印结果是
0x7ffd737c6db4
;我们在第二步用
scanf
函数将这个地址值输入变量
c
中;第三步,随机输入一个数字,请问最终输出了什么结果,你知道其中的原理吗?
解读:
10. 请问一个C语言程序从源代码到可执行文件中间会进行哪些过程,你能简单描述一下每个环节都做了什么事情吗?
- 编辑:创建和修改C程序的源代码
- 编译:将源代码转换为机器语言
- 链接:链接器将源代码由编译器产生的各种模块组合起来,再从C语言提供的程序库中添加必要的代码模块,将它们组成一个可执行的文件
- 执行:运行程序
11. 请解释一下这行代码做了什么?
解读:
12. 请随机输入一串字符串,你能解释一下输出结果吗?
这个程序使用选择排序对字符串进行了排序。
13. 用循环和递归求
Fibonacci
数列,你觉得这两种方式那种更好?说说你的看法。如果让你求
Fibonacci
数列的第100项,你觉得还可以用常规的方法求解吗?请试着求出前100项的值(tip大数运算)。
14. Linux 实操题
请通过命令创建一个目录,在该目录中创建几个后缀为
.Linux
的文件,然后通过命令查询这几个文件的基本属性信息(如文件大小,文件创建时间等),之后使用命令查看该目录下文件名含有“.Linux
”的文件的数量(不包括子目录下的文件),把得到的数字写入到一个文件中,最后删除此目录。
-
创建目录
$
-
进入目录
$
-
创建后缀为.Linux的文件
$
-
查询文件的基本属性信息
$
-
查看包含".Linux"的文件数量
$
-
查看文件数量
$
-
删除目录及其内容
$