模拟试题8.docx

上传人:b****3 文档编号:10959559 上传时间:2023-05-28 格式:DOCX 页数:34 大小:33.35KB
下载 相关 举报
模拟试题8.docx_第1页
第1页 / 共34页
模拟试题8.docx_第2页
第2页 / 共34页
模拟试题8.docx_第3页
第3页 / 共34页
模拟试题8.docx_第4页
第4页 / 共34页
模拟试题8.docx_第5页
第5页 / 共34页
模拟试题8.docx_第6页
第6页 / 共34页
模拟试题8.docx_第7页
第7页 / 共34页
模拟试题8.docx_第8页
第8页 / 共34页
模拟试题8.docx_第9页
第9页 / 共34页
模拟试题8.docx_第10页
第10页 / 共34页
模拟试题8.docx_第11页
第11页 / 共34页
模拟试题8.docx_第12页
第12页 / 共34页
模拟试题8.docx_第13页
第13页 / 共34页
模拟试题8.docx_第14页
第14页 / 共34页
模拟试题8.docx_第15页
第15页 / 共34页
模拟试题8.docx_第16页
第16页 / 共34页
模拟试题8.docx_第17页
第17页 / 共34页
模拟试题8.docx_第18页
第18页 / 共34页
模拟试题8.docx_第19页
第19页 / 共34页
模拟试题8.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

模拟试题8.docx

《模拟试题8.docx》由会员分享,可在线阅读,更多相关《模拟试题8.docx(34页珍藏版)》请在冰点文库上搜索。

模拟试题8.docx

模拟试题8

ADBBBBABBBADCADAACDADBCCABDCDACACBBCAACA

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是

A)线性表是线性结构

B)栈与队列是非线性结构

C)线性链表是非线性结构

D)二叉树是线性结构

 

(2)算法的空间复杂度是指

A)算法程序的长度

B)算法程序中的指令条数

C)算法程序所占的存储空间

D)算法执行过程中所需要的存储空间

 

(3)软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指

A)模块间的关系

B)系统结构部件转换成软件的过程描述

C)软件层次结构

D)软件开发过程

 

(4)软件调试的目的是

A)发现错误

B)改正错误

C)改善软件的性能

D)挖掘软件的潜能

 

(5)软件需求分析阶段的工作,可以分为四个方面:

需求获取、需求分析、编写需求规格说明书以及

A)阶段性报告

B)需求评审

C)总结

D)都不正确

(6)程序流程图(PFD)中的箭头代表的是

A)数据流

B)控制流

C)调用关系

D)组成关系

 

(7)下述关于数据库系统的叙述中正确的是

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型的一致

D)数据库系统比文件系统能管理更多的数据

 

(8)将E-R图转换到关系模式时,实体与联系都可以表示成

A)属性B)关系C)键D)域

 

(9)关系数据库的任何检索操作都是由三种基本运算组合而成的,这三种基本运算不包括

A)连接B)比较C)选择D)投影

 

(10)设有如下关系表

RST

则下列操作中,正确的是

A)T=R∩SB)T=R∪SC)T=RхSD)T=R/S

(11)对于一个正常运行的C程序,以下叙述中正确的是

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在程序的最后一个函数中结束

D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束

 

(12)以下叙述中错误的是

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

 

(13)以下选项中可作为C语言合法整数的是

A)10110BB)0386C)0XffaD)x2a2

 

(14)执行下面程序中的输出语句后,

main()

{

inta;

printf("%d\n",(a=3*5,a*4),a+5);

}

a的值是

A)15

B)20

C)10

D)60

 

(15)以下程序的输出结果是

main()

{

intk=17;

printf("%d,%o,%x\n",k,k,k);

}

A)17,021,0x11

B)17,17,17

C)17,0x11,021

D)17,21,11

 

(16)有以下程序

#include

main()

{

charc1='1',c2='2';

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:

a<回车>后,以下叙述正确的是

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

 

(17)有以下程序

main()

{intc;

while((c=getchar())!

='\n')

{

switch(c-'2'){

case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;}

}

}

从第一列开始输入以下数据,↙代表一个回车符。

2473↙

程序的输出结果是

A)668977

B)668966

C)66778777

D)6688766

 

(18)要求以下程序的功能是计算:

s=1+1/2+1/3+…+1/10。

main()

{

intn;floats;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是

A)s=1.0;

B)for(n=10;n>1;n--)

C)s=s+1/n;

D)printf("%6.4f\n",s);

 

(19)设变量已正确定义,则以下能正确计算f=n!

的程序段是

A)f=0;for(i=1;i<=n;i++)f*=i;

B)f=1;for(i=1;i

C)f=1;for(i=n;i>1;i++)f*=i;

D)f=1;for(i=n;i>=2;i--)f*=i;

 

(20)有以下程序

main()

{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

for(i=0;i<4;i++)printf("%d,",a[i][i]);

}

程序运行后的输出结果是

A)1,6,5,7,

B)8,7,3,1,

C)4,7,5,2,

