牛客网校招全国统一模拟笔试(二月场)- C++方向部分选择题解析

1.请问下面程序输出啥?

#include<stdio.h>
#include<string.h>
int main(void)
{
	int n,m;
	char y[10] = "ntse";
	char *x = y;
	n = strlen(x);
	*x = x[n];
	x++;
	printf("x=%s\n", x);
	printf("y=%s\n", y);
	return 0;
}

A x=atse,y=
B x=tse,y=
C x=atse,y=e
D x=tse,y=e
正确答案: B

解析:指针x长度为4,详细解析请看下面的注释说明

#include<stdio.h>
#include<string.h>
int main(void)
{
	int n,m;
	char y[10] = "ntse";
	char *x = y;
	n = strlen(x);//指针x长度为4
	*x = x[n];//将x[4]='\0'赋值给数组第一个元素y[0]
	x++;//x首地址加1,从y[1]开始
	printf("x=%s\n", x);//            0   1   2   3
	printf("y=%s\n", y);//y中元素   '\0'  t   s   e
	return 0;
}

2.编号为1至10的十个果盘中,每盘都盛有水果,共盛放100个.其中第一盘里有16个,并且编号相邻的三个果盘中水果数的和都相等,求第8盘中水果最多可能有几个?
答:8盘中最多11个,因为第1、4、7盘的数量相等,第2、5、8盘数量相等,第3、6、9盘数量相等,故第8、9盘的和是:(100-16×4)÷3=12(个);由于每个盘子都有水果,所以9盘中最多可以有1个,8盘中最多11个.

3.以下关于进程和线程的描述中,正确的一项是( )
A 一个进程就是一个独立的程序
B 进程间是互相独立的,同一进程的各线程间也是独立的,不能共享所属进程拥有的资源
C 每个线程都有自己的执行堆线和程序计数器为执行上下文
D 进程的特征包括动态性、并发性、独立性、同步性
正确答案: C
A:注意进程和程序的区别,进程相对于程序具有动态性,而程序可以永远存放在某种储存介质上。可以说,进程是程序在数据集上的一次运行,但进程不能仅仅是程序+数据集。PCB是进程存在的唯一标志,PCB的作用简单说就是让程序成为进程。B.同一进程的线程共享代码和数据空间C.每个线程都有自己独立的运行栈和程序计数器。D 进程的特征包括动态性、并发性、独立性、异步性。

4.所谓LRU页面淘汰算法是指将驻留在内存中( )页面淘汰
A 时间最长的
B 最久未使用的
C 使用频度最少的
D 出现脏数据的
正确答案:B
LRU是一种页面置换算法,在对于内存中但是又不用的数据块,叫做LRU,操作系统会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

5.cron 后台常驻程序 (daemon) 用于 ( )
A 跟踪管理系统信息和错误
B 负责文件在网络中的共享
C 管理系统日常任务的调度
D 管理打印子系统
正确答案: C
linux命令:cron daemon
这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一 次检查磁盘。
cron daemon 会在每分钟检查一次排定的工作表(crontab),看看是否有要执行的指令,所有的输出会以mail寄给用户。

6.Linux中,提供TCP/IP包过滤功能的软件叫什么? ( )
A route
B iptables
C rarp
D filter
正确答案: B

7.下面一段代码的时间复杂度是

if ( A > B ) {
for ( i=0; i<N; i++ )
for ( j=N*N; j>i; j-- )
A += B;
}
else {
for ( i=0; i<N*2; i++ )
for ( j=N*2; j>i; j-- )
A += B;
}

A O(n)
B O(n的2次方)
C O(n的3次方)
D O(nlog2n).

正确答案: C

8.对于字符串"ABCDADA"的二进制哈夫曼编码有多少位?
A 11
B 12
C 13
D 14
正确答案: C
在这里插入图片描述
9.如下的无向图中有多少个不同的最小生成树( )
在这里插入图片描述
A 4
B 5
C 6
D 7
正确答案: A

10.设线性表(59,53,46,48,37,31,25)采用散列(Hash)法进行存储和查找,散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算)。若用
链地址法解决冲突(即将相互冲突的元素存储在同一个单链表中)构造散列表,则散列表中与哈希地址______对应的单链表最长。
A 2
B 3
C 4
D 6
他的回答: B (错误)
参考答案:
根据所设置的哈希函数,计算各关键字对应的哈希地址如下:
H(59)=59 MOD 7=3 H(53)=53 MOD 7=4 H(46)=46 MOD 7=4
H(48)=48 MOD 7=6 H(37)=37 MOD 7=2 H(31)=31 MOD 7=3
H(25)=25 MOD 7=4
用拉链法解决冲突构造的哈希表如图1-1所示:
从图中可以看出,与哈希地址4对应的单链表最长。

编程题
【独立的牛牛】
小牛牛为了向他的父母表现他已经长大独立了,他决定搬出去自己居住一段时间。
一个人生活增加了许多花费: 牛牛每天必须吃一个水果并且需要每天支付x元的房屋租金。
当前牛牛手中已经有f个水果和d元钱,牛牛也能去商店购买一些水果,商店每个水果售卖p元。
牛牛为了表现他独立生活的能力,希望能独立生活的时间越长越好,牛牛希望你来帮他计算一下他最多能独立生活多少天。
输入描述:
输出描述:
备注:
示例1:
输入
输出
代码片段
他的代码:
做题用时: 23 分钟 语言:C++ 运行时间:4ms 占用内存:488K 程序状态:答案正确
输入包括一行,四个整数x, f, d, p(1 <= x,f,d,p <= 2 * 10^9),以空格分割
输出一个整数, 表示牛牛最多能独立生活多少天。
示例输入:3 5 100 10
示例输出:11
答案:

#include <iostream>
#include <cstdio>
using namespace std;
int main(){
//freopen("1.in","r",stdin);
int x = 0,f = 0,d = 0,p = 0;
int hday=0;//已有的钱客可付房租天数
int sday=0;//独立生活天数
cin >> x >> f >> d >> p;
hday=d/x;
if(hday<=f)
sday=hday;
else
{
sday=(d-f*x)/(x+p)+f;
}
cout << sday << endl;
return 0;
}

【牛牛吃雪糕】最近天气太热了,牛牛每天都要吃雪糕。雪糕有一盒一份、一盒两份、一盒三份这三种包装,牛牛一天可以吃多盒雪糕,但是只能吃六份,吃多了就
会肚子疼,吃少了就会中暑。而且贪吃的牛牛一旦打开一盒雪糕,就一定会把它吃完。请问牛牛能健康地度过这段高温期么?
每个输入包含多个测试用例。
输入的第一行包括一个正整数,表示数据组数T(1<=T<=100)。
接下来N行,每行包含四个正整数,表示高温期持续的天数N(1<=N<=10000),一盒一份包装的雪糕数量A(1<=A<=100000),一盒两份包装的雪糕数量B(1<=B<=1
00000),一盒三份包装的雪糕数量C(1<=A<=100000)。
对于每个用例,在单独的一行中输出结果。如果牛牛可以健康地度过高温期则输出"Yes",否则输出"No"。
示例输入:
4
1 1 1 1
2 0 0 4
3 0 2 5
4 24 0 0
示例输出:
Yes
Yes
No
Yes

【牛牛取快递】牛牛的快递到了,他迫不及待地想去取快递,但是天气太热了,以至于牛牛不想在烈日下多走一步。他找来了你,请你帮他规划一下,他最少要走多
少距离才能取回快递。
输入描述:
输出描述:
备注:
示例1:
输入
输出
他的代码:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值