武汉大学计算机学院C语言期末考试

武汉大学计算机学院C语言期末考试
武汉大学计算机学院C语言期末考试

武汉大学计算机学院

2008-2009学年度第2学期2008级

《高级语言程序设计》期末考试试卷A卷答案

姓名:学号:专业:

说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。

未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。

一.单项选择题:(共10分,每个小题1分)

1.以下说法错误的是 B 。

A.三种基本结构的共同点是“单入口

单出口”。B.goto语句可以在程序中自由跳

转。

C.结构化程序设计设计三种基本结

构的目的是增加程序的可读性和

可维护性。D.结构化程序设计中划分模块的原

则是模块“相对独立,功能单一”。

2.在C语言中,形参的缺省存储类是 D 。

E.static

F.register

G.extern

H.auto

3.设有如下宏定义:

#define test(t) t-4%t

则表达式test(2)*test(5)的值为 B 。

I.-12 J.-2 K. 2 L.0

4.执行语句b=(a=2*10,a=a=4,(a=3*5,a*4),a+5); 后,a和b的值分别是 D 。

A.24,29

B.20,25

C.15,25

D.15,20

5.设有变量定义:int p=4; char k='a'; 则执行表达式((k+=2)>= 'c') || ((p*=3)<10)

后,变量k和p的值分别为_____C_ 。

A.a和4

B.a和12

C.c和4

D.c和12

6.表达式076432&~01777的结果是_______D_____。

A.432

B.0432

C.76000

D.076000

7.执行以下程序段后,变量m的值为 A 。

int a[8]={ {4,3,2,1},{7,6,5,4} };

int m,*p;

p = &a[0];

m = ( *p + 1) + ( p[ 2 ] ) * ( ( p[ 7 ] );

A.13

B.11

C. 16

D. 19

8.设有变量定义:char a[30]; long int *p = (long int *)(a+3); 则以下与表达式p+4

等价的是 C 。

A.&a[7]

B. a+16

C. a+19

D. a+28

9.对于以下字符串,strlen(s)的值为: A

(1) char s1[]="\t\"\\\\\0abc\n";

(2) char s2[]="\x69\33\n";

(3) char s3[]="\t\082\n";

A.4、3和1

B.4、3和3

C.16、3和3

D.16、3和10

10.表达式2.5+7%2-5/2*2的结果为_____C_ 。

A. 3.5

B. 1.5

C.-0.5

D.-1.5 二.程序阅读与分析(共30分,每个小题10分)

11.阅读以下程序,请写出程序运行结果(10分)

/*源程序:A-11.C*/

#include

#include

int main(void)

{ int f0=2,f1=3,f2;

int m=3;

printf("%d\t%d\t",f0,f1);

do{

f2=f0+f1;

printf("%d\t",f2);

f0=f1;

f1=f2;

m++;

}while(m<=10);

return 0;

} /*end main*/ 答案:2 3 5 8 13 21 34 55 89 144

12.请指出以下语句或语句段的错误,并改正错误(10分,每个小题2分)

a)double x[10]; int a; for(a=0; a<=10; a++) scanf("%lf", &x[a]);

答案:数组越界,a<=10改为a<10

b)long s=1; int n=1;

while(n<=10)

s *= n; n++;

答案:循环体缺少复合语句标记;

s *= n; n++;改为{ s *= n; n++;}

或者s *= n, n++;

或者s *= n++;

c)char *s; gets(s);

答案:指针变量为初始化,引起访问非法指针的严重错误。

改法1:char *s 改为char s[[10];

改法2:gets(s); 前面增加语句s=(char *)malloc(10);

改法3:char *s,m[20]; s=m; gets(s);

说明:字符串长度不限。

d)switch(c){

case 'a': printf("The number is a\n");

case 'A': printf("The number is A\n");

default: printf("The number is not a or A\n"); break;

}

答案:case分支后缺少break语句。

改法:两个case分支的最后增加break语句。

e)char str[10]; gets(str);

执行程序时从键盘输入:C□language↙

(说明:□表示空格键,↙表示回车键)

答案:字符串长度定义过短,无法存储结束标记。

改法1:字符串str定义时长度至少应该为11

改法2:键盘输入中去掉空格键

13.现有递归函数product如下所示:

long int product(int a[ ] , int n)

{ int k;

if(n==1) k = 0;

else k = product(&a[1], n-1);

return a[0] + k;

} /*end product*/

假设有定义:int prime[ ] = {2,3,5,7,11,13,17,19,23,29,31,37,41};

请问:调用函数product(prime, 5)后,函数的返回结果是什么?请分析并说明函数product的功能。

答案:计算数组a的前n项之和,结果为28。

如果结果不正确,但是程序执行流程分析正确,可以适当给分(2~6分)

三.子程序实现题(每小题各10分,共20分)

14.设计一个函数belongSet(s, c),该函数用来判断元素c是否出现在集合s中;如果

c是集合s的元素,返回true(1);否则,返回false(0)。

说明:

●其中,s为字符数组,表示一个集合,其全集为大小写字母(52个字母)构

成的集合。c为字符型变量,取值为大小写字母(52个字母)之一。

●例如:s 表示集合{…a?, …x?, …D?, …Z?},c表示元素?x?。则函数调用

belongSet(s,c); 返回值为整数1。

●请首先确定并简要说明字符数组s表示由52个字母元素构成集合的方法。

参考答案1:

字符数组模拟位向量表示集合;52个元素,下标0~25对应小写字母;下标26~51对应大写字母;

int belongSet( char *s, char c)

{

if(c>='a'&&c<='z') return s[c-…a?];

else if(c>='A'&&c<='Z') return s[c-…A?+26];

return 0;

}

