2021年安徽省合肥市全国计算机等级考试数据库技术真题(含答案)_第1页
2021年安徽省合肥市全国计算机等级考试数据库技术真题(含答案)_第2页
2021年安徽省合肥市全国计算机等级考试数据库技术真题(含答案)_第3页
2021年安徽省合肥市全国计算机等级考试数据库技术真题(含答案)_第4页
2021年安徽省合肥市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(2021年)安徽省合肥市全国计算机等级

考试数据库技术真题(含答案)

学校:班级:姓名:考号:

一、1.选择题(10题)

i.下列关于进程控制的叙述中,不正确的是

A.进程控制是通过原语来实现的

B.一个进程可以使用创建原语创建一个新的进程,前者称为父进程,后

者称为子进程

C.创建一个进程的主要任务是建立原语

D.撤销进程的实质是撤销PCB

2.在关系数据库中,实现“表中任意两行不能相同”的约束是靠o

A.外码B.属性C.主码D.列

3.依据关系系统支持关系模型的程度不同,关系系统可以分为四类。所

谓全关系系统指的是______O

A.支持关系数据结构和所有的关系代数操作

B.支持关系模型的所有特征

C.仅支持关系数据结构(即表),不支持集合级的操作

D.支持关系数据结构和选择、投影、连接3种关系操作

4.下列关于计算机系统工作原理的叙述中,哪一条是正确的?

A.中央处理器直接对存储器中的数据进行处理

B.运算器完成解释和执行指令的工作

C.中央处理器可以从输入设备中得到控制指令

D.程序和数据均存放在存储器中

5.在概念模型中,惟一标识实体的属性集称为()。

A.元组B.关系C.主码D.主属性

6.设有关系R和S,关系代数表达式R-(R-S)表示的是

A.RASB.R-SC.RUSD.R-S

7.对n个记录的文件进行归并排序,所需要的辅助存储空间为o

2

A.O(l)B.O(n)C.O(log2n)D.O(n)

8.以下关于队列的叙述中哪一条是正确的?

A.队列的特点是先进后出

B.队列只能用顺序方式存储,而不能用链接方式存储

C.队列适用于二叉树对称序周游算法的实现

D.队列适用于树的层次次序周游算法的实现

9.在下面的两个关系中,学号和班级号分别为学生关系和班级关系的主

键(或称主码),则外键是学生(学号,姓名,班级号,成绩)班级(班级

号,班级名,班级人数,平均成绩)

A.学生关系的“学号”B.班级关系的“班级号”C.学生关系的“班级号”D.

班级关系的“班级名

10.有一个网络数据库应用系统,其中一台计算机A存有DBMS软件、

所有用户数据和应用程序,其余各节点作为终端通过通信线路向A发

出数据库应用请求,这种方式属于

A.集中式数据库系统B.并行数据库系统C客户机/服务器数据库系统

D.分布式数据库系统

二、填空题(10题)

11.在关系数据库的规范化理论中,在执行“分离”时,必须遵守规范化

原则:保持原有的依赖关系和【】。

12.设根结点的层次为0,则高度为k的二叉树的最大结点数为。

13.在一个双链表中,包括头结点在内共有6个节点,则共有【】个指

针。

14.组播路由协议分为组播路由协议和域间组播路由协议。

15.对实际问题总是先设计一个【】模型,然后再把它转换成计算机能

实现的【】。

16.无线局域网的英文缩写为。

17.()是数据库中的一个逻辑命名空间,可以存放表、视图等数据库

对象,用于对数据库对象进行分类。

18.计算机网络拓扑主要是指通信子网的拓扑构型,它对网络性能、系统

可靠性与都有重大影响。

19.因特网主要由通信线路主机和信息资源四部分组成。

20.CPU交替执行操作系统程序和应用程序。根据运行程序对机器指令

的使用权限CPU置为不同的状态。用户只能在_____下运行。

三、单选题(10题)

21.下列关于时钟的叙述中,哪一条是不正确的?()

A.A.时钟中断可以屏蔽

