模拟试题14.docx

上传人:b****6 文档编号:8882393 上传时间:2023-02-02 格式:DOCX 页数:23 大小:32.24KB
下载 相关 举报
模拟试题14.docx_第1页
第1页 / 共23页
模拟试题14.docx_第2页
第2页 / 共23页
模拟试题14.docx_第3页
第3页 / 共23页
模拟试题14.docx_第4页
第4页 / 共23页
模拟试题14.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

模拟试题14.docx

《模拟试题14.docx》由会员分享,可在线阅读,更多相关《模拟试题14.docx(23页珍藏版)》请在冰豆网上搜索。

模拟试题14.docx

模拟试题14

BDACDCABCADBADCABCCABAABABABBCBADDAAABDA

一、选择题

在下列各题的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)对下列二叉树进行前序遍历的结果为

A)DYBEAFCZX

B)YDEBFZXCA

C)ABDYECFXZ

D)ABCDEFXYZ

(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为

A)n+1

B)n-1

C)2n

D)n/2

(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是

A)并

B)交

C)投影

D)笛卡儿乘积

(9)在E-R图中,用来表示实体之间联系的图形是

A)矩形

B)椭圆形

C)菱形

D)平行四边形

(10)下列叙述中错误的是

A)在数据库系统中,数据的物理结构必须与逻辑结构一致

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库设计是指在已有数据库管理系统的基础上建立数据库

D)数据库系统需要操作系统的支持

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

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

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

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

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

(12)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是

A)大写字母

B)连接符

C)数字字符

D)下划线

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

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

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

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

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

(14)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:

□代表空格字符)

A)10□X□20□Y<回车>

B)10□X20□Y<回车>

C)10□X<回车>

20□Y<回车>

D)10X<回车>

20Y<回车>

(15)若有代数式

(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是

A)sqrt(abs(n^x+e^X))

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(X)))

D)sqrt(fabs(pow(x,n)+exp(x)))

(16)设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是

A)k++

B)k+=1

C)++k

D)k+1

(17)有以下程序,其中%u表示按无符号整数输出

main()

{unsignedintx=0xFFFF;/*x的初值为十六进制数*/

printf("%u\n",x);

}

程序运行后的输出结果是

A)-1

B)65535

C)32767

D)0xFFFF

(18)设变量x和y均已正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是

A)if(x++);

B)if(x>y&&y!

=0);

C)if(x>0)x--

elsey++;

D)if(y<0){;}

elsex++;

(19)以下叙述中正确的是

A)break语句只能用于switch语句体中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

(20)有以下程序

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:

n+=1;k--;break;

default:

n=0;k--;

case2:

case4:

n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

程序运行后的输出结果是

A)235

B)0235

C)02356

D)2356

(21)有以下程序

main()

{inti,j;

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

{for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);

printf("\n");

}

}

程序运行后的输出结果是

A)1*1=11*2=21*3=3B)1*1=11*2=21*3=3

2*1=22*2=42*2=42*3=6

3*1=33*3=9

C)1*1=1D)1*1=1

1*2=22*2=42*1=22*2=4

1*3=32*3=63*3=93*1=33*2=63*3=9

(22)以下合法的字符型常量是

A)′\x13′

B)′\081′

C)′65′

D)"\n"

(23)在C语言中,函数返回值的类型最终取决于

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主调函数所传递的实参类型

D)函数定义时形参的类型

(24)有以下函数

intfun(char*s)

{char*t=s;

while(*t++);

return(t-s);

}

该函数的功能是

A)比较两个字符串的大小

B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度

D)将s所指字符串复制到字符串t中

(25)有以下程序

#include

main()

{intn,*p=NULL;

*p=&n;

printf("Inputn:

");scanf("%d",&p);printf("outputn:

");printf("%d\n",p);

}

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是

A)intn,*p=NULL;

B)*p=&n;

C)scanf("%d",&p)

D)printf("%d\n",p);

(26)以下程序中函数f的功能是:

当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。

voidf(intb[],intn,intflag)

{inti,j,t;

for(i=0;i

for(j=i+1;j

if(flag?

b[i]>b[j]:

b[i]

}

main()

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

f(&a[2],5,0);f(a,5,1);

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

}

程序运行后的输出结果是

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

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

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

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

(27)有以下程序

main()

{inta[4][4]={{l,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,

(28)有以下程序

main()

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

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

for(k=i+l;k<4;k++)if(a[i][i]

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

}

程序运行后的输出结果是

A)6,2,1,1,

B)6,4,3,2,

C)1,1,2,6,

D)2,3,4,6,

(29)有以下程序

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

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

f(a);

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

}

程序运行后的输出结果是

A)2,2,3,4,5,

B)6,2,3,4,5,

C)1,2,3,4,5,

D)2,3,4,5,6,

(30)有以下程序

#include

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcpy(p+strlen(q),r);strcat(p,q);

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

}

程序运行后的输出结果是

A)209

B)99

C)2011

D)1111

(31)有以下程序

#include

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcat(p,r);strcpy(p+strlen(q),q);

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

}

程序运行后的输出结果是

A)9

B)6

C)11

D)7

(32)有以下程序

voidf(intn,int*r)

