《计算机考研复试上机指导全书习题集》试读版

合集下载

计算机复试试题汇总.pdf

计算机复试试题汇总.pdf
5
57、计算机进入决策系统意指____ A.计算机可以代替人进行决策 B.计算机可以提高人的决策水平 C.计算机可以利用人无法利用的信息资源进行决策 D.计算机可以验证人的决策是否正确 58、下面____不属于计算机应用领域中人工智能的范畴 A.计算机博弈 B.专家系统 C.机器人控制 D.计算机辅助教学 59、有关计算机应用领域中的 CIMS,下面叙述不正确的是____ A.CAM是 CIMS的一个组成部分 B.CAD是 CIMS的一个组成部分 C.CIMS的含义是计算机集成制造系统 D.CIMS的含义是无人加工厂 60、对计算机应用领域中的 CAE,下面叙述不正确的是____ A.CAE指的是计算机辅助教学 B.CAI是 CAE的一个组成部分 C.CAE包含 CMID.CAE指的是计算机辅助教育 61、计算机病毒是一种_______A.生物体 B.化学物 C.程序 D.幻觉 62、关于计算机病毒的传播途径,下面说法不正确的是______ A.通过软盘的复制 B.通过共用软盘 C.通过配合存放软盘 D.通过借用他人的软盘 63、如果发现某张软盘已染上病毒,则应_______ A.将该软盘销毁 B.将该软盘上的文件复制到另外的软盘上使用 C.换一台计算机使用该软盘上的文件,使病毒慢慢消失 D.用反病毒软件清除该软盘上的病毒或在安装有防病毒卡的计算机上格式化该软盘。 64、为了防止计算机病毒的传染,应该做到______。 A.干净的软盘不要与来历不明的软盘放在一起 B.不要复制来历不明的软盘上的程序 C.长时间不用的软盘要经常格式化 D.对软盘上的文件要经常重新复制 65、公安部开发的 KILL软件是用于计算机病毒的______的软件。 A.分析和统计 B.检测 C.检测和清除 D.报案 66、目前一个好的防病毒软件的作用是______。 A.检查计算机是否染有病毒,消除已感染的任何病毒 B.杜绝病毒对计算机的感染 C.查处计算机已感染的任何病毒,消除其中的一部分 D.检查计算机是否染有病毒,清除已 感染的部分病毒 67、目前常用的反病毒软件的作用是____ A.检查计算机是否染有病毒,消除已感染的大部分病毒 B.杜绝病毒对计算机的侵害 C.查出计算机已感染的任何病毒,D.禁止有病毒的计算机运行 68、计算机病毒对于操作计算机的人______。 A.只会感染,不会致病 B.会感染致病,但无严重危害 C.不会感染 D.产生的作用尚不清 楚 69、下面是有关计算机病毒的说法,其中____不正确

计算机基础上机指导习题集(第一章)

计算机基础上机指导习题集(第一章)

第1章计算机基础知识实验一了解计算机的硬件组成及连接一、实验要点●观察主机和显示器上的按钮●初步了解计算机的硬件连接●观察主机箱内的部件及连接二、实验目的通过本实验的学习,要求初步了解计算机的外部连接,熟悉各种按钮的位置及用途,并认识主机箱内的各种部件。

三、实验内容1.观察计算机的外观观察主机和显示器的外观,找到主机上的Power键和Reset键、控制光驱开关的按钮,以及显示器的电源开关,并记住它们的位置及用途。

2.了解计算机的连接认真观察主机后面的接口及连线,找到鼠标、键盘、显示器、耳机和电源线的接口位置。

3.查看主机内部的连接打开主机箱,仔细观察主机内部各个组成部分,辨别电源、光驱、硬盘、显示卡、内存、网卡和CPU等部件。

计算机基础教程实验二键盘的指法练习一、实验要点●认识键盘分区及各个键位●掌握大小写字母的输入●利用小键盘输入数字●修改输入内容二、实验目的通过本实验,要求能够灵活、准确地输入数字和字母的大小写形式,并且能对输入的内容进行修改。

三、实验内容1.输入小写字母步骤1:执行【开始】|【程序】|【附件】|【写字板】命令,启动【写字板】程序。

步骤2:输入如下内容进行指法练习。

eimixcmkdieok,655ijek@2.输入大写字母完成上一步的输入后,按Enter键,然后按键盘上的Caps Lock键,这时Caps Lock 的指示灯变亮,输入以下大写字母等内容。