B.时钟是操作系统运行的必要机制

C.时钟可以分成硬件时钟和软件时钟

D.利用时钟中断可以实现进程的轮转运行

22.操作系统在控制和管理进程的过程中,涉及到()这一重要数据结构,

这是进程存在的惟一标志。

A.FCBB.FIFOC.FDTD.PCB

23.某单道批处理系统中有四个作业J0B1、J0B2、J0B3和J0B4,它

们到达“输入井”的时刻和需要的运行时间如下表所示:

作业进入系统时间估计运行时间(分钟)

J0B18:3080

J0B28:5020

J0B39:2040

J0B49:3035

假设9:30开始进行作业调度,按照最高响应比作业优先算法,首先被调

度的作业是

A.JOB1B.JOB2C.JOB3D.JOB4

24.下列叙述中,不正确的是:

A.系统软件是在应用软件基础上开发的

B.系统软件应提供友好的人机界面

C.系统软件与硬件密切相关

D.系统软件与具体应用领域无关

25.若让元素1,2,3依次进栈,则出栈次序不可能出现哪一种情况?

A.3,2,1B.2,1,3C.3,1,2D.1,3,2

26.把电路中的所有元件如晶体管、电阻、二极管等都集成在一个芯片上

的元件称为()

A.TransistorB.IntegratedCircuitC.ComputerD.VacummTube

27.在SQLServer2008中,设有商品表(商品号,商品名,生产日期,单

价,类别)。现经常需要执行下列查询:SELECT商品号,商品名,

