- 陈泽文 的博客
day9总结
- @ 2024-7-23 17:56:22
今天考试了,我把我错的题总结一下。
1:1TB代表的字节数量是()
A. 2的10次方
B. 2的20次方
C. 2的30次方
D. 2的40次方
1TB=2的10次方GB=2的20次方MB=2的30次方KB=2的40次方Byte
2:CPU,存储器,I/O 设备通过()连接起来的
A. 接口
有很多种接口:如:USB接口用于快速数据传输和设备连接。
B. 总线 控制总线是计算机内部用于传输指令、数据和控制信号的一种总线。它可以将中央处理器(CPU)、存储器和输入/输出设备之间的通信协调起来
C. 控制线
- 连接所有主要计算机组件,协调不同组件之间的通信。
- 提供安全和可靠的数据传输。
- 实现各种计算机操作,如进程调度、存储器管理和输入/输出操作等^1^。
- 在电子设备、自动化控制系统以及各种电路中,控制线连接和传输控制信号,使设备或系统能够按照预定的要求进行操作和控制^2^。
D. 系统文件
文件系统的作用包括:1. 组织数据:提供层次化的目录结构,方便存取和管理文件。
- 数据保护:通过权限和所有权机制,防止未授权访问。
- 磁盘空间管理:分配和回收磁盘空间,确保有效利用。
- 提供文件的安全措施:加密、压缩、备份等保护措施,确保数据完整性和安全性。
- 实现文件信息的共享。
3:以下哪一种是属于电子邮件收发的协议( )
A. SMTP//简单邮件传输
B. UDP//用户数据报协议
C. P2P//传输协议
D. FTP//文件传输协议
IP:Internet协议
ICMP:Internet控制报文协议
ARP:地址解析协议
TCP:传输控制协议
elnet:运程登录协议
HTTP:超文本传输协议
DNS:域名系统,用于实现网络设备域名到IP地址映射的网络服用
4:链表不具有的特点是( )。
A. 不必事先估计存储空间
B. 可随机访问任一元素
C. 插入删除不需要移动元素
D. 所需空间与线性表长度liebiao'biao
链表的访问需要从第一位开始,链表的访问的时间复杂度为 O(n).
5:下列无符号十进制整数中,能用8位二进制数表示的数中的最大值是()
A. 296
B. 133
C. 256
D. 199
8位二进制数最大值为(11111111)-1=255
6:设变量 𝑥为 float 型且已赋值,则以下语句中能将 𝑥 中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
A. x = (x * 100) + 0.5 / 100.0;
B. x = (x * 100 + 0.5) / 100.0;
C. x = (int)(x * 100 + 0.5)/100.0;
D. x = (x / 100 + 0.5) * 100.0;
我们假设X为1.23
A是不可能的,因为先算除法。
B:123.5/100=1.235 ×
C:(int) 123.5/100=124/100=1.24 bingo
7:设有100个数据元数,采用折半搜索法时,最大比较次数为()
A. 6
B. 7
C. 8
D. 10
8:阅读程序然后回答问题
#include <iostream>
using namespace std;
int fun(int n)
{
if(n == 1)
{
return 1;
}
if(n == 2)
{
return 2;
}
return fun(n -2) - fun(n - 1);
}
int main()
{
int n;
cin >> n;
cout << fun(n) << endl;
return 0;
}
输入:7 输出:——
递推:
f(7)=f(5)-f(6)
f(6)=f(4)-f(5)
f(5)=f(3)-f(4)
f(4)=2-f(3)
f(3)=1-2
回溯:
f(3)= -1
f(4)=2- -1=3
f(5)=-1-3=-4
f(6)=3- -4=7
f(7)= -4-7=-11
9:数字删除
#include <iostream>
using namespace std;
int delnum( char *s )
{
int i, j;
j = 0;
for ( i = 0; s[i] != '\0'; i++ )
if ( s[i] < '0' ① s[i] > '9' )
{
s[j] = s[i];
②;
}
return(③);
}
const int SIZE = 30;
int main()
{
char s[SIZE];
int len, i;
cin.getline( s, sizeof(s) );
len = delnum( s );
for ( i = 0; i < len; i++ )
cout << ④;
cout << endl;
return(0);
}
①:|| //因为一个数不可能 >9 <0
②:j++ //因为存完一个数了,j要加1
③:j //因为我们要的是它的长度
④:s[i] //输出非数字的一项
10:最大子矩阵和
#include <iostream>
using namespace std;
const int SIZE = 100;
int matrix[SIZE + 1][SIZE + 1];
int rowsum[SIZE + 1][SIZE + 1];
int m, n, i, j, first, last, area, ans;
int main()
{
cin >> m >> n;
for ( i = 1; i <= m; i++ )
for ( j = 1; j <= n; j++ )
cin >> matrix[i][j];
ans = matrix ①;
for ( i = 1; i <= m; i++ )
②;
for ( i = 1; i <= m; i++ )
for ( j = 1; j <= n; j++ )
rowsum[i][j] = ③;
for ( first = 1; first <= n; first++ )
for ( last = first; last <= n; last++ )
{
④;
for ( i = 1; i <= m; i++ )
{
area += ⑤;
if ( area > ans )
ans = area;
if ( area < 0 )
area = 0;
}
}
cout << ans << endl;
return(0);
}
①:[1][1] //ans的初值
②:rowsum=0 //rowsum归零
③:rowsum[i][j-1]+matrix[i][j] //这一位的值=上一位的值+这一位的数
④:area=0 //area的初值
⑤:rowsum[i][last]-rowsum[i][first-1] //求前缀和