DMVITPEVMVRTODKS;DEICLX,HEOZMN3.混合输入大小写字母输入以下M和F的对话内容。

(提示:在按住Shift键的同时输入的字母为大写字母。

)M:Kate, look! The passengers are coming from the plane, and there's Susan.F:Which one ?M:The tall one next to the window.F:The one with the suitcase?4.输入数字按键盘上的Num Lock键,使得Num Lock指示灯变亮,然后输入以下内容。

计算机考研复试题库及答案

计算机考研复试题库及答案

计算机考研复试题库及答案一、操作系统1. 下面关于进程和线程的描述中,错误的是:答案:进程是操作系统分派资源的基本单位,线程是进程分派资源的基本单位。

2. 在Windows操作系统中,以下哪个命令用于查看当前正在运行的进程?答案:tasklist3. 下面哪条命令是Linux中用于创建新目录的?答案:mkdir二、数据结构与算法1. 下列选项中,时间复杂度最低的是:A. O(1)B. O(n)C. O(logn)D. O(nlogn)答案:A. O(1)2. 在一个有序数组中搜索一个特定的值,选择使用二分查找算法的时间复杂度是?答案:O(logn)3. 在以下排序算法中,哪个具有最坏情况时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 插入排序D. 堆排序答案:C. 插入排序三、计算机网络1. 下列关于HTTP和HTTPS协议的说法,哪个是正确的?答案:HTTPS是HTTP加密传输协议,通过SSL/TLS加密网络通信。

2. IP地址的分类中,192.168.0.1属于以下哪个分类?答案:私有IP地址3. HTTP协议是无状态的,这意味着服务器不会在多次请求之间保留任何信息。

要实现状态管理,HTTP协议使用以下哪种机制?答案:Cookie四、数据库1. SQL语句用于从关系数据库中选择数据的是?答案:SELECT2. 下面哪种数据库模型不属于非关系型数据库?A. 关系型模型B. 文档数据库模型C. 键值对模型D. 列族模型答案:A. 关系型模型3. 下面哪个SQL语句错误?A. SELECT * FROM students WHERE age>=18 AND age<=22B. SELECT * FROM students WHERE name LIKE '%Li%'C. SELECT * FROM students WHERE age BETWEEN 18 AND 22D. SELECT * FROM students WHERE name='Li' OR 'Wang'答案:D. SELECT * FROM students WHERE name='Li' OR 'Wang'五、计算机组成原理1. 下面哪个存储器属于易失性存储器?答案:DRAM2. 在计算机CPU中,下面哪个部件用于存储指令执行过程中的中间结果?答案:寄存器3. 下面对于计算机处理器的描述中,错误的是?答案:处理器的时钟频率越高,性能越低。

2010南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版

2010南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版

2010上机题1.输入两个字符串s和t,打印出t在s中的出现的位置,并输出出现的次数如输入:s=qwqwertqweqqqq,t=qw输出:1 3 532.观察一个数的序列规律,1,2,3,4,5,6,8,9,10,12,15,16,18……现在输入一个数8(即上述序列中的第8个数),输出:9试编程实现。

注:上述序列皆是1,2,3,5,的倍数3.求二进制逆序如输入10,对应二进制数为1010,其逆序为0101,对应十进制输出为5(5即为10的逆序数)。

4.求满足条件n*n-m*m-n*m=1,且使m*m+n*n值最大的m,n,其中m,n的值都要小于k,k由用户输入。

5.已知一个数组如a【10】={1,2,3,4,5,6,7,8,9,0},输入p,则右移p位,如输入3后,输出a【10】={8,9,0,1,2,3,4,5,6,7},要求时间复杂度和空间复杂度尽量小。

6.已知一个斜三角:22 32 14 77 4512 34 37 2344 23 1534 5488从最左上角元素开始往右或往右下走,请问顺着哪条路所经过的值的总和最大,如可以有路线:22,32,34,23,54;22,12,44,34,88等等请求出满足值总和最大的那条线路。

2010上机原题答案毕竟回忆的,个别地方会有一点点的出入第六题没来得及做,第一题有点问题,大家自己调一下。