D)1,6,2,1,

(21)若有以下说明和语句,请选出哪个是对c数组元素的正确引用

intc[4][5],(*cp)[5];

cp=c;

A)cp+1

B)*(cp+3)

C)*(cp+1)+3

D)*(*cp+2)

 

(22)若有定义:

int*p[3];,则以下叙述中正确的是

A)定义了一个基类型为int的指针变量p,该变量具有三个指针

B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C)定义了一个名为*p的整型数组,该数组含有三个int类型元素

D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

 

(23)有以下程序

#include

main()

{charstr[][20]={"Hello","Beijing"},*p=str;

printf("%d\n",strlen(p+20));

}

程序运行后的输出结果是

A)0B)5C)7D)20

 

(24)请选出以下程序的输出结果

#include

sub(int*s,inty)

{staticintt=3;

y=s[t];t--;

}

main()

{inta[]={1,2,3,4},i,x=0;

for(i=0;i<4;i++){

sub(a,x);printf("%d",x);}

printf("\n");

}

A)1234

B)4321

C)0000

D)4444

 

(25)有以下程序

voidfun(char*a,char*b)

{a=b;(*a)++;}

main()

{charc1='A',c2='a',*p1,*p2;

p1=&c1;p2=&c2;fun(p1,p2);

printf("%c%c\n",c1,c2);

}

程序运行后的输出结果是

A)Ab

B)aa

C)Aa

D)Bb

 

(26)下列函数定义中,会出现编译错误的是

A)max(intx,inty,int*z)

{*z=x>y?

x:

y;}

B)intmax(intx,y)

{intz;

z=x>y?

x:

y;

returnz;}

C)max(intx,inty)

{intz;

z=x>y?

x:

y;return(z);}

D)intmax(intx,inty)

{return(x>y?

x:

y);}

 

(27)有以下程序

voidswap1(intc0[],intc1[])

{intt;

t=c0[0];c0[0]=c1[0];c1[0]=t;

}

voidswap2(int*c0,int*c1)

{intt;

t=*c0;*c0=*c1;*c1=t;

}

main()

{inta[2]={3,5},b[2]={3,5};

swap1(a,a+1);swap2(&b[0],&b[1]);

printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);

}

程序运行后的输出结果是

A)3553

B)5335

C)3535

D)5353

 

(28)有以下程序

voidsort(inta[],intn)

{

inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

}

main()

{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(aa+2,5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf("\n");

}

程序运行后的输出结果是

A)1,2,3,4,5,6,7,8,9,10,

B)1,2,7,6,3,4,5,8,9,10,

C)1,2,7,6,5,4,3,8,9,10,

D)1,2,9,8,7,6,5,4,3,10,

(29)设函数fun的定义形式为

voidfun(charch,floatx){……}

则以下对函数fun的调用语句中,正确的是

A)fun("abc",3.0);

B)t=fun('D',16.5);

C)fun('65',2.8);

D)fun(32,32);

(30)有以下程序

#include

#defineF(x,y)(x)*(y)

main()

{

inta=3,b=4;

printf("%d\n",F(a++,b++));

}

程序运行后的输出结果是

A)12B)15C)16D)20

 

(31)以下程序的输出结果是

main()

{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];

for(i=0;i<4;i+=2)printf("%d",p[i]);

}

A)52

B)51

C)53

D)97

(32)请读程序:

#include

inta[]={2,4,6,8,};

main()

{

inti;

int*p=a;

for(i=0;i<4;i++)a[i]=*p++;

printf("%d\n",a[2]);

}

上面程序的输出结果是

A)6B)8C)4D)2

(33)有以下程序段

main()

{inta=5,*b,**c;

c=&b;b=&a;

}

程序在执行了c=&b;b=&a;语句后,表达式**c的值是

A)变量a的地址

B)变量b中的值

C)变量a中的值

D)变量b的地址

(34)以下选项中,能定义s为合法的结构体变量的是

A)typedefstructABC

{doublea;

charb[10];

}s;

B)struct

{doublea;

charb[10];

}s;

C)structABC

{doublea;

charb[10];

}

ABCs;

D)typedefABC

{doublea;

charb[10];

}

ABCs;

 

(35)有以下程序:

structs

{intx,y;}data[2]={10,100,20,200};

main(){structs*p=data;

printf("%d\n",++(p->x));

}

程序运行后的输出结果是

A)10B)11C)20D)21

(36)有以下程序段

typedefstructNODE

{intnum;structNODE*next;

}OLD;

以下叙述中正确的是

A)以上的说明形式非法

B)NODE是一个结构体类型

C)OLD是一个结构体类型

D)OLD是一个结构体变量

(37)有以下程序

#include

structSTU

{charname[10];

intnum;

};

voidf(char*name,intnum)

{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};

num=s[0].num;

strcpy(name,s[0].name);

}

main(){structSTUs[2]={{"YangSan",20041},{"LiSiGao",20042}},*p;

p=&s[1];f(p->name,p->num);

printf("%s%d\n",p->name,p->num);

}