参考答案2:

字符数组模拟集合,直接存储字母;这里也有两种方法,一是

52个元素,下标0~25对应小写字母;下标26~51对应大写字母;

二是,顺序存储集合元素,空余区间存储?\0?;

int belongSet( char *s, char c)

{

char x;

if(c>='a'&&c<='z' ||c>='A'&&c<='Z')

for(x=0;x<=51;x++)

if(s[x]==c) return 1;

return 0;

}

15.设计一个函数displayBase_7(number),该函数用来将无符号十进制整数number

转换为无符号七进制整数显示;

说明:

number为需要转换的十进制整数;转换后的七进制数据仅在显示器上显示,无需返回;例如:执行displayBase_7 (23); 语句之后,显示结果为32。

参考答案:此程序有递归和非递归两种常见做法

void displayBase_7( unsigned int number)

{

if(number<7) printf(“%d”, number);

else

{ displayBase_7(number/7);

printf(“%d”,number%7);

}

}

四.程序测试与分析(每小题各10分,共30分)

16.以下语句段的功能是:打开文件d:\student.dat

if(( fp = fopen("student.dat","rb"))==NULL)

{ printf("文件%s打开错误!\n", filename);

exit(1);

}

程序实际运行时,出现“文件student.dat打开错误”的执行结果。请分析并说明上述语句段出现打开文件错误的可能原因;并说明如何改正错误。

答案:文件不存在或者文件目录指定错误

改正:

(1) 检查确保该文件存在,而且有读权限

(2) fopen("student.dat","rb") 改为fopen("d:\\student.dat","rb")

17.假设main函数中已经创建了如图1所示的单链表:

其中,链表定义如下所示:

struct node { int data; struct node *next; } head;

struct node 为链表结点的数据类型,head 为链表头指针。 函数print_insert()的功能是:遍历链表head ,将每个节点数据值增加12,然后在链表head 头部插入一个取值为n 的新结点;该函数返回值为插入结点后链表的结点个数。代码如下所示:

int print_insert( struct node *head, int n)

{ int k=0;

struct node *p=head,*new;

while(p!=NULL)

{ p->data += 12; p=p->next; k++; }

new=(struct node*)malloc(sizeof(struct node));

if( new!=NULL)

{ new->data = n;

new->next = head;

head = new;

k++;

}

return k;

} /*end print_insert*/

执行以下函数调用语句

print_insert(head,11);

请问:

a) 请用图示的方法说明执行上面的函数调用语句之后链表的结果。

b) 执行上面的语句,分析是否真的可以在链表head 中插入取值等于11的结

点?如果不能插入取值为11新结点,请说明出错的原因,并改正错误。

答案:无法插入新结点,原因1:head 定义错误,应该改为指针类型;原因2:形参类型错误,无法带出链表头指针值到主调函数。

改正:错误1:head 的定义 改为

struct node { int data; struct node *next; }* head;

错误2

改法1:形参head 改为struct node **phead ,函数代码中所有head 改为*phead 。 改法2:去掉第1个形参定义,将头指针head 定义为全局变量。

18. 根据以下公式计算π的值:

(114)

94

74

54

34

4+-+-+-=π

程序A-18.C 的功能是:显示用几项相加可以等于3.1415为止:

head

图1 函数调用前 链表 示意图

/*源程序:A-18.C*/

#include

#include

#include

int main(void)

{ double n=1,pi=4,sign=-1;

int m=1;

do{

n= sign*(fabs(n)+2);

pi += 4/n;

m++;

sign *=-1;

}while(pi != 3.1415);

printf("m = %d\n", m);

return 0;

} /*end main*/

执行程序A-18.C时,程序出现无限循环,现象如下所示:黑屏、无任何显示、不能输入任何数据,键入CTRL_break可以强制终止程序执行状态。

请问:程序A-18.C出现哪种错误?请分析出错的原因,并改正错误。

答案:错误点(加粗位置),原因:C语言中实数的可表示误差问题。

改正fabs(pi-3.1415)>=0.00005

说明:误差设置至少应该小于0.00005

五.算法设计(任选一题完成,共10分)

说明:

●19~21题中仅需任意选做一题。完成多个题目,则以答卷纸上写在前面的一个

题目为准评分。

●本题目以描述算法思路为主;不必完整写出函数程序的代码,完整代码

将不作为判分依据。

●分析算法思路,说明算法中的重要数据类型的定义;

●说明算法中的模块划分;各模块的功能、形式参数、函数返回值说明;并用伪代码、

流程图或其它方法描述子程序的执行过程。

19.编程完成队列操作:队列是以先进先出顺序访问的线性列表。队列的两个基本操

作:入队,表示插入一个新数据到队列中,新数据放在队列尾部。出队,从队列首部取走一个数据。要求用数组模拟队列,编程实现入队和出队的操作,入队和出队数据都为整数。输入0表示执行出队操作,输入-1表示程序执行结束,其余整数表示执行入队操作。

例如队列内容为“1、3、5”,则将数据7入队后,队列内容变为“1、3、5、7”。

而执行一次出队操作之后,出队数据为1,队列内容为“3、5、7”。

请注意:队列为空时,执行出队操作错误。队列为满时,执行入队操作错误。

具体要求如下:

A.请用图示的方式说明如何用数组表示一个队列;

B.给出用数组表示队列的C语言定义形式;

C.给出入队函数qstore()和出队函数qretrieve()的函数原型,说明传入和传出信

息的方式;并简要描述这两个函数的算法。

参考答案:

需要定义3个标识符,数组表示队列;队头、队尾标记(为整数类型或者指针类型)。