第一题#include<iostream.h>#include<iomanip.h>#include<math.h>#include<string.h>void main(){char s[70],t[100];int i=0,j,count=0,len;cout<<"输入两字符串:"<<endl; cin>>s;cout<<"输入第2个字符串:"<<endl; cin>>t;len=strlen(t);while(s!='\0'){for(j=0;j<=len;j++){if(s[i+j]==t[j]) j++;else break;}if(j==len+1) {count++; cout<<i+1;}i++;}cout<<endl<<count<<endl; }第二题#include<iostream.h>#include<iomanip.h>#include<math.h>int fun(int n){while(n%2==0)n=n/2;while(n%3==0)n=n/3;while(n%5==0) n=n/5;if(n==1)return 1; else return 0;}void main(){int j=0,n,a[1500]; long i;for(i=1;i<1000000;i++){ if(fun(i))a[j++]=i;}cout<<"输入n(n<=1500):"<<endl; cin>>n;cout<<a[n-1]<<endl;}第三题#include<iostream.h>#include<iomanip.h>#include<math.h>void main(){int i=0,m,j=0,n=0,a[100];cout<<"输入一个十进制数:"<<endl; cin>>m;while(m!=0){a=m%2;m=m/2;i++;}while(j<i){n=n*2+a[j];j++;}cout<<"其二进制逆序数:"<<endl<<n<<endl; }第四题#include<iostream.h>#include<iomanip.h>#include<math.h>void main(){int m,n,k,maxm,maxn,max=0;cout<<"输入k:"<<endl;cin>>k;for(m=0;m<=k;m++)for(n=0;n<=k;n++)if(n*n-m*n-m*m==1&&max<m*m+n*n) { max=m*m+n*n;maxm=m;maxn=n;}cout<<maxm<<""<<maxn<<endl;}第五题#include<iostream.h>#include<iomanip.h>#include<math.h>void main(){int p,i,j,r[10]={1,2,3,4,5,6,7,8,9,10},s[10]; cin>>p;for(i=0;i<=p-1;i++)s=r;for(j=p;j<=10;j++)r[j-p]=r[j];for(j=0;j<p;j++)r[10-p+j]=s[j];cout<<"左移后的结果:"<<endl; for(i=0;i<10;i++)cout<<r<<setw(5);cout<<endl;}。

【2011】北邮网研院和计算机院复试上机题目

【2011】北邮网研院和计算机院复试上机题目

2011北邮网研院复试上机题目A、字符串操作Accept:93 Submit:1212Time Limit:1000MS Memory Limit:65536KB请仔细阅读“考前必读”Description大家平时都会用到字符串,现在有几种字符串操作,需要你用这几种操作处理下字符串。

Input多组数据,以EOF结束。

第一行一个字符串,字符串长度大于0,并且小于等于200。

第二行一个数字t,(0<t<=200)。

下面t行,每行表示一种操作。

共有两种操作,每行数据的第一个数表示操作的种类:翻转操作:第一个是一个数字0,然后两个数字i和len,翻转从下标i长度为len的子串。

替换操作:第一个是一个数字1,然后两个数字i和len,接着一个长度为len 的字符串str,用str替换从下标i长度为len的子串。

字符串操作后会更新,旧的字符串被舍弃。

(详见sample)Output每个操作之后输出生成的新的字符串Sample Inputbac20 0 31 12 asSample OutputcabcasHint字符串下标从0开始,所有操作的数据范围都合乎规范。

B、虚数Accept:36 Submit:448Time Limit:1000MS Memory Limit:65536KB请仔细阅读“考前必读”Description给你一个复数集合{Aj+i*Bj},保证Aj和Bj都是整数,初始为空集。

每次会给你如下两种操作中的一种:1."Insert x+iy",其中x,y都是整数。

表示在集合中加入一个复数 x+ iy,同时输出此时集合的大小;2."Pop"。

如果集合为空集直接返回“Empty!”,如果有元素则以"x+iy "的形式显示集合中模值最大的复数,然后将该元素从集合中删除,之后在第二行显示操作之后的集合大小,如果为空集则显示“Empty!”。

计算机系统知识_计算机应用基础教程上机指导与习题集(微课版)_[共4页]

计算机系统知识_计算机应用基础教程上机指导与习题集(微课版)_[共4页]

