一、单项选择(一题2分)
1、8位二进制数中去掉符号位,最大能表示多少字符( )
A、127 B、128 C、255 D、256
答案:
解析:位去掉符号位是位,个是,算一位就是
错因:没算那一位
2、一颗完全二叉树,共有1234个节点,其叶子结点的个数为( )
A、615 B、616 C、617 D、210
答案:
解析:
方法一:由于节点数位为为,,所以是11层的数,最后层有个节点,所以最后第二层有个节点,则个叶子结点,所以叶子结点总数为
方法二:二叉树公式,以上两个公式消掉,得到,由于完全二叉树度为的只有和这两种情况,所以将或带入共识,整理得到两个式子
、
、
其中为,带入式,答案为
错因:计算错误
3、设二维数组A的行下标为0-5,列下标为1-5,F的每个数据元素均占2个字节.在按行存储的情况下,一知数据元素A[3][3]的第一个字节是2019,则A[4][4]的第一个字节的地址为( )
A、2029 B、2025 C、2027 D、2031
答案:
解析:为,每个元素占个字节,则……,
错因:薄弱环节
4、一下不属于应用层的是( )
A、HTTP B、FTP C、TELNET D、UDP
答案:
解析:和是传输层
错因:不知道
二、阅读程序
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[1001],t,n;
for(int i=0;i<=1000;i++) a[i]=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&t);
a[t]++;
}
for(int i=1000;i>=0;i--)
{
for(int j=1;j<=a[I]j++)
{
cout<<i;
}
}
return 0;
}
1、若将第11行改为++a[t]或a[t++],则输出5 1 2 3 4 5输出结果为( )
A、1 2 3 4 5或5 4 3 2 1 B、1 2 3 4 5或无输出
C、5 4 3 2 1或1 2 3 4 5 D、5 4 3 2 1或无输出
答案:
解析:
错因:错把搞成可以输出结果