int q[SIZE], t1,t2;

int qstore(int n) ;//n入队操作,返回1表示操作成功,0失败

int qretrieve( ) ;//返回出队数据

20.编写程序完成文件合并操作:假设有两个数据文件price1.dat和price2.dat,其中

分别存入了各90个长整型的数据。编程实现对文件price1.dat和price2.dat和合并,要求按照数据从小到大的顺序合并,结果存放到文件result.dat中。

限制条件:编程中允许使用的内存空间限制在100个长整型数据范围之内。

具体要求如下:

A.请说明利用100个长整型数据组成的数据完成两个数据文件price1.dat和

price2.dat的排序和合并的基本思路。

B.说明程序中划分多少模块?并给出每个模块的原型;

C.简要描述每个模块的算法。

参考答案:

基本思路:price1.dat先排序;price2.dat再排序;二者合并;

至少2个函数:排序函数;需要写明采用何种排序算法;void sort( long int *s);

文件合并函数;void function( FILE *fp1, FILE *fp2,FILE *fp3);

武汉大学计算机学院 嵌入式实验报告

武汉大学计算机学院 课程实验(设计)报告 课程名称:嵌入式实验 专业、班: 08级 姓名: 学号: 学期:2010-2011第1学期 成绩(教师填写) 实 一二三四五六七八九总评验 分数 分数 (百分制)

实验一80C51单片机P1口演示实验 实验目的: (1)掌握P1口作为I/O口时的使用方法。 (2)理解读引脚和读锁存器的区别。 实验内容: 用P1.3脚的状态来控制P1.2的LED亮灭。 实验设备: (1)超想-3000TB综合实验仪 1 台 (2)超想3000仿真器 1 台 (3)连线若干根 (4)计算机1台 实验步骤: (1)编写程序实现当P1.3为低电平时,发光管亮;P1.3为高电平时,发光管灭。 (2)修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什 么不能正确执行,理解读引脚和读锁存器区别。 实验结果: (1)当P1.3为低电平时,发光管亮;P1.3为高电平时,发光管灭。 (2)不正确。因为先执行CLR P1.3之后,当读P1.3的时候它的值就一直是0,所以发光管会一直亮而不 会灭。单片机在执行从端口的单个位输入数据的指令(例如MOV C,P1.0)时,它需要读取引脚上的数据。此时,端口锁存器必须置为‘1’,否则,输出场效应管导通,回拉低引脚上的高输出电平。 系统复位时,会把所有锁存器置‘1’,然后可以直接使用端口引脚作为输入而无需再明确设置端口锁存器。但是,如果端口锁存器被清零(如CLR P1.0),就不能再把该端口直接作为输入口使用,除非先把对应的锁存器置为‘1’(如 SETB P1.0)。 (3)而在引脚负载很大的情况(如驱动晶体管)下,在执行“读——改——写”一类的指令(如CPL P1.0) 时,需要从锁存器中读取数据,以免错误地判断引脚电平。 实验二 80C51单片机RAM存储器扩展实验 实验目的: 学习RAM6264的扩展 实验内容: 往RAM中写入一串数据,然后读出,进行比较 实验设备: (1)超想-3000TB综合实验仪 1 台 (2)超想3000仿真器 1 台

武汉大学计算机网络实验报告 (2)

武汉大学教学实验报告 动力与机械学院能源动力系统及自动化专业2013 年11 月10 日

一、实验操作过程 1.在仿真软件packet tracer上按照实验的要求选择无线路由器,一般路由器和PC机构建一个无线局域网,局域网的网络拓扑图如下: 2.按照实验指导书上的表9.1(参数配置表)对路由器,DNS服务器,WWW服务器和PC机进行相关参数的配置: 服务器配置信息(子网掩码均为255.255.255.0) 主机名IP地址默认网关 DNS 202.2.2.1 202.2.2.2 WWW 202.3.3.1 202.3.3.3 路由器配置信息(子网掩码均为255.255.255.0) 主机名型号IP地址默认网关时钟频率ISP 2620XM e1/0:202.2.2.2 e1/1:202.3.3.3 s0/0:202.1.1.2 64000 Router2(Server) 2620XM f0/0:192.168.1.1 s0/0:202.1.1.1 Wireless Router Linksys WRT300N 192.168.1.2 192.168.1.1 202.2.2.1 备注:PC机的IP地址将通过无线路由器的设置自动分配 2.1 对router0(sever)断的配置: 将下列程序代码输到router0中的IOS命令行中并执行,对router0路由器进行设置。Router>en Router#conf t

2.3 WWW服务器的相关配置 对www服务器进行与DNS服务器相似的配置,包括它的IP地址,子网掩码,网关等,具体的相关配置图见下图: WWW服务器的相关配置图

计算机二级考试C语言练习题及答案

一、选择题 1). 下列叙述中正确的是( )。 A.调用printf( )函数时,必须要有输出项 B.使用putchar( )函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出 D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码 正确答案:B 答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C 语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。 2). 以下结构体类型说明和变量定义中正确的是( ) A.typedef struct { int n; char c; } REC; REC t1,t2; B.struct REC ; { int n; char c; }; REC t1,t2; C.typedef struct REC; { int n=0; char c=′A′; } t1,t2; D.struct { int n; char c; } REC; REC t1,t2; 正确答案:A 答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。 3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( ) A.一对一 B.一对多 C.多对一 D.多对多 正确答案:B 答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。 4). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B

计算机网络复习总结(武汉大学)