程序运行后的输出结果是

A)SunDan20042

B)SunDan20044

C)LiSiGuo20042

D)YangSan20041

(38)设有以下语句

chara=3,b=6,c;

c=a^b<<2;

则c的二进制值是

A)00011011

B)00010100

C)00011100

D)00011000

(39)以下叙述中错误的是

A)C语言中对二进制文件的访问速度比文本文件快

B)C语言中,随机文件以二进制代码形式存储数据

C)语句"FILEfp;"定义了一个名为fp的文件指针

D)C语言中文本文件以ASCII码形式存储数据

(40)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为

A)0B)1C)-1D)一个非0值

 

二、填空题

请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

(1)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是【1】。

(2)在最坏情况下,堆排序需要比较的次数为【2】。

(3)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是【3】。

(4)从工程管理角度,软件设计一般分为两步完成,它们是【4】。

(5)用二维表的形式来表示实体之间联系的数据模型叫做【5】。

(6)以下程序运行后的输出结果是___【6】___。

main()

{intp=30;

printf("%d\n",(p/3>0?

p/10:

p%3));

}

 

(7)以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。

例如,输入字符串:

abc123edf456gh,执行程序后输出:

123456。

请填空。

#include

#include

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!

='\0';i++)

if(【7】){d[j]=s[i];j++;}

d[j]='\0';

puts(d);

}

(8)以下程序运行后的输出结果是【8】。

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf("%d%d%d\n",a,b,c);

}

 

(9)以下程序运行后的输出结果是【9】。

main()

{inti,n[]={0,0,0,0,0};

for(i=1;i<=4;i++)

{n[i]=n[i-1]*2+1;

printf("%d",n[i]);

}

}

 

(10)以下程序运行后的输出结果是【10】。

(注:

如果结果中含有回车,可加一空格写在一行,例如:

111

111

111可以写成111111111)

main()

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

for(i=0;i<3;i++)

for(j=i+1;j<3;j++)a[j][i]=0;

for(i=0;i<3;i++)

{for(j=0;j<3;j++)printf("%d",a[i][j]);

printf("\n");

}

}

 

(11)以下程序运行后的输出结果是【11】。

#include

main()

{charch[]="abc",x[3][4];inti;

for(i=0;i<3;i++)strcpy(x[i],ch);

for(i=0;i<3;i++)printf("%s",&x[i][i]);

printf("\n");

}

(12)请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。

【12】(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf(%1f\n",max(x,y));

}

doublemax(doublea,doubleb)

{return(a>b?

a:

b);}

 

(13)以下程序的功能是调用函数fun计算:

m=1-2+3-4+…+9-10,并输出结果。

请填空。

intfun(intn)

{intm=0,f=1,i;

for(i=1;i<=n;i++)

{m+=i*f;

f=【13】;

}

returnm;

}

main(){printf("m=%d\n",_【14】);}

 

(14)已有定义如下:

structnode

{intdata;

structnode*next;

}*p;

以下语句调用malloc函数,使指针p指向一个具有structnode类型的动态存储空间。

请填空。

p=(structnode*)malloc(___【15】___);

 

一、选择题

(1)A

【解析】根据数据结构中各数据元素之间前后间关系的复杂程度,一般将数据结构分为两大类型:

线性结构与非线性结构。

如果一个非空的数据结构满足下列两个条件:

(1)有且只有一个根结点;

(2)每一个结点最多有一个前件,也最多有一个后件。

则称该数据结构为线性结构,又称线性表。

所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

 

(2)D

【解析】一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

 

(3)B

【解析】软件设计包括软件结构设计、数据设计、接口设计和过程设计。

其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程描述。

 

(4)B

【解析】由程序调试的概念可知:

程序调试活动由两部分组成,其一,根据错误的迹象确定程序中错误的确切性质、原因和位置;其二,对程序进行修改,排除这个错误。

所以程序调试的目的就是诊断和改正程序中的错误。

 

(5)B

【解析】软件需求分析阶段的工作,可以概括为四个方面:

需求获取、需求分析、编写需求规格说明书和需求评审。

需求获取的目的是确定对目标系统的各方面需求。

涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。

(6)B

【解析】程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。

 

(7)A

【解析】由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。

数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。

所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同副本处有不同的值。

 

(8)B

【解析】关系是由若干个不同的元组所组成,因此关系可视为元组的集合,将E-R图转换到关系模式时,实体与联系都可以表示成关系。

 

(9)B

【解析】查询过程的查询表达式用到的关系运算有:

选择、投影、连接。

选择:

从关系模式中找出满足给定条件的元组的操作称为选择。

投影:

从关系模式中指定若干个属性组成新的关系称为投影。

连接:

将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足条件的元组。

 

(10)B

【解析】从图中可以看出,关系T是关系R和关系S的简单合并,而合并的符号为∪,所以答案为T=R∪S。

 

(11)A

【解析】本题考查的是C语言的函数。

在C语言中,所有的函数定义,包括主函数main在内,都是平行的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2