笔试练习笔记 - 搜狐畅游24年C++

1. 经常要操作的内存分为那几个类别?

官方解析:(1)栈区:由编译器自动分配和释放,存放函数的参数值、局部变量的值等; (2)堆:一般由程序员分配和释放,存放动态分配的变量; (3)全局区(静态区):全局变量和静态变量存放在这一块,初始化的和未初始化的分开放; (4)文字常量区:常量字符串就放在这里,程序结束自动释放; (5)程序代码区:参访函数体的二进制代码。

2. 下面数据结构中是线性结构的有:

链表、数组、栈 (链表也是线性结构)

3. 如果打开文件时,选用的文件操作方式为“wb+”,则下列说法中正确的是

要打开的文件可以不存在

4. 已知一段文本有1382个字符,使用了1382个字节进行存储,这段文本全部是由a、b、c、d、e这5个字符组成,a出现了354次,b出现了483次,c出现了227次,d出现了96次,e出现了232次,对这5个字符使用哈夫曼(Huffman)算法进行编码,则以下哪些说法正确()

(不正确):使用哈夫曼算法进行编码,a、b、c、d、e这五个字符对应的编码值是唯一确定的。
(正确):使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值可以有多套,但每个字符编码的位(bit)数是确定的
    ps:错误原因:每一个字符的每一个分支都可以选择0或者1....

5. 设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项错误的是:

写操作结束后可以从头开始读
    ps:神经啊,没有+怎么可以读啊

6. 设数组定义为:char XZ[ ]="ChangYou";,则数组XZ所占的空间为()

9个字节
    ps:char[] 后面的'\0'让我吃了

7. union MyUnion
{
 int a;
 short b;
};
int main()
{
 MyUnion value;
 value.a = 3;
 printf("%d", value.b & 1);
} 在大端模式下输出结果是什么?

答案:0
    ps:我也不知道为什么是0

8. 虚拟存储的基础是程序局部性理论,它的基本含义是()

变量的连续访问

9. 有m 个进程共享同一临界资源,若使用信号量机制实现对该临界资源的互斥访问,则信号量的变化范围是() 

1-m
全部评论
2024金山办公春招已启动,特别是c++岗位大量招聘,薪资可观,硕士18k起步,本科14k起步,相比大厂门槛低,非常重视新人培养(新人培训机制完善)。 福利:应届生也有年终奖,公积金拉满(12%),双休,每年一次公费旅行。 PC端网申地址是:join.wps.cn, 移动端公众号:金山WPS招聘,内推码:NTAXvmE。内推简历优先筛选
1 回复
分享
发布于 03-07 12:43 湖北
10. 下面哪种内存管理方法有利于程序的动态链接?() 分段存储管理 11. 某系统釆用 LRU 页置换算法和局部置换策略,若系统为进程 P 预分配了 4 个页框, 进程 P 访问页号的序列为 0, 1, 2, 7, 0, 5, 3, 5, 0, 2, 7, 6,则进程访问上述页的过程中,产生页置换的总次数是 5 12. 假定T是一个C++类,下列语句执行之后,内存里创建了()个T对象。 T b(5); T c[6]; T &d = b; T e=b; T *p = new T (4); 答案:9 ps:我为啥会觉得最后那个T(4)是一个长度为4的T类型list呢,脑抽了 13. enum string{ x1, x2, x3 = 10, x4, x5, } x;函数外部访问x等于什么? 答案:0 ps:自己IDE跑出来个560,没弄明白啥意思 14. struct T { char a; int *d; int b; int c:16; double e; }; T *p; 在64位系统以及64位编译器下,以下描述正确的是 正确答案:sizeof(p->a) == 1 ps:A sizeof(p) == 24 ; B sizeof(*p) == 24; C sizeof(p->a) == 1; D sizeof(p->e) == 4 说实话我哪个都觉得不对
点赞 回复
分享
发布于 03-06 20:22 澳门
联易融
校招火热招聘中
官网直投
第一套笔试题拿下!勉强拿个及格分居然也能排进前8%...但感觉这个成绩还有不少提升空间。 这周学校的due还挺多的,希望能在赶due的业余时间里尽量多刷两道力扣,多看点面经和基础知识,争取3月底把该准备的准备好,然后去投日常实习。
点赞 回复
分享
发布于 03-06 20:25 澳门

相关推荐

2 14 评论
分享
牛客网
牛客企业服务