第一章概述 1 计算机网络的定义: ?将地理位置不同、具有独立功能的多个计算机系统通过通信设备和线路连接起来, 以功能完善的网络软件实现资源共享的系统。 ?分布式计算机系统是在分布式计算机操作系统支持下,进行并行计算和分布式数据 处理的计算机系统;各互联的计算机互相协调工作,共同完成一项任务。 ?分布式计算机系统与计算机网络系统在计算机硬件连接、系统拓扑结构和通信控制 等方面基本一样,都具有通信和资源共享等功能。 ?计算机网络系统中的计算机是独立的,分布式计算机系统中的计算机是相互联系、 协调、有分工的。 ?支持网络的是网络操作系统,支持分布式计算机系统的是分布式操作系统。 2 计算机网络的性能指标: ?数据传输率:每秒传输的比特数 ?带宽:网络的最大数据传输率,是体现网络性能的一个指标 ?吞吐量:单位时间通过网络的数据量 ?时延:数据从源端到目的端所需要的时间。包括发送、传播、处理、排队时延 ?时延带宽积:通道所能容纳的比特数 ?往返时间:从源→目的→源的时延 ?利用率:被利用的时间。信道利用率、网络利用率 3 计算机网络发展的四个阶段 ?计算机网络的发展可分为四个阶段: (1)雏形阶段:计算机技术与通信技术相结合,形成计算机网络的雏形; (2)网络阶段:在通信网络基础上,完成网络体系结构与协议研究,形成了计算机网络;美国国防部1969年开始发展的ARPAnet:用于军事目的,主要是为了在战争的环境下,保持通信的畅通,但结果颇为丰富,ARPAnet可以发电子邮件(E-mail)、文件传输(FTP)、远程登录(Telnet),成为了Internet的雏形。 ARPA网是计算机网络技术发展的一个重要的里程碑,它对发展计算机网络技术的贡献表现在以下几方面: 1.完成了对计算机网络的定义、分类; 2.提出了资源子网、通信子网的两级网络结构的概念; 3.研究了报文分组交换的数据交换方法; 4.采用了层次结构的网络体系结构模型与协议体系。 主要贡献是公开了这些研究成果 (3)网络标准化阶段:在解决计算机连网与网络互连标准化问题的背景下,提出开放式系统互连参考模型与协议,促进了符合国际标准的计算机网络技术的发展; 计算机网络发展的第三阶段是加速体系结构与协议国际标准化的研究与应用 国际标准化组织ISO于1977年成立了专门机构,正式制订并颁布了“开放系统互连基本参考模型”(OSI/RM,Open System Interconnection Reference Model)。 二十世纪八十年代,ISO与CCITT等组织为该参考模型的各个层次制订了一系列的协议标准,组成了一个庞大的OSI基本协议集。 首先应用在ARPAnet的TCP/IP协议经过不断地改进与规范化,目前广泛应用在Internet上,

武汉大学计算机考研复试部分:数据库课件DB期末复习及练习

武汉大学《数据库原理》课程组一.填空题 ?1.关系模型的三种完整性约束为。 ?2.数据库中常用四种数据模型有。 ?3. 数据库的三级模式结构是指; 提供的两个独立性是指。 ?4.SQL的集合与主语言单记录处理方式之间通过____ 进行协调。 ?5.数据库恢复的基本原理是____ ,主要技术有____。 ?6. 关系代数的五种基本运算是____ 。 ?7. DBMS并发控制的单位为____ 。 ?8. 实现DBS安全性最重要的两个技术是____。

二.单项选择题 武汉大学《数据库原理》课程组 ?1. 通常所说DBS、DBMS、和DB三者之间的关系是( )。 A. DBMS包含DB和DBS B. DB包含DBS和DBMS C. DBS包含DB和DBMS D.三者无关 ?2. DB三级模式体系结构的划分,有利于保持DB的( )。 A. 数据独立性 B. 数据安全性 C. 结构规范化 D. 操作可行性 ?3.在R(C,S,Z)中,有F={(C,S)→Z,Z→C},则R能达到( )。 A. 1NF B. 2NF C. 3NF D. BCNF ?4. 关系数据库系统进行( )的处理,是为了提高效率。 A.视图定义 B.最高范式的规范化 C.可串性化 D.查询优化

?5. SQL中,谓词EXISTS用来测试一个结果集是否( )。 A.为非空集合 B.行相同 C.行不相同 D.值均为空 ?6. SQL和宿主语言的接口是( )。 A. DBMS B. OS C. DML D. 主变量 ?7. 已知关系模式R={A,B,C,D,E},函数依赖集为{A→D,B→C,E→A},则该关系模式的候选码是( )。 A.AB B. BE C.CD D. DE ?8. 事务的四个特性含()。 A.串行性 B.一致性 C.开放性 D.封锁性 ?9. 下面哪种不属于数据库安全技术() A.存取控制 B.视图 C.镜像 D.审计

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

武汉大学计算机操作系统考试试卷