{intrl=0;

if(n%3==0)r1=n/3;

elseif(n%5==0)r1=n/5;

elsef(--n,&r1);

*r=r1;

}

main()

{intm=7,r;

f(m,&r);printf("%d",r);

}

程序运行后的输出结果是

A)2

B)1

C)3

D)0

(33)有以下程序

main(intargc,char*argv[])

{intn=0,i;

for(i=l;i

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

}

编译连接后生成可执行文件tt.exe。

若运行时输入以下命令行

tt12345678

程序运行后的输出结果是

A)12

B)12345

C)12345678

D)136

(34)有一个名为init.txt的文件,内容如下:

#defineHDY(A,B)A/B

#definePRINT(Y)printf("y=%d\n",Y)

有以下程序

#include"init.txt"

main()

{inta=1,b=2,c=3,d=4,k;

k=HDY(a+c,b+d);

PRINT(k);

}

下面针对该程序的叙述正确的是

A)编译出错

B)运行出错

C)运行结果为y=0

D)运行结果为y=6

(35)有以下程序

main()

{charch[]="uvwxyz",*pc;

pc=ch;printf("%c\n",*(pc+5));

}

程序运行后的输出结果是

A)z

B)0

C)元素ch[5]的地址

D)字符y的地址

(36)有以下程序

structS{intn;inta[20];};

voidf(structS*p)

{inti,j,t;

for(i=0;in-1;i++)

for(j=i+1;jn;j++)

if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}

}

main()

{inti;structSs={10,{2,3,l,6,8,7,5,4,10,9}};

f(&s);

for(i=0;i

}

程序运行后的输出结果是

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

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

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

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

(37)有以下程序

structS{intn;inta[20];};

voidf(int*a,intn)

{inti;

for(i=0;i

}

main()

{inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};

f(s.a,s.n);

for(i=0;i

}

程序运行后的输出结果是

A)2,4,3,9,12,12,11,11,18,9,

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

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

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

(38)有以下程序

main()

{unsignedchara=2,b=4,c=5,d;

d=a|b;d&=c;printf("%d\n",d);}

程序运行后的输出结果是

A)3

B)4

C)5

D)6

(39)有以下程序

#include

main()

{FILE*fp;intk,n,a[6]={1,2,3,4,5,6};

fp=fopen("d2.dat","w");

fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

fclose(fp);

fp=fopen("d2.dat","r");

fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

fclose(fp);

}

程序运行后的输出结果是

A)12

B)14

C)1234

D)123456

(40)有以下程序

#include

main()

{FILE*fp;inti,a[6]={l,2,3,4,5,6};

fp=fopen("d3.dat","w+b");

fwrite(a,sizeof(int),6,fp);

fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/

fread(a,sizeof(int),3,fp);fclose(fp);

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

}

程序运行后的输出结果是

A)4,5,6,4,5,6,

B)1,2,3,4,5,6,

C)4,5,6,1,2,3,

D)6,5,4,3,2,1,

 

二、填空题

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

(1)在深度为7的满二叉树中,度为2的结点个数为【1】。

(2)软件测试分为白箱(盒)测试和黑箱(盒)测试。

等价类划分法属于【2】测试。

(3)在数据库系统中,实现各种数据管理功能的核心软件称为【3】。

(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。

编码和测试属于【4】阶段。

(5)在结构化分析使用的数据流图(DFD)中,利用【5】对其中的图形元素进行确切解释。

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

main()

{inta=10;

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

}

(7)当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【7】次。

#include

main()

{charch;

while((ch=getchar())==′0′)printf("#");

}

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

intk=0;

voidfun(intm)

{m+=k;k+=m;printf("m=%dk=%d",m,k++);}

main()

{intI=4;

fun(I++);printf("I=%dk=%d\n",I,k);

}

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

main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:

switch(b<0)

{case1:

printf("@");break;

case2:

printf("!

");break;

}

case0:

switch(c==5)

{case0:

printf("*");break;

case1:

printf("#");break;

case2:

printf("$");break;

}

default:

printf("&");

}

printf("\n");

}

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

#include

main()

{printf("%d\n",strlen("IBM\n012\1\\"));}

(11)设有定义语句:

inta[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【13】。

(12)以下程序的功能是:

利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。

请填空。

main()

{intx,y,z,max,*px,*py,*pz,*pmax;

scanf("%d%d%d",&x,&y,&z);

px=&x;py=&y;pz=&z;pmax=&max;

【16】;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax=*pz;

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

}

(13)以下程序的输出结果是【17】。

intfun(int*x,intn)

{if(n==0)returnx[0];

elsereturnx[0]+fun(x+1,n-1);

}

main()

{inta[]={1,2,3,4,5,6,7};printf("%d\n",fun(a,3));}

(14)以下程序的输出结果是【18】。

#include

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

(15)设有说明

structDATE{intyear;intmonth;intday;};

请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:

【19】。

 

一、选择题

(1)B

解析:

根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。

算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。

(2)D

解析:

在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块划分的原则。

(3)A

解析:

软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。

(4)C

解析:

面向对象程序设计的3个主要特征是:

封装性、继承性和多态性。

(5)D

解析:

队列是一种操作受限的线性表。

它只允许在线性表的一端进行插入操作,另一端进行删除操作。

其中,允许插入的一端称

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

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1