在C++中,下⾯哪个关键字⽤于声明⼀个变量,其值不能被修改?( )
unsigned
const
static
Mutable
⼋进制数123456708 和076543218的和为( )
222222218
211111118
221111118
222222118
阅读下述代码,请问修改data的value成员以存储3.14,正确的⽅式是( )
1 union Data{ 2 int num; 3 float value; 4 char symbol; 5 }; 6 union Data data;
data.value = 3.14;
value.data = 3.14;
data->value = 3.14;
value->data = 3.14;
假设有⼀个链表的节点定义如下:
1 struct Node { 2 int data; 3 Node* next; 4 };
现在有⼀个指向链表头部的指针:Node* head。如果想要在链表中插⼊⼀个新节点,其成员data的值为42,并使新节点成为链表的第⼀个节点,下⾯哪个操作是正确的?( )
Node* newNode = new Node; newNode->data = 42; newNode->next = head; head = newNode;
Node* newNode = new Node; head->data = 42; newNode->next = head;head = newNode;
Node* newNode = new Node; newNode->data = 42; head->next = newNode;
B. Node* newNode = new Node; newNode->data = 42; newNode->next = head;
根节点的⾼度为1,⼀根拥有2023个节点的三叉树⾼度⾄少为( )
6
7
8
9
⼩明在某⼀天中依次有七个空闲时间段,他想要选出⾄少⼀个空闲时间段来练习唱歌,但他希望任意两个练习 的时间段之间都有⾄少两个空闲的时间段让他休息,则⼩明⼀共有( )种选择时间段的⽅案。
31
18
21
33
以下关于⾼精度运算的说法错误的是( )
⾼精度计算主要是⽤来处理⼤整数或需要保留多位⼩数的运算。
⼤整数除以⼩整数的处理的步骤可以是,将被除数和除数对⻬,从左到右逐位尝试将除数乘以某个数,通过减法得到新的被除数,并累加商。
⾼精度乘法的运算时间只与参与运算的两个整数中⻓度较⻓者的位数有关。
⾼精度加法运算的关键在于逐位相加并处理进位。
后缀表达式“6 2 3 + - 3 8 2 / + * 2 ^ 3 +”对应的中缀表达式是( )
((6 - (2 + 3)) * (3 + 8 / 2)) ^ 2 + 3
6 - 2 + 3 * 3 + 8 / 2 ^ 2 + 3
(6 - (2 + 3)) * ((3 + 8 / 2) ^ 2) + 3
6 - ((2 + 3) * (3 + 8 / 2)) ^ 2 + 3
数(101010)2 和 (166)8 的和为( )
(101100000)2
(236)8
(158)10
(A0)16
假设有⼀组字符{a,b,c,d,e,f},对应的频率分别为5%,9%,12%,13%,16%,45%。请问以下哪个选项是字 符a,b,c,d,e,f分别对应的⼀组哈夫曼编码?( )
1111,1110,101,100,110,0
1010,1001,1000,011,010,00
000,001,010,011,10,11
1010,1011,110,111,00,01
给定⼀棵⼆叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG。请问这棵树的正确后序遍历结果是什么?( )
EDBGFCA
EDGBFCA
DEBGFCA
DBEGFCA
考虑⼀个有向⽆环图,该图包括4条有向边:(1,2),(1,3),(2,4),和(3,4)。以下哪个选项是这个有向⽆环图的⼀个有效的拓扑排序?(
4,2,3,1 1,2,3,4 1,2,4,3 2,1,3,4
在计算机中,以下哪个选项描述的数据存储容量最⼩?( )
字节(byte)
⽐特(bit)
字(word)
千字节(kilobyte)
⼀个班级有10个男⽣和12个⼥⽣。如果要选出⼀个3⼈的⼩组,并且⼩组中必须⾄少包含1个⼥⽣,那么有多 少种可能的组合?( )
1420
1770
1540
2200
以下哪个不是操作系统?( )
Linux
Windows
Android
HTML
(1)
假设输⼊的所有数都为不超过1000的正整数,完成下⾯的判断题和单选题:
当输⼊为“2 2 2”时,输出为“1.7321”
将第7⾏中的"(s-b)*(s-c)"改为"(s-c)*
程序总是输出四位⼩数
当输⼊为“3 4 5”时,输出为( )
"6.0000"
"12.0000"
"24.0000"
"30.0000"
当输⼊为“5 12 13”时,输出为( )
24.0000
30.0000
60.0000
120.0000
(2)
f函数的返回值⼩于等于min(n,m)。
f函数的返回值等于两个输⼊字符串的最⻓公共⼦串的⻓度。
当输⼊两个完全相同的字符串时,g函数的返回值总是true
将第19⾏中的“v[m][n]”替换为“v[n][m]”,那么该程序
行为不变
只会改变输出
一定非正常退出
可能非正常退出
当输入为 csp-j p-jcs 时,输出为()。
0
1
T
F
当输⼊为“csppsc spsccp”时,输出为:( )
T
F
0
1
(3)
假设输⼊的
如果输⼊的n为正整数,solve2函数的作⽤是计算n所有的因⼦的平⽅和
第12~13⾏的作⽤是避免n的平⽅根因⼦i(或n/i)进⼊第16⾏⽽被计算两次
如果输⼊的n为质数,solve2(n)的返回值为n^2 + 1
如果输⼊的n为质数p的平⽅,那么solve2(n)的返回值为( )
当输⼊为正整数时,第⼀项减去第⼆项的差值⼀定( )
⼤于0
⼤于等于0且不⼀定⼤于0
⼩于0
⼩于等于0且不⼀定⼩于0
当输⼊为“5”时,输出为( )
"651 625"
"650 729"
"651 676"
"652 625"
(1)(寻找被移除的元素)问题:原有⻓度为 n+1公差为1等升数列,将数列输到程序的数组时移除了⼀个元素,导致⻓度为 n 的开序数组可能不再连续,除⾮被移除的是第⼀个或最后之个元素。需要在数组不连续时,找出被移除的元素。试补全程序。
①处应填( )
1
nums[0]
right
left
②处应填( )
left=mid+1
right=mid-1
right=mid
left=mid
③处应填( )
left=mid+1
right+nums[0]
mid+nums[0]
right+1
④处应填( )
left+nums[0]
right+nums[0]
mid+nums[0]
right+1
⑤处应填( )
nums[0]+n
nums[0]+n-1
nums[0]+n+1
nums[n-1]
(2) (编辑距离)给定两个字符串,每次操作可以选择删除(Delete)、插⼊(Insert)、替换(Replace),⼀个字符,求将第⼀个字符串转换为第⼆个字符串所需要的最少操作次数。
①处应填( )
j
i
m
n
②处应填( )
j
i
m
n
③处应填( )
str1[i-1]==str2[j-1]
str1[i]==str2[j]
str1[i-1]!=str2[j-1]
str1[i]!=str2[j]
④处应填( )
dp[i-1][j-1]+1
dp[i-1][j-1]
dp[i-1][j]
dp[i][j-1]
⑤处应填( )
dp[i][j] + 1
dp[i-1][j-1]+1
dp[i-1][j-1]
dp[i][j]