计算机操作系统精选模拟试题及答案 1.操作系统的发展过程是(C) A、原始操作系统,管理程序,操作系统 B、原始操作系统,操作系统,管理程序 C、管理程序,原始操作系统,操作系统 D、管理程序,操作系统,原始操作系统 2.用户程序中的输入、输出操作实际上是由(B)完成。 A、程序设计语言 B、操作系统 C、编译系统 D、标准库程序 3.进程调度的对象和任务分别是(C)。 A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU B、进程,从后备作业队列中按调度策略选择一个作业占用CPU C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU D、作业,从后备作业队列中调度策略选择一个作业占用CPU 4.支持程序浮动的地址转换机制是(A、动态重定位) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按(C)进行排列。 A、地址从大到小 B、地址从小到大 C、尺寸从小到大 D、尺寸从大到小 6.设计批处理多道系统时,首先要考虑的是(系统效率和吞吐量)。 A、灵活性和可适应性 B、系统效率和吞吐量 C、交互性和响应时间 D、实时性和可靠性 7.当进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 A、等待 B、就绪 C、运行 D、完成 8.文件的保密是指防止文件被(C)。 A、篡改 B、破坏 C、窃取 D、删除 9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由(D)临界区构成。 A、2个 B、3个 C、4个 D、5个 10.按逻辑结构划分,文件主要有两类:(记录式文件)和流式文件。 A、记录式文件 B、网状文件 C、索引文件 D、流式文件 11.UNIX中的文件系统采用(、流式文件)。 A、网状文件 B、记录式文件 C、索引文件 D、流式文件 12.文件系统的主要目的是(A)。 A、实现对文件的按名存取 B、实现虚拟存贮器 C、提高外围设备的输入输出速度 D、用于存贮系统文档 13.文件系统中用( D )管理文件。 A、堆栈结构 B、指针 C、页表 D、目录 14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用(B)。 A、重名翻译 B、多级目录 C、约定 D、文件名 15.在多进程的并发系统中,肯定不会因竞争(C)而产生死锁。 A、打印机 B、磁带机 C、CPU D、磁盘 16.一种既有利于短小作业又兼顾到长作业的作业调度算法是(C)。

全国计算机二级考试C语言(最全复习资料)

二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。 考试其它比重: 1、C语言程序的结构占总分1% 2、数据类型及其运算占总分4% 3、选择结构程序设计占比分的3% 4、循环结构占比分的5% 5、数组的定义和引用占比分的5% 6、函数占比分的5% 7、编译预处理占比分1% 8、指针占比分的5% 9、结构体占比分的3% 10、位运算占比分的2% 11、文件操作占比分的2% 考试方式 上机考试,时长120分钟 单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题) 第一部分 C语言知识复习资料 第一章C语言基本知识(90分) 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。 【考点3】存储形式 计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 是标识名字的有效字符序列,可以理解为C程序中的单词。 标识符的命名规则是: (1)标识符只能由字母、数字和下划线组成,字母区分大小写。 (2)标识符的第一个字符必须是字母或下划线,不能为数字。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 【考点7】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据 整型常量有十进制、八进制、十六进制三种表示形式,没有二进制形式。八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中不会出现8。 整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned)。一个基本整型占4个字节。其它类型的整型占用字节数和取值范围详见教材第9页。 【考点9】实型数据 实型数据有两种表示形式:小数形式和指数形式。掌握判定指数形式合法性。 口诀:E前E后必有数,E后必须为整数。 实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节。 【考点10】算术运算 算术运算符一共有+、—、*、/、%这五个。求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型即舍掉小数部分。 【考点11】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。 【考点12】赋值 赋值运算符为“=”,不同于关系等于“= =”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。

武汉大学计算机学院linux复习题

复习题 一、单项选择题 1.为了达到使文件的所有者有读(r)和写(w)的许可,而其他用户只能进行只读访问,在设置文件的许可值时,应当设为(B )。 A.566 B.644 C.655 D.744 2.一个文件用十个小格位记录文件的权限,第一个小格代表文件类型。“d”表示(A )。A.目录文件B.设备文件C.符号链接文件D.硬链接文件 3.为了保证系统的安全,现在的Linux系统一般将/etc/passwd文件中的密码域加密后,保存到( D )文件。 A./etc/group B./etc/netgroup C./etc/passwd D./etc/shadow 4./dev/sdc6分区表示(C)。 A.第2块IDE硬盘的第6个分区,是逻辑分区 B.第3块IDE硬盘的第6个分区,是逻辑分区 C.第3块SCSI硬盘的第6个分区,是逻辑分区 D.第3块SCSI硬盘的第2个分区,是逻辑分区 5.要改变文件的拥有权,使用命令(B )。 A.chgrp B.chown C.chsh D.chmod 6.可以把两个文本文件合并成一个文件的命令是(A )。 A.cat B.grep C.find D.cut 7.从后台启动进程,应在命令结尾处加上的符号是(A )。 A.& B.@ C.# D.$ 8.一个进程调用fork系统调用后,会(C )。 A.生成一个进程,从main( )处开始执行B.生成一个线程,从main()开始执行 C.生成一个进程,从fork之后开始执行D.生成一个线程,从fork之后开始执行9.当你在机房上机时,利用所给账号登录到服务器上后,通常出现的Shell提示符是(B )。A.# B.$ C.% D.> 10.为了统计文件系统中未用的磁盘空间,可以使用的命令是(A)。 A.du B.df C.mount D.ln 11.在vi编辑器中,要想回到命令模式,应按(C)键。 A.Alt B.Ctrl C.Esc D.Shift 12.Linux遵循 (C)许可证。 A、POSIX B、GNU C、GPL D、FSF 13.下列不是Linux系统进程类型的是(D)。 A.交互进程B.批处理进程C.守护进程D.就绪进程 14.在Linux系统中,每个进程都有4GB的虚拟地址空间,其中进程的用户态程序占用(B)。 A、0~2GB-1 B、0~3GB-1 C、0~4GB-1 D、3GB~4GB-1 15. Linux文件权限一共10位长度,分成四段,第三段表示的内容是(C)。 A、文件类型 B、文件所有者的权限 C、文件所有者所在组的权限对象 D、其他用户的权限 16.Linux中,内核进程init的进程标识符是(B)。 A、0 B、1 C、2 D、3 17.在I386平台上的Linux系统采用(B)分页机制。 A、一级 B、两级 C、三级 D、四级

武汉大学计算机专业数据仓库及数据挖掘期末考试题