单价FROM商品表WHERE类别IN(,食品7家电。

ORDERBY商品号现需要在商品表上建立合适的索引来提高该

查询的执行效率。下列建立索引的语句,最合适的是()o

A.CREATEINDEXIdxlON商品表(类别)

B.CREATEINDEXIdxlON商品表(商品号,商品名,单价)

C.CREATEINDEXIdxlON商品表(类别,商品号,INCLUDE(商品名,单

价)

D.CREATEINDEXIdxlON商品表(商品号,INCLUDE(商品名,单

价,WHERE类别=食品'OR类别廿家电’

28.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中

的成员,则U1在该数据库中有权执行的操作是()

A.SELECT

B.SELECT和INSERT

C.INSERT、UPDATE和DELETE

D.SELECT.INSERT,UPDATE和DELETE

29.链栈与顺序栈相比,有一个比较明显的优点是()

A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的

情况D.删除操作更加方便

30.关于水平分割说法错误的是:()

A.根据行的使用特点进行分割

B.分割之后所有表的结构都相同。

C.而存储的数据不同。使用并(Union)操作。

D.使用连接(Join)操作

四、C语言程序设计题(10题)

31.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符

串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX

中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数

WriteDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*Umod256,mod为取余运算,P是数组XX中某一

个字符的ASCH值,f(p)是计算后的无符号整型值C主意:中间变量定义

成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写

字母,则该字符不变,否则用f(P)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

1♦include<stdio.h>

2•include<string.h>

3♦include<ctype.h>

4unsignedcharxx[50][80];

5intmaxline-0;/♦文章的总行数•/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9I

10unsignedintval;

11

12

13voidmain()

14(

15if(ReadDatO)

16(

17printf("数据文件m.dat不佬打开!\n\007");

18return;

19)

20encryptChar();

21WriteDat();

22I

,♦从文付mdal中口:取一■荚文文・・存人父字符中数mu中•/

intReadDat(void)

24

25FILE*fp;

26inti-0;

27unsignedchar*p;

28if((fp-fopen(-in.datH,)-NULL)

29return1;

30while(fgets(xx(1),80,fp)-NULL)

31I

32p=strehr(xx(i)#*\n*);

33if(p)*p-0;

34If

35

36maxline-i;

37fclose(fp);

38return0;

39>

/•«««u■出到文件outdai中•/

40voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp■fopenfout.dat**,W

45for(i»0;i<maxline;1*♦)

46(

47printf("laXn",xx{iB;

48fprintf(fprFs\n",xx(i]);

49

50fclose(fp);

51

32.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符

号字符串数组XX中,•请编制函数encryptChar,按给定的替代关系对数

组XX中的所有字符进行替代,其替代值仍存入数组XX所对应的位置

上,最后调用函数WriteDat把结果XX输出到文件out.dat中。

替代关系:f(p)=p*Umod256,mod为取余运算,p是数组XX中某一

个字符的ASCII值,q(p)是计算后无符号的整型值(注意:中间变量定义

成整型变量),如果原字符是数字字符。至9或计算后f(p)值小于等于

32,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat

的内容。

•include<stdio.h>

•include<string.h>

3;flnclude<ctype.h>

4Junsignedcharxx(50][80];

5\

intmaxline-0;/•文章的总行数•/

6;intReadDat(void);

voidWriteDat(void);

工voidencryptChar()

9I

10»

11;

12;voidmain()

13i(

14;if(ReadDat())

15!(

16;printf(”数据文件in.dat不能打开!\n\007");

17;return;

18!)

19;encryptChar0;

20iWriteDatO;

21;]

,•从文科ilL&t中途取・英文文章,存入我无林号字料*诙镇M中•/

22!intReadDat(void)

23;(

24;

FILE*fp;

25jinti-0;

26unsignedcharap;

ww

27if((fp-fopen("in.datr,*r))--NULL)

28return1;

29while(fgets(xxli],80,fp)!-NULL)

30(

31p-atrchr(xx(ijr*\n*);

32if(p)*p-0;

33if

34

35maxline®1;

36fclose(fp);

37return0;

38)

/•把姑梁3一出到文件WL&t中•/

39voidWriteDat(void)

40

41FILE*fp;

42inti;

43fp-fopen(wout.dat",;

44for(i-0;i<maxline;i♦4)

45(

46printfflsXn-,xx(i]);

R

47fprlntf(fp/"%s\nrxx(ij);

48

fclose(fp);

33.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符

号字符串数组XX中,•请编制函数encryptChar,按给定的替代关系对数

组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置

上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*llmod256,mod为取余运算,P是数组xx中某一个

字符的ASCH值,f(p)是计算后无符号的整型值C主意:中间变量定义成

整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字

母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

请勿改动住数main、读数据函数ReadDat和输出数据函数WriteDat的

内容。

1Ifinclude<stdio.h>

2!tinclude<string.h>

3i•include<ctype.h>

4;unsignedcharxx(50][80];

5!intmaxllne-0;/•文章的总行数•/

6;intReadDat(void);

7JvoidWriteDat(void);

8•voidencryptChar()

9

10

11

12\void

13p

14;if(ReadDatO)

15

16prints「数期文件in.dat不能打开!\n\007-);

17return;

18;»

19iencryptCharO;

20•WriteDat();

21;»

i/•从文件a&i中谈取一・英文文章.存入现无符号字将申敷祖u中

22;intReadDat(void)

23!(

24;FILE*fp;

25jint1-0;

26iunsignedchar*p;

27if((fp-fopenl-in.dat","r"))-NULL>

28return1;

29;while(fgets(xx[i)#80#fp)!•NULL)

30;

31;p•strchr•\n,);

32;if(p)*p•0;

33\

34J)

35;maxline■1;

36!fclose(fp);

37ireturn0;

38;]

八圮雄果MX■出刎文件CHlLdtf中•/

39!voidWriteDat(void)

40\(,

41;FILE

42;inti;

ww

43Jfp-fopen("out.datr*w);

44Ifor(1•0ji<maxline;i**)

45;

w

46!printf(**%s\nrxx(l]);

47।fprintf(fpr7s\n”,xx[ij);

48\)

49?fclose(fp);

50•

34.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat

把这些数存入数组a中,请编制一数jsValue,其功能是:求出个位数上

的数减千位数上的数减百位数上的数减十位数上的数大于零的个数ent,

再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位

数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把

数组b中的数输出到文件Out.dat。

例如।1239.9.!-2-3>O.则该数满足条件存入数组b中・且个数cn*cnt+L

8129.9-8-l-2<0,则该数不满足条件忽略・

注意:部分源程序存在teste文件中•

程序中已定义数组:a[300J,W300].已定义受lbent

请勿改动数据文件in.dat中的任何数据.主函数main()、读语数readDaH)和写话数writeDwO的内容.

tinclude<stdio.h>

2inta(300],b[300)tcnfO;

3voidreadDat();

voidwriteDat(>;

voidjsValue()

7

8

9mainO

10;(

11!int1;

12readDat();

13jsValue();

14writeDat();

15printf(Hcnt-%d\nR,ent);

16for(i-0;i<ent;t♦十)

printf(*b(td]•W\n*f&b(il);

35.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符

串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的

行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补

0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的

值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入

数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件

out.dat中。

例如:

“z”对应的ASCII值为7AH,二进制值为01111010,右移4位后为

00000111,加上原来"2"的ASCII值01111010得到10000001结果。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符

号和空格,并也按字符处理。

注意:部分源程序存放在test.C文件中。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

finclude<stdio.h>

iinclude<string.h>

charxx(50](801;

intmaxline-0;/•文硕的总行数7

intReadDat(void);

voidWriteDat(void);

voidStrCharJR(void)

voidmain()

I

if(ReadDat())

(

printf("数据文件in,dat不能打开!\n\007R)i

return;

\

StrCharJRO;

WriteDat();

I

“从文件indai中读取就英文文章存入务字符由Itfllxx中•/

intReadDat(void)

I

FILE*fp;

inti•0;

char*p;

,f(《fp-fopen(”5.daL/r"))-NULL)

return1;

while(fgets(xx(i]r80>fp)•-NULL)

(

p=strchr(xx[i),'\n');

if(p)*p-0;

32;

33•

34|maxline-i;

35!fclose(fp);

36ireturn0;

37

/•把豁果XX・出到文f!OULdBl中•/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat","w");

43for(i=■0;i<maxline;14+)

44(

R

45printf(%s\n"9xx[il);

46fprintf(fpt""s\n",xxll]);

47)

48(close(fp);

49

36.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录

由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整

型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数

量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编

制函数SortDat,其功能要求:按金额从大到小进行排列,若金额相等,

则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。

最后main函数调用函数WriteDat把结果输出到文件out.dat中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解

题。

例如:sell[i]=temp;

注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

1•^Include<stdlo.h>

2IIInclude<string.h>

3I^include<stdllb.h>

4\IdefineMAX100

5«typedefstruct

6i<

7!chardm[5];/•产用代码•/

8jcharme(11];/•产后名琳•/

9;intdj;八单价•/

10intsi;/•ft*•/

11ilongje;/•金・•/

12jJPR。;

13iPROsell[MAX);

14;voidReadDat();

IS!voidWriteDatO;

16•voidSortDat()

17

18

19;

20!void

21;(

22;momset(sellt0,sixeof(sell));

23jReadDat();

24;SortDat();

25!WritoDat();

26;

)

27;voidReadDat()

28!I

29;FILE♦“>;

30jcharstr(801,ch[111;

31jinti;

fp•fopen("in.dat"*r">;

33Ie

for(1•0;1<100;£♦♦)

34i

(

fgets(str,80,fp>;

36!memepy(sell(1)stt,4);

37;nioroepy(sellli).me,str♦4,10);

38;memepy(ch,str*14,4);ch(4)-0;

35•sell(1].dj-atol(cb);

40;memepy(ch,str*18,5);ch(5)-0;

41jsell[1].si•atoi(ch);

42•scllID.je-(lon^>sell(i).dj・sellfi].si;

43;>

44;fclose(fp);

45I

46voidWriteDat0

47

48FILE*fp:

49int1;

50tp-fopen("out.dat","w");

51ford•0;X<100;if4)

52I

53fprlntf(fp,"%5“%4dISdH01d\n*,8011(1].dmrsell(i).mcr8alisell[i].si,

sell(i].je);

54)

55fclose(fp);

56

37.函数readDat是从文件in.dat中读取20行数据存放到字符串数组

XX中(每行字符串长度均小于80)。请编制函数isSort,其函数的功能

是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍

按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输

出到文件Out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,

右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原

位置上。

例如C位置012345678

源字符申abcdhgfe

123498765

则处理后字符串hgfedcba

87659432!

注意,部分源程序存在处st.c文件中.

请勿改动数据文件in.dat中的任何数据.主函数读函数readDat()和写函数snieD蝴)的内容.

1;finclude<stdio.h>

2•#include<string.h>

3;charxx[20][801;

4voidreadDat();

5voidwriteDat();

6voidjsSort0

7

8

9

10voidmain()

11(

12re^idDat();

13jsSort(>;

14writeDat();

15)

/•从文件中读取20打数据〃放到字符本触爆u中•/

16voidreadDat()

17

18FILE•Ln;

19inti•0;

20char*p;

Hn

21in«fopen(in.datr"r");

22whiled<20“fgets(xx(i]v80,in)NULL)

23I

24p•strchr(xxtiJ,•\n*);

25if(p>*p•0;

26

27

28fclose(in);

29)

/•IE姑裳xx♦出到文件out&rt中•/

30voidwriteDat()

31

32FILE*out;

33int1;

M

34out-fopen(*out.dat*r**w);

35ford-0;i<20;[♦4)

36[

37printfxx[i]);

38fprintf(out,wts\nw,xx[i!);

39

40fclose(out);

41

38.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat

把这些数存入数组a中,请编制一函数jsValue,其功能是:求出千位数

上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数

ent,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的

四位数按从小到大的顺序进行排序。最后main函数调用写函数writeDat

把数组b中的数输出到文件Out.dat中。

例如;9123.9-J-2-3>0,剜读数满足条件存入数组b中.且个数C0E+1.

9812,9-8-1-2<0,则该数不满足条件忽略.

注意:部分源程序存在E.C文件中.

程序中已定义数组:4100),b(300h己定义变ent

请勿改动数据文件in.dal中的任何数据、主图依mainO、读话数rcadDaH)和耳添数writeD®t()的内容•

*include<stdio.h>

inta(300hb(300],cnt-0:〃定义a(300).b(300]ent,并且ent的初值为0

3voidwriteDat();

4voidreadDat();

5voidjsValue()

6

7

8

9main()

10(

11inti;

12readDat();

13!isValue();

14;writeDatO;

15!printf("cnt-tdXn",ent);

16ifor(i-0;1<ent;i>+)

17jprintffb(%d)-%d\nw,i.b(i]);

18»1

19;voidreadDat()

20i1

21;FILE*fp;

22*tnti;

wwM

23:fp-fopen(ln.dat-tr);

24\for(i-0;1<300;i**)

25\fscant(fp,Fd.”,4a[i));

26»fclose(fp):

21;I

28!voidwriteDat()

29j(

30-FILEafp;

31!int1;

32Ifpnfopen(Hout.dat;

33\fprintf(tprent);

34•ford-0;1<ent;£♦♦)

35ifprintf(fp,Fd\n“,b[i!);

36\fclose(fp);

373

39.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把一个四

位数的个位数位置上的值减去千位数位置上的值再减去百位数位置上

的值最后减去十位数位置上的值,如果得出的值大于等于零且原四位数

是偶数,则统计出满足此条件的个数ent,并把这些四位数按从小到大

的顺序存入数组b中,最后调用写函数writeDat把结果ent以及数组b

中符合条件的四位数输出到Out.dat文件中。

注意『部分蹲程序存在EC文件中.

程序中已定义数ftha(200).b(200],已定义空量।ent

请勿改动数据文件in.dw中的任何数据.主函数mainO、读函数rcadDatO和写由敷writdXU)的内容・

I••include<stdlo.h>

2!IdefineMAX200

3inta[MAX],b[MAX]/ent

4voidwriteDat();

5voidJsVal()

6

7

8

9voidreadout()

10(

11int1;

12FILE*fp;

R

13fp•fopen(in.dat"t"r");

14for(i-0;i<MAX;i++)

15fscant(fp,"Rd",(iI);

16fclose(fp);

17

18voidmain()

19

20inti;

21readDat();

22jsValO;

23prln"("满足条件的数7dse.

24ford-0;i<ent;

25printf(**%d”,b(i});

26printf(w\nw);

writeDat();

28

29voidwriteDat()

30

31FILEefp;

32inti;

33fp•fopen("out.daf*,"w");

wn

34fprintf(fprid\nrent);

35for<1-0;i<ent;I—)

36fprintf(fp,7d\n-,bkl);

37fclose(fp);

38

40.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把个位数

字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是

原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把

百位数字和十位数字组成另〜个新的含有两位数字的数(新数的十位数

字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如

果两个新组成的数均是偶数并且至少有一个数能被9整除,同时两个新

数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存

入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函

数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出

到Out.dat文件中。

注jfts部分源程序存在U3LC文件中.

程序中巳定义数组:M200].N200J.巳定义变■:ent

请勿改动数据文件m.&rt中的任何数据,主曲数nwnO、读函败rcadDW)和写函数writeDaiO的内容.

fInclude<stdio.h>

2•defineMAX200

inta(MAX],b[MAX]rent«0;

4voidjsVal()

zoidreadDatO〃从文件中谀取200个四付依存入效a,中

9i

10\int1;

11jFILE・fp;

12;fp-fopen(Hln.dat*","r");

13!for(1■0;i<MAX;

n

14;fscanf(fp,"%dr(1]);

15;fclose(fp);

16!

17;writeDat()〃纪计IT豺累E以及数忸b中将令条件的四付敏除出到M3文件中

18\

19•FILE•fo;

20int1;

fp■fopen("out,dat**w

w

fprintf(fp,*ld\nrent)

23for(i»0;i<ent;

H

24fprintf(fp#*%d\nrbIj

25fclose(fp);

26

27voidmain()

28

29mt1;

30readDat():

31jsVal();〃调用溯触”va0实现收H要次的功艇

32printf("满足条件的nt);

33for(1«0;i<ent;1♦*)

34printf(**^d*,b[X');

35printf;

36writeDat();

37•|

五、设计与应用题(2题)

41.设有高校选课系统,需要对学校的系信息、教师信息、课程信息、

学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号

(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师

号(TNO)、教师名(Tname);课程(Course)信息包括课程号

(CNO)、课程名(CName)、课程学分(Credit);学生(Student)

信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选

课系统的管理规则如下:I.一个系可聘用多名教师,一个教师只受

聘于一个系;II.一个系可有多名学生,一个学生只属于一个系;

III.一名教师可讲授多门课程,一门课程可由多名教师讲授;IV.一

名学生可选修多门课程,一门课程可被多名学生选修;V.学生选修完

课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内

容:(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中

给出的英文名,联系所关联的实体集名的首字母,字母问用“一”或

连接,大小写不限)。(6分)(2)根据所构建的ER图,设计满足

3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模

式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不

限)(4分)

42.在SQLServer2008中,设某数据库中有商品表(商品号,商品名,

进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销

售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商

品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入

一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售

表的第5歹「本次利润”。请编写实现上述功能的后触发型触发器代码。

(10分)

六、单选题“分](2题)

43.有关系模式:系(系号,系名,系办公电话),教师(教师号,教师

名,职称,聘任日期,工资,所在系号)。现要定义下列约束:I.系号

是系关系的主码,教师号是教师关系的主码n.职称列的取值只能为“教

授”,“副教授”,“讲师”,“助理'和"其他'HI.教授的默认工资为10000

元,副教授的默认工资为8000元,讲师的默认工资为5000元IV.每个

教师的所在系号不能为空,且其值必须在系关系中存在若在数据库中实

现以上约束,需要使用触发器才能实现的是()o

A.仅I和nB.仅in和ivc.仅inD.仅i和w

44.AD0对象模型中,Recordset对象的AddNew方法的功能是()。

A.在对应的数据库表中增加一条新记录

B.在记录集中增加一个新列

C.在内存中开辟存放一条新记录的空间

D.增加一个新的记录集

参考答案

1.C解析:进程控制是通过原语来实现的,一个进程可以使用创建原语

创建一个新的进程,前者称为父进程,后者称为子进程。创建一个进程

的主要任务是建立进程控制块,撤销进程的实质是撤销PCB。注意:创

建一个进程的主要任务是建立进程控制块,而不是建立原语,故C)选项

叙述错误。掌握进程控制块的概念和作用。

2.C

3.B

4.D解析:计算机系统中的存储器分为内存储器(内存)和外存储器,只

有内存中的数据可以被CPU直接读取,因此选项A的叙述有误。运算

器是用于对数据进行加工的部件,它可对数据进行算术运算和逻辑运算。

控制器是计算机的控制部件,它控制计算机各部分自动协调地工作,它

完成对指令的解释和执行,因此选项D的叙述有误。运行的程序存储在

内存中,CPU从内存中读取指令,因此选项D的叙述有误。因此本题

的答案为D。

5.C解析:如果在一个关系中,存在多个属性(或属性组合)都能用来惟一

标识该关系的元组,这些属性(或属性组合)都称为该关系的候选码或候

选键。在一个关系的若干个候选码中指定一个用来惟一标识该关系的元

组,这个被指定的候选码称为该关系的主码或主键。

6.A解析:假设关系R和关系S具有相同的属性,且相应的属性取自同

一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。

R-(R-S)最终的结果是属于R又属于S的元组组成。所以可以写成为

RASo

7.B解析:对n个记录的文件进行归并排序,所需要的辅助存储空间为

O(n)oA)选项为起泡排序、简单选择排序、插入排序所需要的辅助存储

空间。

8.D解析:队列是另一种特殊的线性表,限定所有的插入都在表的一端

进行,所有的删除都在另一端进行,即先进先出;队列既能用顺序方式

存储,也能用链接方式存储;树的层次次序周游算法的实现是队列的应

用,•而二叉树对称序周游算法的实现实际上是栈的应用。因此只有选项

D是队列的特点,正确答案为选项D。

9.C解析:外键的概念是:当关系中的某个属性(或属性组合)虽不是该关

系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,则

称该属性(或属性组合)为这个关系的外部关键字或外键。

10.A解析:集中式数据库系统:在这种系统中,整个DBMS的核心,

数据库和应用程序都放在主机上,用户通过终端来并发地存取数据,共

享数据资源,这种系统又称为主从式或主机/终端式系统。

11.实现无损联接;或无损联接;或不丢失数据实现无损联接;或无损联

接;或不丢失数据解析:为了提高规范化程度,常把低一级的关系模式

分解为若干高一级的关系模式。分解时应保证分解后产生的模式与原来

的模式等价。常用的等价标准有要求分解具有无损联接性并要求分解保

持函数依赖的两种。

12.2k+l-l

13.10头结点和尾节点都只有一个指针,其他的节点是4个指针,所以

共有10个指针

14.域内【解析】组播协议分为主机和路由器之间的协议,即组播组管

理协议以及路由器和路由器之间的协议。目前,组管理协议包括hxtemet

组管理协议IGMP和CiscO专用的组管理协议CGMP,组播路由协议又

分为域内组播路由协议和域间组播路由协议两类。

15.概念模型;逻辑模型概念模型;逻辑模型

16.WLAN【解析】无线局域网(WirelessLAN,WLAN)是以微波、激光

与红外线等无线电波作为传输介质,部分或全部代替传统局域网中的同

轴电缆、双绞线和光纤,实现网络中移动结点的物理层与数据链路层功

能。

17.架构(或模式,Schema)

18.通信费用【解析】计算机网络拓扑主要是指通信子网的拓扑构型,

它对网络性能、系统可靠性与通信费用都有重大影响。

19.路由器【解析】因特网主要由通信线路、路由器、主机(服务器与客

户机)和信息资源构成。

20.目态目态解析:CPU的执行状态分为管态和目态。目态具有较低权

限,只能执行规定的指令,访问指定的寄存器和内存的指定区域。用户

只能在目态下运行,防止用户程序对操作系统的破坏。

21.D

22.D解析FCB(文件控制块)是系统为管理文件而设置的一个数据结构,

是文件存在的标志,记录了系统管理文件所需要的全部信息;FIFO是

先进先出,一般表示某些算法(队列操作、存储页面淘汰等);PCB是进

程控制块,描述进程的基本情况以及进程的运行变化过程。

23.B解析:响应比定义为系统对作业的响应时间与作业运行时间的比值。

最高响应比作业优先算法优先选择响应比最高的作业。对J0B1J0B2、

J0B3和J0B4的响应比分别为60/80=0.75、40/20=2、10/40=0.25和0/35=0,

因此首先被调度的作业是JOB2,正确答案为选项B。

24.A解析:本题是对计算机的系统软件和应用软件特性的考查。系统软

件应提供友好的人机界面;系统软件与硬件密切相关而与具体应用领域

无关;应用软件是在系统软件基础上开发的。所以选项A所述是错误

的,正确答案为A。

25.C解析:栈是限制仅在表的一端进行插入和删除运算的线性表,通常

称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。当表中

没有元素时称为空栈。

根据上述定义,每次删除(退栈)的总是当前栈中“最新”的元素,即最后

插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删

除。根据上述原理,C)3,1,2,既然先出栈的是3,说明1,2已经进栈,

那么1不可能在2之前出栈。

26.B

27.D

28.C

29.B

30.D

31.\n【审题关键句】字符替代f(p)=p*llmod256,小于等于32或对应大

写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,

在源程序中已经定义了一个无符号变量val,因此,在编写答案程序时,

不需要再重新定义。

\n【参考答案】

\n

\n

32.\n【审题关键句】字符替代f(p)=p*llmod256,小于等于32或原字符

对应数字。〜9不变,否则替换。

\n【解题思路】

\n本题类似第67套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。本题值

得一提的是在设置判断条件的时候,一定要注意两题要求中的两个细微

的差别,第67套要求的是新字符所对应的数字是。〜9的不变,是对数

值型数据进行判断,•而本套要求的是原字符所对应的字符是0-9的保持

不变,是对字符型数据进行判断,在条件表达式的写法上需要大家注意

区分。

\n【参考答案】

\n

\n

33.\n[审题关键句】字符替代f(p)=p*Umod256,小于等于32或对应小

写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

34.\n【审题关键句】个位-千位-百位-十位数大于零的个数,把所有满足

此条件的数依次存入数组,按从大到小的顺序排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计

的四位数的条件是“个位一千位-百位一十位数大于零的个数'',参考答案

的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的

顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即

可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

35.\n[审题关键句】字符的ASCII值右移4位二进制位,高位补0后加

原字符的ASCII值。

\n【解题思路】

\n①定义两个循环变量i、j和一个无符号字符变量tmp。

\n②在第一个for循环语句中,循环变量i从0开始,依次递增直到其值

等于文章最大行数maxline。在第二个for循环中,从每行第1个字符开

始,依次递增直到其值等于该行字符串的最大长度,然后在循环体中指

定每次循环时,将第i行第i个位置上的字符的ASCII值的二进制数右

移4位,然后将所得的值再加上原字符的ASCII码值。

\n【参考答案】

\n

36.\n【审题关键句】计算金额,按金额从大到小进行排列,相同的则按

产品代码从大到小排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

\n

37.\n【审题关键句】以行为单位从字符串左边部分降序排序,排序后左

边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字

符不参加处理。

\n【解题思路】

\n①定义循环变量i、j、k和整型变量len、p0

\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于

20,实现对20行数据的逐行处理。在循环体中,对于i行首先调用函数

strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用len

除以2,得到第i行字符串长度的一半,赋给变量P。在第二层for循环

中,循环变量J从0开始,依次递过来增直到其值等于(P-D,在第三层

for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比

较字符xx[i皿ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]

啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第

i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝

函数st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论