试题1
A.为了提高计算机的处理机和外部投备的利用率, 把多个程序同时放入主存储崐器,在宏观上并行运行。
B.把一个程序划分成若干个可同时执行的程序模块的设计方法。
C.多个用户在中端设备上以交互方式输入、排错和控制其程序的运行。
D.由多台计算机组成的一个系统。这些计算机之间可以通过通信来交换信息;互崐 相之间无主次之分; 它们共享系统资源; 程序由系统中的全部或部分计算机协同
执行。管理上述计算机系统的操作系统。
E.有一类操作系统的系统响应时间的重要性超过系统资源的利用率, 它被广泛崐地应用于卫星控制、导弹发设、飞机飞行控制、飞机订票业务等领域。
供选择的答案
A~E: (1)分时操作系统 (2)实时操作系统 (3)批处理操作系统
(4)网络操作系统 (5)分不式操作系统 (6)单用户操作系统
(7)多重程序设计 (8)多道程设计 (9)并发程序设计
试题2
(1)顺序存储方式只能用于存储线性结构。
(2)顺序存储方式的优点是存储密度大, 且插入、删除运用算效率高。
(3)链表的每个结点中都恰好包含一个指针。
(4)散列法存储的基本思想是由关键码的值诀定数据的存储地址。
(5)散列表的结点中只包含数据元素自身的信息, 不包含任何指针。
(6)负载因子 (装填因子) 是散列法的一个重要参数, 它反映散列表的装满程度。
(7)栈和队列的存储方式既可是顺序方式, 也可是链接方式。
(8)用二叉链表法 (llink -- rlink法) 存储包含n 个结点的二叉树, 结点的2n个
指针区域中有n+1 个为空指针。
(9)用相邻矩阵法存储一个图时, 在不考虑压缩存储的情况下, 所占用的存储空间崐 大小只与图中结点个数有关, 而与图的边数无关。
(10) 邻接表法只能用于有向图的存储, 而相邻矩阵法对于有向图和无向图的存储
都适用。
试题3
使用_ A_ 能阅读和修改文本文件; __B__能帮助别人们找到程序中的出错位置。
检查计算机各部件,报告故障信息的是__C__。在支持开放策略的操作系统中, 提供崐了各种可选的配置相应的目标程序模块, 用户可按需要选择必要选择必要的程序和
设置参数, 也可以加入自行开发的新添设备的驱动程序的目标模块, 通过系统__D_崐形成所需要的操作系统。计算机接通电源后,往往先执行一段通常存ROM中的__E__,
接着才将基本操作系统读入内存,并执行。
供选择的答案
A: (1)源程序 (2)编辑程序 (3)显示程序幕 (4)打印程序
B: (1)可执行程序 (2)连接编辑程序 (3)编译程序 (4)排错程序
C: (1)排错程序 (2)文件系统检查程序 (3)诊断程序 (4)格式化程序
D: (1)引导程序 (2)生成程序 (3)装入程序 (4)加载程序
E: (1)设备程序 (2)进程管理程序 (3)调度程序 (4)引导程序
试题4
某顺序存储的表格,其中有90, 000个元素,已按关键项的植的上升顺序排列。
现假定对各个元素进行查的概率是相同的, 并且各个元素的关键项的值皆不相同。
用顺序查找法查找是,平均比较次数约为_a_,比较次数为_b_。
现把90,000个元素按排列顺序划分成若干组,使每组有g个元素(最后崐一组可能不足g个)。查找时,先从头一组开始,通过比例各组的最后一个元素的崐关键项的值,找到欲查找的元素所在的组,然后再用顺序查找找到欲找的元素。在崐这种查找法中,使总的平均比较次数最小的_c_,此时的平均比较次数是_d_。
当g的值大于等于90,000时,此方法的查找速度接近于_e_。
供选择的答案
A、B:①25.000②30,000
③45,000④90,000
C、D:①100②200
③300④400
E:①快速分类法②斐波那契查找法
③二分法④顺序查找法
试题5
为了提高数据的可靠性,决定在7位数据的前面(左面)加一个偶校验位,使崐8位中的1的个数为偶。十六进制的4F和3C加偶校验位后分别是_a_和_b_。
现假定每个数据最多只有一位出错,则D5,F4,3A中出错的数据是_c_。
现假定以3个8位数据为单位加垂直偶校验位,即增加一个8位数据,使4个崐8位数据的对应位的1的个数为偶数。对于十六进制的CF,D5和78,,所增
加的一个8位数据是_d_。对于十六进制的25,4F和_e_,所增加的一个8
位数据是3C。
供选择的答案
A、B、D、E:①F2 ②56 ③3C ④75 ⑤CF
⑥62 ⑦3A⑧BF ⑨4F ⑩DC
C:①D5 ②F4 ③3A ④D5和F4⑤D5和3A
⑥F4和3A
试题6
考虑具有如下性质的二叉树:除叶子结点外, ○n1 崐每个结点的值都大于其左子树上的一切结点的值, / \ 崐并小于等于其右子树上的一切结点的值。 ○n2 ○n3
现把9个数1,2,3,4…8,9填入右图 / \ \
所示的二叉树的9个结点中,并使之具有上述性质 ○n4 ○n5 ○n6崐此时,n1的值是_a_,n2的值是_b_,n9的 / \ \ 崐值是_c_。现欲把√ ̄10放入此树并使该树保持 ○n7 ○n8 ○n9 崐前述性质,增加的一个结点可以放在_g_或_e_。
供选择的答案
A~C:①1 ②2 ③3 ④4 ⑤5 ⑥6 ⑦7 ⑧8⑨9
D、E:①N1下面 ②N8下面 ③N9下面 ④N6下面
⑤N1与N2之间 ⑥N2与N4之间 ⑦N5与N9之间 ⑧N3与N6之间
试题7
假设一个十六位机的某存贮单元存放着数1101101101001000,崐求该数在下列表示法下所代表的含义(若为小数时,4舍五入后保留小数点后六位):
①作为原码表示十进制有符号整数(其中位为符号位)时,其值为__a__。
②若沿用大写英文字母A到V来记录32进制数,其表示的相应32进制正整崐数为_b_。
③若采用定点数记数法(原码,其位为符号位,小数点在最左面),其崐对应的十进制小数为_c_。
④若采用以下浮点数记数法
15 14121110 0
┏━━━┳━━━━━━┳━━━┳━━━━━━━━━━━━━━━┓
┃阶符 ┃ 阶 码 ┃ 尾符 ┃ 尾 数 ┃
┗━━━┻━━━━━━┻━━━┻━━━━━━━━━━━━━━━┛
阶码用移码表示, 底数为2;尾数用码表示时, 该数对应的十进制数为__D__。
⑤该数的低字节若视为ASCII 码, 所代表的字符为__E__。
供选择的答案
A: (1)--55510 (2)--23368 (3)--18762 (4)56136
B: (1)1KP8 (2)1MQ8 (3)DB48 (4)1IAA
C: (1)--0.286865 (2)--0.713135 (3)--0.572571 (4)0.233685
D: (1)--13.125 (2)--0.073735 (3)--13.421875 (4)--18.875
E: (1)J (2)A (3)H (4)h
试题8
从供选择的答案中选出应填入下述关于计数器的叙述中─────内的正确答崐案,把编号写在答卷的对应栏内。
下图是一个由三个D型触发器构成的非标准计数器。(D型触发器有如下性质:每崐来一个时钟脉冲CK,就将触发器D输入端的状态送入该触发器。Q端反映的就是触发崐器的状态,而Q端则是其反映状态。)
S3 S2 S1
│ ┌──┐┌──┤ ┌──┐ ┌──┤
┏┷━━━━━┷┓ ││ ┏┷━━━━┷━┓│ │ ┏┷━━━━━━┓
┃Q Q'┃ ││ ┃Q Q' ┃│ │ ┃Q Q' ┃
┃D ┃ ││ ┃D ┃│ │ ┃D ┃
┗┯━━━━━┯┛ ││ ┗┯━━━━┯━┛│ │ ┗┯━━━━━┯┛
CK──┼─────┴──┼┼──┼────┴──┼──┼──┼─────┘
┏━┷━┓ ││┏━┷━┓ │ │┏━敁┿敋━┓
┗┯━┯┛ 与 门 ││┗┯━┯┛ 与 门 │ │┗┯┷┯┛ 或 门
│ └───────┼┘ │ │ └──┼─┘ │
└─────────┼──┼─┴─────────┘ │
└──┴───────────────┘
若初始状态为S3S2S1,则时钟脉冲CK到来后依次得到的下五个状态为:
__a__ __b__ __c__ __d__ __e__
供选择的答案
A─E:①000②001③010④011
⑤100⑥101⑦110⑧111
试题9
一般情况下,指令由__a__和操作数地址码两部分组成。利用堆栈进行运算的崐指令可以不设置__b__。
浮点运算指令对用于__c__的计算机是十分必要的,而十进制运算指令对有大崐量I/O数据的用于__d__的计算机更为合适。
移位指令属于__e__类指令。
供选择的答案
A、B:①指令码②地址码③操作码④校验码
C、D:①事务处理②科学计算③工业控制④辅助教学
E:①输入/输出②传送③运算④控制
试题10
从供选择的答案中选出应填入下述关于磁盘的叙述中__内的正确答案,把编崐号写在答卷的对应栏内。
某磁盘格式化为24扇区和20磁道。该盘能按需要选择顺时针旋转。各种操崐作执行时间如下:
盘旋转一圈时间=360ms
读一块数据时间=1ms
该盘上存有三个文件:
文件A--在磁道6、扇区1占有2块
文件B--在磁道2、扇区5占有5块
文件C--在磁道5、扇区3占有3块
那么,该盘的平均等待时间最接近于_A_ms,平均搜索时间最接近于_B_m崐s。若磁头移动和盘转动不同时进行,并且磁头初始位置在磁道0,扇区0,以顺崐序CBA读出上述三个文件,总的时间接近于_C_ms。同样初始位置情况下,崐读出上述三文件的最短时间接近于_D_ms。此时文件读出顺序为_E_。
A-D:①2.3 ② 5 ③ 7.5 ④ 15 ⑤ 50
⑥ 75 ⑦ 90 ⑧ 105 ⑨ 119 ⑩ 169
E:①ABC ②ACB ③BAC ④BCA⑤CAB
试题11
从供选择的答案中选出应填入下列英语文句中__内的正确答案,把编号写在崐答卷的对应栏内。
Software products may be _A_ into four basic types: application progr崐ams, programming language processors, operating systems, and system util崐ities.
Application programs atr prograns that _B_ useful tasks such as solvi崐ng statistical problems, or keeping your company's books.
Programming language processors are programs that _C_ the use if a co崐mputer language in a computer system. They are tools for the developmen崐t of application programs.
Operation systems are programs that _D_ the system resources and enab崐le you to run application programs.
System utilities are special programs that _E_ the usefulness of or 崐add capabilities to a computer.
供选择的答案
A-E:①manage ②perform ③ support ④ reduce
⑤ divided ⑥ enhance ⑦ implemented ⑧ introduce
⑨ ranked ⑩ run
试题12
从供选择的答案中选出应填入下列英语文句中__内的正确答案,把编号写在崐答卷的对应栏内。
Here is a useful procedure for choosing a program:
1. Study the features of all the programs you might choose _A_. Deci崐de which features you need, which you would _B_, and which you can do yo崐ur jobs wichout.
2. Eliminate the prograns that clearly do not _C_ you needs.
3. Consider how the remaining programs perform the functions you will崐 use most often. This can affect a program's usability more than all th崐e "nice" features that you will _D_ need.
4. Study the remaining programs carefully - with _E_ experince if you崐 can get it - and decide which one is best for you.
供选择的答案
A:① for ② on ③ in ④ from
B、C:① meet ② require ③ help ④ give
⑤ choose ⑥ like
D、E:① often ② seldom ③ always ④ rich
⑤ hands-on ⑥ little
试题15
从供选择的答案中选出应填入下列叙述中─────内的正确答案,把编号写崐在答案的对应栏内。
编译系统一般可分成──A──,──B──,──C──,──D── 和"崐目标代码生成"等五大部分,其中──A──,──B──和"目标代码生成"三部崐分是每个编译程序必不可少的,而──C──,──D──则是可有可无的。许崐多编译程序将──A──编制成一个子程序,在──B── 的分析过程中根据需崐要调用──A──,并且把──B── 和──C──二部分结合起来,边分析边崐产生有关内容。此外,这五个部分在工作过程中都会涉及到表格处理和──E──。
供选择的答案
A─E:①词法分析②变量分析③数据分析④语法分析
⑤过程分析⑥出错处理⑦优化处理⑧表达式处理
⑨中间代码生成
试题16
从供选择的答案中,选出应填入下列有关方程组的叙述中─────内的正崐确答案,把编号写在答案的对应栏内。
1. 方程组 ax+by=1有的充要条件是──A──。
bx+ay=2
2如果直线ax+by+c=0(a,b,c都不为0)不通过第一象限,崐那么a,b,c应该满足条件──B──。
下午试题
[程序说明]
已知某数的前二项为2和3,其后继项根据当前最后二项的乘积按下列规则生成
(1)若乘积为一位数,则该乘积即为数列的后继项;
(2)若乘积为二位数,则该乘积的十位数和个位数依次作为数列的两个后继项。
本程序输出该数列的前n项以及它们的和。其中,函数sum(n,pa)返回
数列的前n项之和,并将生成的前n项存放于首指针为pa的数组中。程序中规定
输入的n值必须大于2并且不超过给定的常数值MAXNUM。
列如:若输入n值为10,则程序输出如下内容:
sum(10)=44
2 3 6 1 8 8 6 4 2 4
[程序]
#include
#define MAXNUM 100
int sum(n,pa)
int n,*pa;
{ int count,total,temp;
*pa=2;
____________________ =3;
total=5; count=2;
while (count++{ temp=*(pa-1)**pa;
if (temp<10)
{ total+=temp;
*(++pa)=temp;
}
else
{
_______________ =temp/10;
total+=*pa;
if (count{ count++;pa++;
_______________________=temp%10;
total+=*pa;
}
}
}
___________________________;
}
main ()
{ int n,*p,*q,num[MAXNUM];
do {printf("Input N=? (2scanf("%d",&n);
} while ( ___________________ );
printf("\nsum(%d)=%d\n",n,sum(n,num));
for (p=num,q= ________________ ;pprintf("\n");
}
[程序说明]
本程序对某电码文(原文)进行加密形成密码文.其加密算法如下:
假定原文为C1C2C3...Cn,加密后形成的密文为S1S2S3...Sn,首先读入
正整数Key(Key>1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,
如下图所示:
┏━Sn━━S1━┓
Sn-1 S2
┃ ┃
┃ S3
┃ ┃
┗....━━S4━┛
加密时从S1位置起顺时针计数,当数到第Key个字符位置时,将原文中的字符放入
该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起
继续计数,当再次数到第Key个字符位置时,将原文中字符C2放入其中,并从环中
除去该字符位置;依次类推,直至n个原文字符全部放入密文环中.由此产生的S1S2
...Sn即为原文的密文.
例如,当Key=3时,原文: THIS IS AN DECODING SYSTEM 的密文为:
AOTGNHEDI YS D IMIETSNC SS
当Key=4时,该原文的密文为:
SSDTYD HTEGIASISCNM E ION
本程序将电码的原文存放在字符数组old中,加密钥匙存放在整数Key中.函数decode
用于将原文old加密并返回密文字符数组的首指针.其中函数采用一个双向循环链表
CODE来表示密文环.函数strlen用于计算一个字符串中的字符个数(不包括字符串结
尾符'\0').为了简单起见,程序中假设内存容量足以满足动态存贮单元分配的要求.
[程序]
#include
#include
#define CR 13
typedef struct node
{ char ch;
struct node *forward; /* Link to next node. */
struct node *backward;/* Link to previous node.*/
} CODE;
main()
{ char _________ ,old[256];
int strlen(),key,num=0;
printf("\nPlease input the telegraph: \n")l
while (num<255&&(old[num++]=getch())!=CR);
old[ ______ ]='\0';
do { printf("\nPlease input Key=?(Key>1):");
scanf("%d",&key);
} while (key<=1);
printf("\nThe decode of telegraph:'%s' is:\n'%s'\n",
old,decode(old,key));
}
char *decode(old,key)
char *old; int key;
{ char *new; int length,count,i;
CODE *loop,*p;
length=strlen(old);
loop=( _______ ) malloc(length*sizeof(CODE));
for (i=1;i{ loop[i].forward=&loop[i+1];
loop[i].backward=&loop[i-1];
}
loop[0].backward=&loop[length-1];
loop[0].forward=&loop[1];
loop[length-1].forward=loop;
loop[length-1].backward=&loop[length-2];
for (p=loop,i=0;i{ for (count=1;countp= _____ ;
p->ch=*old++;
p->backward->forward= _________ ;
p->forward->backward= _________ ;
p=p->forward;
}
new=(char *)malloc((length+1)*sizeof(char));
for (i=0;inew[length]='\0';
return (new);
}
int strlen(s)
char *s;
{ int len=0;
while ( ________ !='\0') len++;
return( len);
}
[程序说明]
本程序将一个给定汉字的点阵逆时针旋转90度,并输出旋转前后的点阵数据及字形.
附图是汉字"转"字的16*16点阵字形,用数字'0'表示空白位置,用数字'1'表示非空
白位置,"转"字的第一行机即可表示成如下的{0,1}序列:
0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
如果把它看作一个字的16个BIT,"转"字的第一行可以用16进制数的1040来表示.同
理,"转"字的第二行可以表示为1040,第三行可以表示为1048,...等等.依次类推,用
16个双字节整型数即可存放一个汉字点阵字形."转"字的点阵数据及字形如附图的
左半部分所示.将一个汉字逆时针旋转90度,就是把该汉字点阵的最右列作为旋转后
点阵的第一行,次右列作为旋转后点阵的第二行,...,来形成一个旋转后的点阵字形.
附图的右半部分就是将"转"字旋转90度后的点阵数据和字形.
程序中,数组old中存放着"转"字的点阵数据.函数turnleft将该点阵数据逆时针旋
转90度,旋转后的点阵数据存放在数组new中.函数display将旋转前后的点阵数据加
以编辑,用字符'.'表示值为0的Bit,用字符'X'表示值为1的Bit,从而将旋转前后的点
阵按行输出其16进制数据及字形,如同附图所表示的那样.
[附图]
1040 ...X.....X...... 0000 ................
1040 ...X.....X...... 0200 ......X.........
1048 ...X.....X..X... 1640 ...X.XX..X......
FDFC XXXXXX.XXXXXXX.. 32E0 ..XX..X.XXX.....
2040 ..X......X...... 1259 ...X..X..X.XX..X
2844 ..X.X....X...X.. 1246 ...X..X..X...XX.
4BFE .X..X.XXXXXXXXX. FE44 XXXXXXX..X...X..
7C80 .XXXXX..X....... 13C8 ...X..XXXX..X...
0888 ....X...X...X... 1240 ...X..X..X......
09FC ....X..XXXXXXX.. 0200 ......X.........
1C08 ...XXX......X... 1120 ...X...X..X.....
E810 XX.X.......X.... 17FF ...X.XXXXXXXXXXX
4890 .X..X...X..X.... F120 XXXX...X..X.....
0860 ....X....XX..... 1D10 ...XXX.X...X....
0820 ....X.....X..... 1318 ...X..XX...XX...
0810 ....X......X.... 1010 ...X.......X....
[程序]
#define
#define EMPTY '.'
#define NONEMPTY 'X'
#define LEFT 0
#define RIGHT 1
main ()
{ static unsigned old[16]=
{0x1040,0x1040,0x1048,0xFDFC,0x2040,0x2844,
0x4BFE,0x7C80,0x0888,0x09FC,0x1C08,0xE810,
0x4890,0x0860,0x0820,0x0810
};
unsigned new[16];
trunleft(old,new);
display(old,new);
}
turnleft(old,new)
unsigned old[],new[];
{ int row,k;
for (row=0;row<16;row++)
for (k=0,______ ;k<16;k++)
new[row]|=((old[k]>> _______ ) &1) << _______ ;
}
display(old,new)
unsigned *old,*new;
{
char out[2][17],letter[2];
int row,col;
letter[0]=EMPTY;
letter[1]=NONEMPTY;
out[LEFT][16]=out[RIGHT][16]=______;
for (row=0;row<16;row++,old++,new++)
{ for (col=0;col<16;++col)
{ out[LEFT][col]=letter[ ( __________) &1];
out[RIGHT][col]=letter[ (__________) &1];
}
printf("\n %4x %s ",*old,&out[LEFT][0]);
printf(" %4x %s",*new,&out[RIGHT][0]);
}
}
new[16]=______;
for (row=0;row<16;row++,old++,new++)
{
for (col=0;col<16;++col)
{ out[LEFT][col]=letter[ ( __________) &1];
out[RIGHT][col]=letter[ (__________) &1];
}
printf("\n %4x %s ",*old,&out[LEFT][0]);
printf(" %4x %s",*new,&out[RIGHT][0]);
}
}
历年计算机软件水平考试程序员部分真题.doc
下载Word文档到电脑,方便收藏和打印[全文共9478字]
编辑推荐:
下载Word文档
如果觉得《计算机软件水平考试分类程序员 历年计算机软件水平考试程序员部分真题》对你有帮助,请点赞、收藏,并留下你的观点哦!