武汉大学计算机学院 2014级研究生“数据仓库和数据挖掘”课程期末考试试题 要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。每张答题纸都要写上姓名和学号。 一、单项选择题(每小题2分,共20分) 1. 下面列出的条目中,()不是数据仓库的基本特征。B A.数据仓库是面向主题的 B.数据仓库是面向事务的 C.数据仓库的数据是相对稳定的 D.数据仓库的数据是反映历史变化的 2. 数据仓库是随着时间变化的,下面的描述不正确的是()。 A.数据仓库随时间的变化不断增加新的数据内容 B.捕捉到的新数据会覆盖原来的快照 C.数据仓库随事件变化不断删去旧的数据内容C D.数据仓库中包含大量的综合数据,这些综合数据会随着时间的变化不断地进行重新综合 3. 以下关于数据仓库设计的说法中()是错误的。A A.数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设计,只能从数据出发进行设计 B.在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型 C.在进行数据仓库主题数据模型设计时要强调数据的集成性 D.在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域 4. 以下关于OLAP的描述中()是错误的。A A.一个多维数组可以表示为(维1,维2,…,维n) B.维的一个取值称为该维的一个维成员 C.OLAP是联机分析处理 D.OLAP是数据仓库进行分析决策的基础 5. 多维数据模型中,下列()模式不属于多维模式。D A.星型模式 B.雪花模式 C.星座模式 D.网型模式 6. 通常频繁项集、频繁闭项集和最大频繁项集之间的关系是()。C A.频繁项集?频繁闭项集?最大频繁项集 B.频繁项集?最大频繁项集?频繁闭项集 C.最大频繁项集?频繁闭项集?频繁项集 D.频繁闭项集?频繁项集?最大频繁项集

最新计算机二级C 考试复习资料(全)

计算机二级C++考试复习资料(全) 一、C++概述 (一) 发展历史 1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。 1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。为次,ANSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。 (二) C和C++ C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。 例如C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C 程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。 C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。 标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。 二、关键字和变量 C++相对与C增加了一些关键字,如下: typename bool dynamic_cast mutable namespace static_cast using catch explicit new virtual operator false private template volatile const protected this wchar_t const_cast public throw friend true reinterpret_cast try bitor xor_e and_eq compl or_eq not_eq bitand 在C++中还增加了bool型变量和wchar_t型变量: 布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。 #include iostream.h int main() { bool flag; flag=true; if(flag) cout< return 0; }

武汉大学计算机学院教学实验报告

武汉大学计算机学院教学实验报告 课题名称:电工实验专业:计算机科学与技术2013 年11 月15 日 实验名称电路仿真实验实验台号实验时数3小时 姓名秦贤康学号2013301500100年级2013 班3班 一、实验目的及实验内容 (本次实验所涉及并要求掌握的知识点;实验内容;必要的原理分析) 实验目的: 熟悉multisim仿真软件的使用 用multisim进行电路仿真,并验证书上的理论知识的正确性 内容:用仿真软件进行实验 二、实验环境及实验步骤 (本次实验所使用的器件、仪器设备等的情况;具体的实验步骤) 实验环境: 一台微机 实验步骤: 用multisim先进行电路仿真,再记录下相关数据 三、实验过程与分析 (详细记录实验过程中发生的故障和问题,进行故障分析,说明故障排除的过程和方法。根据具体实验,记录、整理相应的数据表格、绘制曲线、波形图等)

实验内容及数据记录 1、简单直流电路 简单直流电路在有载状态下电源的电阻、电压和电路 简单直流电路在短路状态下电源的电阻、电压和电路 简单直流电 路在 开路状 态下电源的电阻、电压和电路 2、复杂直 流电路 复杂直流电路中各元件上的电压 复杂直流电路中各元件上的电流 复杂直流电路在E1作用下负载上的电压和电流 复杂直流电路在E2作用下的电压和电流 复杂直流电路在E1与E2作用下的电压和电流 复杂直 流电路 中的等效电阻 R (k Ω) 1 2 3 4 5 I (mA ) 24000 24000 24000 24000 24000 U (V ) 0.000024 0.000024 0.000024 0.000024 0.000024 R (k Ω) 1 2 3 4 5 I (mA ) 12 6.09 4.011 3.011 2.412 U (V ) 11.94 11.997 11.99 8 11.998 11.999 R (k Ω) 1 2 3 4 5 I (mA ) 0.000176 0.000176 0.000176 0.000176 0.000176 U (V ) 12 12 12 12 12 RL (k Ω) 1 2 3 4 5 URL (V ) 6.799 8.497 9.269 9.710 9.995 UR1(V ) 5.198 3.501 2.730 2.289 2.004 UR2(V ) -3.200 -1.502 -0.731 -0.290 -0.005286 UE1(V ) 11.997 11.998 11.999 11.999 11.999 UE2(V ) 9.999 10.000 10.000 10.000 10.000 RL (k Ω) 1 2 3 4 5 IRL (mA ) 6.807 4.258 3.100 2.437 2.209 IR1(mA ) 5.198 3.505 2.733 2.292 2.006 IR2(mA ) -1.603 2.499 --1.999 -1.666 -1.428 IE1(mA ) 5.198 3.505 2.733 2.292 2.006 IE2(mA ) -1.603 -2.501 -2.000 -1.666 -1.428 RL (k Ω) 1 2 3 4 5 UE1(V ) 4.798 5.996 6.540 6.851 7.053 IE1(mA ) 4.803 3.004 2.187 1.720 1.418 RL (k Ω) 1 2 3 4 5 UE2(V ) 2.002 2.501 2.729 2.858 2.942 IE2(mA ) 2.002 1.252 0.911 0.718 0.592 RL (k Ω) 1 2 3 4 5 URL (V ) 6.802 8.497 9.269 9.710 9.995 IRL (mA ) 6.807 4.258 3.100 2.437 2.209 R3(k Ω) 1 2 3 4 5 R6(k Ω) 2 3 4 5 6 R7(k Ω) 3 4 5 6 7 RL (k Ω) -1.603 2.499 --1.999 -1.666 -1.428 URL (V ) 5.198 3.505 2.733 2.292 2.006 IRL (A ) -1.603 -2.501 -2.000 -1.666 -1.428 R3(k Ω) 1 2 3 4 5

