- 王晨逸 的博客
Day09
- @ 2024-7-23 17:45:40
CPU、存储器、I/O 设备是通过( B)连接起来的。
[ ] A. 接口
[ ] B. 总线
[ ] C. 控制线
[ ] D. 系统文件
电脑接口主要的作用是实现电脑和外部设备进行连接,进行数据传输,音频输出,,视频显示,网络连接的功能。
总线是计算机中用于连接和传输数据的公共通信干线。
控制线是指在电路中用于传输控制信号的导线或电缆。
系统文件基本文件和数据。
断电后会丢失数据的存储器是( A)。
[ ] A. RAM
[ ] B. ROM
[ ] C. 硬盘
[ ] D. 光盘
RAM是随机存储内存,这种储存器在断电时将丢失其存储内容,故主要用于,存储短时间使用的程序。
ROM只读存储器,以非破坏性读出方式工作,只能读出无法写入信息,信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。
硬盘是计算机最主要的存储数据信息的设备之一。
光盘以光的信息作为存储物的载体,用来存储数据的一种物品。
链表不具有的特点是(B )。
[ ] A. 不必事先估计存储空间
[ ] B. 可随机访问任一元素
[ ] C. 插入删除不需要移动元素
[ ] D. 所需空间与线性表长度成正比
下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( D)。
[ ] A. 296
[ ] B. 133
[ ] C. 256
[ ] D. 199
下列几个32位IP地址中,书写错误的是(C )。
[ ] A. 162.105.135.27
[ ] B. 192.168.0.1
[ ] C. 256.256.129.1
[ ] D. 10.0.0.1
32位IP地址最多是255.255.255.255。
要求以下程序的功能是计算:s=1+1/2+1/3+⋯+1/10。
#include <iostream>
using namespace std;
int main(){
int n;
float s;
s = 1.0;
for(n = 10; n > 1; n--)
s = s + 1 / n;
cout << s << endl;
return 0;
}
程序运行后输出结果错误,导致错误结果的程序行是(C )。
[ ] A. s = 1.0;
[ ] B. for(n = 10; n > 1; n--)
[ ] C. s = s + 1 / n;
[ ] D. cout << s << endl;
解析:因为n是int类型的变量,1/n总会变成0。
设变量x为 float 型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是(C )。
[ ] 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;
(变量名)(要变化的量)
有向图中每个顶点的度等于该顶点的(C )。
[ ] A. 入度
[ ] B. 出度
[ ] C. 入度和出度之和
[ ] D. 入度和出度之差
阅读程序写结果:
#include <iostream>
using namespace std;
const int SIZE = 100;
int main()
{
int p[SIZE];
int n, tot, i, cn;
tot = 0;
cin >> n;
for ( i = 1; i <= n; i++ )
p[i] = 1;
for ( i = 2; i <= n; i++ )
{
if ( p[i] == 1 )
tot++;
cn = i * 2;
while ( cn <= n )
{
p[cn] = 0;
cn += i;
}
}
cout << tot << endl;
return(0);
}
输入:30 输出:(10)
(数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空 3 分,共 12 分)
#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(③);//返回j
}
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);
}
1.||
2.j++
3.j;
4.s[i];
(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。
输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。
#include <iostream>
using namespace std;
const int SIZE = 100;
int matrix[SIZE + 1][SIZE + 1];
int rowsum[SIZE + 1][SIZE + 1]; /* rowsum[i][j]记录第i行前j个数的和 */
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] = ③;//预处理第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);
}