D.ROM 是只读存储器的英文缩写
6. 构成计算机物理实体的部件称为( )。
A.计算机软件
B.计算机程序Βιβλιοθήκη C.计算机硬件 D.计算机系统
7. 下列设备中属于输入设备的是( )。
A.显示器
B.扫描仪
C.打印机
D.绘图机
8. 计算机中对数据进行加工与处理的硬件为( )。
A.控制器
B.显示器
C.运算器
D.存储器
A.输入
B.输出
C.输入和输出 D.存储器
4. 计算机的主机由( )组成。
A.计算机的主机箱
B.运算器和输入/输出设备
C.运算器和控制器
D.CPU 和内存储器
5. 下面关于 ROM 的说法中,不正确的是( )。
A.ROM 不是内存而是外存
B.ROM 中的内容在断电后不会消失
C.CPU 不能向 ROM 随机写入数据
9. 微型计算机中,控制器的基本功能是( )。
A.控制系统各部件正确地执行程序
B.传输各种控制信号
C.产生各种控制信息
D.存储各种控制信息
10. 下列属于硬盘能够存储多少数据的一项重要指标的是( )。
A.总容量
B.读写速度
C.质量
D.体积
11. 下列选项中,不属于计算机硬件系统的是( )。
A.系统软件
2
项目二
计算机系统知识
一、单选题
1. 计算机中运算器的主要功能是( )。
A.控制计算机的运行
B.算术运算和逻辑运算
C.分析指令并执行
D.负责存取存储器中的数据
2. 计算机的 CPU 每执行一个( ),表示完成一步基本运算或判断。
A.语句
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机考研复试上机指导全书习题集》试读版
1001. A+B Format (20)
Time Limit: 400 MS Memory Limit: 65536 KB
题意
给出两个整数 a、b(不超过 10^9),求 a+b 的值,并按照 xxx,xxx,xxx,xxx 的格式输出。
样例解释
Sample One -1000000 + 9 = -999991 按照格式输出为-999,991。
Note 2: 当一个客户服务结束时,下一个客户的服务将立即开始,剩余客户也立即入队,中间无缝 对接,不产生额外时间。
Note 3: 关于时间的处理有一个小小的技巧,就是把时间都转换为分钟,即把 hh:mm 形式的时间全 部转换为分钟数 hh*60+mm,以便于时间的处理和比较。
= 38 =
参考代码
W.popTime += needTime[W.q.front()];
//更新该窗口的 popTime
ans[inIndex] = W.endTime; //客户 inIndex 的服务结束时间为该窗口的 endTime
}
for(int i = 0; i < query; i++) {
scanf("%d", &q);
//循环入队
window[inIndex % n].q.push(inIndex);
//更新窗口的服务结束时间 endTime
window[inIndex % n].endTime += needTime[inIndex];
//对窗口的第一个客户,更新 popTime
if(inIndex < n) window[inIndex].popTime = needTime[inIndex];
printf("-"); sum = -sum; } int len = 0; //len 存放 sum 的长度 if(sum == 0) num[len++] = 0; //sum 为 0 时特殊处理 while(sum) { //将 sum 存入数组 num[]中,其中 sum 的低位存放到 num[]的低位 num[len++] = sum % 10; //将 sum 的末位 sum%10 存放到 num[len],然后 len++ sum /= 10; //去除 sum 的末位 } for(int k = len - 1; k >= 0; k--) { //从高位开始输出 printf("%d", num[k]); if(k > 0 && k % 3 == 0) printf(","); //每三位一个逗号,最后一位除外 } return 0; }
//服务结束时间、服务需要时间
int main() {
int inIndex = 0;
//当前第一个未入队的客户编号
scanf("%d%d%d%d", &n, &m, &k, &query); //窗口数、窗口人数上限、客户数、查询数
for(int i = 0; i < k; i++) {
scanf("%d", &needTime[i]); //读入服务需要时间
//当前入队的客户的服务结束时间直接保存作为答案
ans[inIndex] = window[inIndex % n].endTime;
inIndex++;
}
for(; inIndex < k; inIndex++) {
//处理剩余客户的入队
int idx = -1, minPopTime = 1 << 30;
参考代码
#include <cstdio> int num[10]; int main() {
int a, b, sum; scanf("%d%d",&a, &b); sum = a + b; //将 a+b 赋值给 sum if(sum < 0) { //sum 为负数时,输出负号并取 sum 的相反数
考察点
字符串处理
思路
Step 1 对输入的两个数字 a 与 b 进行累加,并赋值给 sum。之后判断累加后得到的 sum 是否为负数,
如果是负数,则负号先行输出,并令 sum = -sum 来取正。 Step2
把 sum 的每一位存到数组中(例如 123 存到数组 num[]中就是 num[0] = 3、num[1] = 2、num[2] = 1,即 sum 的低位存储到 num[]的低位),之后从高位开始输出数组元素,每输出 3 个数字输出 1 个逗号,最后 3 个数字后面不输出。
= 37 =
考察点
排队问题
思路
Step 1 考虑一个事实:当一位客户进入某一窗口的队列时,他的服务结束时间就已经确定了,即当前
在该窗口排队的所有人的服务时间之和。而在所有窗口排满后,剩余客户能够去排队的时间点是所 有窗口最早结束的队首客户,也就是说,在所有窗口排满的情况下,每当有一个窗口的队首客户服 务结束(结束时间相同的,窗口 ID 小的视为先结束),剩余客户的第一个就会排到那个窗口最后面 去。于是我们可以为窗口建立一个结构体 Window,存放该窗口当前队伍的最后服务时间 endTime 和队首客户的服务结束时间 popTime,并维护一个该窗口的排队队列 q,如下所示:
//寻找所有窗口的最小 popTime
for(int i = 0; i < n; i++) {
if(window[i].popTime < minPopTime) {
idx = i;
minPopTime = window[i].popTime;
}
}
= 39 =
//找到最小 popTime 的窗口编号为 idx,下面更新该窗口的队列情况

Window& W = window[idx]; //引用,下文中用 W 代替 window[idx],行文更清晰
W.q.pop();
//队首客户离开
W.q.push(inIndex); //客户 inIndex 入队
W.endTime += needTime[inIndex];
//更新该窗口队列的 endTime
=6=
1014. Waiting in Line (30)
Time Limit: 400 MS Memory Limit: 65536 KB
题意
某银行有 N 个窗口,每个窗口前最多可以排 M 个人。现在有 K 位客户需要服务,每位客户的 服务时长已知。假设所有客户均在 08:00 时刻按客户编号次序等在黄线外,且如果有窗口的排队人 数没有排满(没有达到 M 人),当前在黄线外的第一个客户就会选择这样的窗口中排队人数最少的 窗口去排队(排队人数相同时,选择窗口序号最小的窗口去排队)。给出 Q 个查询,每个查询给出 一位客户的编号,输出这位客户的服务结束时间。注意,如果一个客户在 17:00 之后(含 17:00)还 没有被服务,则不再服务,输出 Sorry;而如果一个客户在 17:00 之前被服务,那么无论他的服务时 长有多长,都会服务完整。
num[len] = sum % 10; sum /= 10; ++len; } //使用 do...while 的写法
=5=
int len = 0; do {
num[len] = sum % 10; sum /= 10; ++len; }while(sum);
Note 2: 注意最低位后面是不需要输出逗号的,所以需要在输出逗号时判断是否是最低位。
return h * 60 + m; //转换时间为分钟,方便时间处理
}
struct Window {
int endTime, popTime; //窗口当前队伍的最后服务时间、队首客户的服务结束时间
queue<int> q; //队列
} window[20];
int ans[maxNode], needTime[maxNode];
}
for(int i = 0; i < n; i++) { //初始化每个窗口的 popTime 和 endTime 为 08:00
window[i].popTime = window[i].endTime = convertToMinute(8, 0);
}
for(int i = 0; i < min(n * m, k); i++) { //注意是 min(n*m, k)
样例解释
Sample One 有两个窗口,每个窗口前最多排两个人,初始状态下 7 个客户都在黄线外,然后按照选择窗口
的规则进行排队,得到如图的排队情况,其中每个客户右下角的中括号中的数字表示该客户当前剩 余的服务时间。
由于 1 号客户的剩余服务时间比 2 号客户更短,因此 1 号客户在 08:01 时先行服务完毕,5 号 客户排到 1 号窗口后面,同时 2 号客户的剩余服务时间减少 1 分钟,得到下图 08:01 的状态图。接 下来的步骤过程与此类似,这里不再赘述,读者可以从图中得到整个过程,其中在 17:00 时 7 号客 户将无法被服务,因此 7 号客户应当输出 Sorry。
#include <cstdio>
#include <queue>
#include <algorithm>
相关文档
最新文档