武汉大学计算机学院2016-2017数字信号处理试题(含答案)

武汉大学2016-2017学年第二学期课程考试试卷(A 卷) 《数字信号处理》课程 (闭卷) 专业:信息安全 、计算机科学与技术、网络空间安全 年级: 班级: 姓名: 学号: 总分: 一、填空题(每小题3分,共15分) 1、付立叶级数:若x(t)是以T 为周期的函数,则付氏变换可以用付 立叶级数表示为: ,物理含义为: 。 2、采样信号的频域表示(采样脉冲是以T 为周期) 为: ,该表达式的物理意义为: 。 3、在Matlab 中,函数 可以产生一个包含N 个零的行向量,在给定的区间上可以用这个函数产生)(n δ。 4、在Matlab 中,可以利用函数 计算序列的离散时间傅立 叶变换在给定的离散频率点上的抽样值。 5、IIR 滤波器的设计方法,一般分为 、 和 这三种。 二、简答题(每小题7分,共35分) 1、简要叙述采样定理。 2、简要叙述数字信号处理的一般过程。 3、离散傅氏变换DFT 的定义。 4、简要给出冲击函数的定义、性质和推广性质。 5、简要分析FFT 的计算量和算法特点。 三、设系统为D n Cx n y +=)()(,判断它是不是线性系统。(5分)

四、已知一长度为16的有限长序列 )25.0sin()(n n x π=,试利用Matlab 计算序列)(n x 的16点和512点DFT 。(10分) 五、已知某LTI 离散系统的系统函数为: 1 1 111)(-----=az z a z H 其中,a 为实数。 (1) 试判断a 值在什么范围内时该系统是因果稳定系统? (2)证明该系统是一个全通系统(即频率响应的幅度特性为一常 数)?(10分) 六、现有一频谱分析FFT 处理器。假设要求频率分辨率为Hz F 5≤。 信号的最高频率成分KHz f 25.1max ≤。试求: (1) 采样时间间隔T ; (2) 1次记录时间长p t ; (3) 信号记录长度N 。(15分) 七、用双线性变换法设计一个3阶Butterworth 数字低通滤波器。 其截止频率Hz f c 400=,系统采样频率为:KHz f s 2.1=。(10分) (附注:3阶Butterworth 模拟原型低通滤波器1 )(2)(2)(1)(23+++=c c c s s s s H ωωω )

全国计算机等级考试二级笔试样卷C语言程序设计(含答案)

全国计算机等级考试二级笔试样卷C语言程序设计 【打印】【字体:大中小】【关闭】 一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列选项中不符合良好程序设计风格的是 A)源程序要文档化B)数据说明的次序要规范化 C)避免滥用goto语句D)模块设计要保证高耦合、高内聚 (2)从工程管理角度,软件设计一般分为两步完成,它们是 A)概要设计与详细设计B)数据设计与接口设计

C)软件结构设计与数据设计 D)过程设计与数据设计 (3)下列选项中不属于软件生命周期开发阶段任务的是 A)软件测试B)概要设计 C)软件维护 D)详细设计 (4)在数据库系统中,用户所见的数据模式为 A)概念模式B)外模式C)内模式D)物理模式 (5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段 D)物理设计 (6)设有如下三个关系表 R S T

下列操作中正确的是 A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S (7)下列叙述中正确的是 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 (8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7 (9)数据库技术的根本目标是要解决数据的

武汉大学计算机学院2007级数据库期末试卷A

武汉大学计算机学院 2008—2009学年度第二学期 2007年级 《数据库原理》期末考试试题 (A) 班号姓名学号 注:所有的答题内容必须写在答题纸上,本试题和答题纸一起上交。 一、单项选择题(每小题1分,共15分) 1.关系模式的设计任务是在阶段进行的。 A. 逻辑设计 B. 物理设计 C. 概念设计 D. 数据库实施 2. E-R图是数据库设计的工具之一,它一般适用于建立数据库的 A. 概念模型 B. 结构模型 C. 物理模型 D. 逻辑模型 3.当局部E-R图合并成全局E-R图时,可能出现冲突,下列不属于这种冲突的是 A. 属性冲突 B. 语法冲突 C. 结构冲突 D. 命名冲突 4. SQL语言提供用于实现数据存取安全性的语句是 A. CREATE TABLE B. COMMIT C. GRANT、REVOKE D. ROLLBACK 5. 关系规范化中所介绍的删除操作异常是指 A. 不应该删除数据被删除 B. 不应该插入数据被插入 C. 应该删除数据未被删除 D. 应该插入数据未被插入 插入异常:选D ?6. 若关系模式R中的属性全部是主属性,则R的最高范式必定是 A. 1NF B. 2NF C. 3NF D. BCNF 7. 当B属性函数依赖于A属性,则属性A与B的联系为 A. 1对多 B. 多对1 C. 多对多 D. 无联系 函数依赖表达了属性间的多对一的联系 8. 建立索引的目的是 A.减少存储空间 B. 减少冗余 C.减少输入输出 D. 提高存取速度 9.数据模型的三要素是 A. 外模式、模式和内模式 B. 关系模型、层次模型、网状模型 C. 实体、属性和联系 D. 数据结构、数据操作和完整性约束 10.在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为 A. 外码 B. 候选码 C. 主码 D. 超码 11. 数据独立性是指 A. 数据之间互不影响 B. 数据的逻辑结构与物理结构相互独立 C. DB的数据结构改变时,不影响应用程序 D. 数据与存储设备之间相互独立 12.在第一个事务以S封锁方式读数据A时,第二个事务对数据A的读方式会遭到失败的是 A. 实现X封锁的读 B. 实现S封锁的读 C. 不加封锁的读 D. 实现共享型封锁的读 13.已知A→C,B→D,那么下列函数依赖不成立的是 A. AB→D B. AB→CD C. A→CD D. A→AC 14.数据库中只存放视图的 A.结构定义 B.对应数据 C.操作描述 D.数据限制 15. 事务的隔离性是由DBMS的实现的。

全国计算机等级考试二级C语言选择题

程序流程图中带有箭头的线段表示的是()。 A) 图元关系 B) 数据流 C) 控制流 D) 调用关系 参考答案:C 【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C)。 结构化程序设计的基本原则不包括()。 A) 多态性 B) 自顶向下 C) 模块化 D) 逐步求精 参考答案:A 【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。 软件设计中模块划分应遵循的准则是()。 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 参考答案:B 【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 在软件开发中,需求分析阶段产生的主要文档是()。 A) 可行性分析报告 B) 软件需求规格说明书 C) 概要设计说明书 D) 集成测试计划 参考答案:B 【解析】A)错误,可行性分析阶段产生可行性分析报告。C)错误,概要设计说明书是总体设计阶段产生的文档。D)错误,集成测试计划是在概要设计阶段编写的文档。B)正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 算法的有穷性是指()。 A) 算法程序的运行时间是有限的 B) 算法程序所处理的数据量是有限的 C) 算法程序的长度是有限的 D) 算法只能被有限的用户使用

【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 参考答案:D 【解析】除了堆排序算法的比较次数是,其他的都是n(n-1)/2。 下列关于栈的叙述正确的是()。 A) 栈按"先进先出"组织数据 B) 栈按"先进后出"组织数据 C) 只能在栈底插入数据 D) 不能删除数据 参考答案:B 【解析】栈是按"先进后出"的原则组织数据的,数据的插入和删除都在栈顶进行操作。 在数据库设计中,将E-R图转换成关系数据模型的过程属于()。 A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段 参考答案:C 【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。 有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为()。 A) 并 B) 自然连接 C) 笛卡尔积 D) 交

武汉大学计算机图形学复习整理

计算机图形学复习整理qfj_2011.1.16 一、图形设备、系统和应用 1、图形系统的组成 图形系统可定义为是计算机硬件、图形输入输出设备、计算机系统软件和图形软件的集合。 一个计算机图形系统起码应具有计算、存储、对话、输入、输出等5个功能。 2、颜色查找表P16 为避免帧缓存的增加,采用颜色查找表来提高灰度级别。帧缓存中数据为颜色查找的索引,颜色查找表必须有2N项,每一项具有W位字宽。当W大于N时,可有2W灰度等级,但每次只有2N个不同灰度等级可用。若要使用2N种以外的灰度等级,需改变颜色查找表中的内容。 1、标准化的作用(1)方便不同系统间的数据交换;(2)方便程序移植;(3)硬件隔离,实现图形 系统的硬件无关性。 2、图形标准的组成、分类 (1)面向图形设备标准:计算机图形元文件(CGM) ,(CRT,绘图仪,打印机,…);计算机图形接口(CGI) ,(设备驱动程序) (2)面向图形软件标准:官方标准(标准组织制定的标准):GKS(Graphical Kernel System) ,PHIGS(Programmer’s Hierarchical Interactive Graphics System) ,其它数据标准 工业标准(事实上的标准):SGI 等公司的OpenGL ,微软公司的DirectX ,Adobe 公司的PostScript 等等 (3)文件格式标准:基本图形转换规范(IGES );产品数据转换规范(STEP ) 1、用户接口的常用形式P130 (1)子程序库:这种形式的基本思想是选择一种合适的高级程序设计语言(如C,C++,Fortran等)作为主语言,用此主语言扩展一系列的过程或函数调用,用以实现有关的图形设计和处理。 GKS ,OpenGL 等 优点:使用方便、便于扩充、便于将用户自己编写的源程序或目标代码加入相应的子程序中,并且可以充分利用高级语言本身具有的功能。 不足:但需要用户熟悉某种通用程序设计语言,修改麻烦,不形象直观。 (2)专用语言:一般为解释性的语言。PostScript ,VRML 等 (3)交互命令:图形界面或命令行方式,进行人机交互。常用操作:增、删、改操作(常用三表结构实现) 2、输入控制 (1)请求方式(程序初始化设备,即输入设备的初始化是在应用程序中设置的。) 缺点:效率低,不能同时工作。 (2)取样方式(程序和设备同时工作) 优点:该模式不像请求模式那样要求用户有一明显的动作,它对连续的信息流输入比较方便,也可同时处理多个输入设备的输入信息。 缺点:当处理某一种输入耗费的时间较长时,可能会失掉某些输入信息。 (3)事件方式(设备初始化程序):输入设备和程序独立运行。 2、区域填充(边界的处理应注意的问题,活化边表算法,种子点,连通区域的 概念及其边界条件) (1)边界的处理应注意的问题

相关文档
最新文档