计算机二级全真模拟试题.docx

上传人:b****6 文档编号:7051631 上传时间:2023-01-16 格式:DOCX 页数:19 大小:36.22KB
下载 相关 举报
计算机二级全真模拟试题.docx_第1页
第1页 / 共19页
计算机二级全真模拟试题.docx_第2页
第2页 / 共19页
计算机二级全真模拟试题.docx_第3页
第3页 / 共19页
计算机二级全真模拟试题.docx_第4页
第4页 / 共19页
计算机二级全真模拟试题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

计算机二级全真模拟试题.docx

《计算机二级全真模拟试题.docx》由会员分享,可在线阅读,更多相关《计算机二级全真模拟试题.docx(19页珍藏版)》请在冰豆网上搜索。

计算机二级全真模拟试题.docx

计算机二级全真模拟试题

第2套全真模拟试卷

一、选择题

(1)下列选项中不属于算法的特性的是

A)确定性B)可行性C)有输出D)无穷性

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

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

C)线性链表是非线性结构D)二叉树是线性结构

(3)设有下列二叉树:

对此二叉树中序遍历的结果为

A)ABCDEFB)DAECFC)BDAECFD)DBEFCA

(4)结构化程序设计主要强调的是

A)程序的规模B)程序的易读性

C)程序的执行效率D)程序的可移植性

(5)在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的

A)分类性B)标识唯一性C)多态性D)封装性

(6)用黑盒技术测试用例的方法之一为

A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试

(7)在进行单元测试时,常用的方法是

A)采用白盒测试,辅之以黑盒测试B)采用黑盒测试,辅之以白盒测试

C)只使用白盒测试D)只使用黑盒测试

(8)下面四个选项中,不属于数据库管理系统提供的数据语言的是

A)数据定义语言B)数据查询语言

C)数据操纵语言D)数据控制语言

(9)在关系数据库模型中,通常可以把()称为属性,其值称为属性值。

A)记录B)基本表C)模式D)字段

(10)实体联系模型中实体与实体之间的联系不可能是

A)一对一B)多对多C)一对多D)一对零

(11)用C语言编写的代码程序

A)可立即执行B)是一个源程序

C)经过编译即可执行D)经过编译解释即可执行

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

A)C语言的源程序不必通过编译就可以直接执行

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C)C源程序经编译形成的二进制代码可以直接运行

D)C语言中的函数不可以单独进行编译

(13)以下定义语句中正确的是

A)chara=´A´b´B´;B)floata=b=10.0;

C)inta=10,*b=&a;D)float*a,b=&a;

(14)有以下程序:

main()

{inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);

printf(*%d%d%3%3.1f%3.1f\n",ac,f,x);

}

程序运行后的输出结果是

A)16516.5B)1651.56.5

C)1651.06.5D)2651.56.5

(15)数据库设计的根本目标是要解决

A)数据共享问题B)数据安全问题

C)大量数据存储问题D)简化数据维护

(16)设有定义:

floata=2,b=4,h=3;,以下C语言表达式中与代数式1(a+b)h计算结果不相

2

符的是

A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)

(17)有以下程序

main()

{

intm=0256,n=256;

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

}

程序运行后的输出结果是

A)02560400B)0256256C)256400D)400400

(18)数据库系统的核心是

A)数据模型B)数据库管理系统C)数据库D)数据库管理员

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

A)用户所定义的标识符允许使用关键字

B)用户所定义的标识符应尽量做到“见名知意”

C)用户所定义的标识符必须以字母或下划线开头

D)用户定义的标识符中,大、小写字母代表不同标识

(20)有以下程序:

main()

{

chark;inti;

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

}

scanf("%c",&k);

switch(k)

{

case´0´:

printf("another\n");

case´1´:

printf("number\n");

}

}

}

程序运行时,从键盘键入:

01<回车>,程序执行后的输出结果是

A)anotherB)anotherC)anotherD)number

numbernumbernumbernumber

anothernumber

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

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要有输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

(22)有以下程序

main()

{inti=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s+=i;

}while(i<7);

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

}

执行后输出的结果是

A)16B)12C)28D)21

(23)已定义ch为字符型变量,以下赋值语句中错误的是

A)ch=´\´;B)ch=62+3;C)ch=NULL;D)ch=´\xaa´;

(24)有以下程序

main()

{chara,b,c,d;

scanf("%c,%c,%d,%d",&a,&b,&c,&d);

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

}

若运行时从键盘上输入:

6,5,65,66<回车>。

则输出结果是

A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6

(25)以下能正确定义二维数组的是

A)inta[][3];B)inta[][3]={2*};C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4};

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

#include

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}

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

}

A)21B)32C)33D)11

(27)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是

A)int*i=NULL;B)float*f=NULL;

scanf(%d",i);*f=10.5

C)chart=´m´,*c=&t;D)long*L;

*c=&t;L=´\0´;

(28)有以下程序:

#include

main()

{printf("%d\n",NULL);}

程序运行后的输出结果是

A)0B)1C)-1D)NULL没定义,出错

(29)有以下程序

main()

{char*s[]={"one","two","three"},*p;

p=s[1];

printf("%c,%s\n",*(p+1),s[0];

}

执行后输出结果是

A)n,twoB)t,oneC)w,oneD)o,two

(30)以下不能正确定义二维数组的选项是

A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4};

C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}};

(31)设有定义:

inta=2,b=3,c=4;,则以下选项中值为0的表达式是

A)(!

a==1)&&(!

b==0)B)(a>b)&&!

c||1

C)a&&bD)a||(b+b)&&(c-a)

(32)设有以下定义和语句

inta[3][2]={1,2,3,4,5,6},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是

A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]

(33)有以下程序

main()

{

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

inti,s=0

for(i=0;i<4;i++)s+=aa[i][1];

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

}

程序运行后的输出结果是

A)11B)19C)13D)20

(34)有以下程序

intf1(intx,inty){returnx>y?

x:

y;}

intf2(intx,inty){returnx>y?

y:

x;}

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf("%d,%d,%d\n",e,f,g);

}

程序运行后的输出结果是

A)4,3,7B)3,4,7C)5,2,7D)2,5,7

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

的程序段是

A)f=0;B)f=1;

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

C)f=1;D)f=1;

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

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

A)全局变量的作用域一定比局部变量的作用域范围大

B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

(37)设有以下语句

typedefstructs

{intg.charh;}T;

则下面叙述中正确的是

A)可用S定义结构体变量B)可以用T定义结构体变量

C)S是struct类型的变量D)T是structs类型的变量

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

A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B)数组名代表的是数组所占存储区的首地址,其值不可改变

C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D)可以通过赋初值饿方式确定数组元素的个数

(39)有以下程序

intfa(intx)

{returnx*x;}

intfb(intx)

{returnx*x*x;}

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)=f1(x);}

main()

{inti;

i=f(fa,fb,2);printf("%d\n",i);

}

程序运行后的输出结果是

A)-1B)1C)4D)8

(40)有以下程序

structs

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

main()

{structx*p=data;

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

}

程序运行后的输出结果是

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

(41)有以下程序

voidss(char*s,chart)

{

while(*s)

{

if(*s==t)*s=t-´s´+´A´;

s++;

}

}

main()

{

charstrl[100]="abcddfefdbd",c=´d´;

ss(strl,c);printf("%s\n",strl);

}

程序运行后的输出结果是

A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd

(42)有以下程序

main(intargc,char*srgv[])

{intn,i=0;

while(atgv[1][i]!

=´\0´)

{n=fun();i++;}

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

}

intfun()

{structints=0;

s+=1;

returns;

}

假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令

exam123<回车>

则运行结果为

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

(43)已定义以下函数:

fun(char*p2,char*p1)

{while((*p2=*p1!

=´\0´){p1++;p2++})

函数的功能是

A)将p1所指字符串复制到p2所指内存空间

B)将p1所指字符串的地址赋给指针p2

C)对p1和p2两个指针所指字符串进行比较

D)检查p1和p2两个指针所指字符串中是否有´\0´

(44)有以下程序

main()

{

intx[]=(1,3,5,7,2,4,6,0),i,j,k;

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

for(j=2;j>=i;j--)

if(x[j+1]>x[j])

{

k=x[j];

x[j]=x[j+1];

x[j+1]=k;

}

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

for(j=4;j<7-i;j++)

if(x[j]>x[j+1])

{

k=x[j];

x[j]=x[j+1];

x[j+1]=k;

}

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

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

printf("\n");

}

程序运行后的输出结果是

A)75310246B)01234567C)76310462D)13570246

(45)设有如下定义

structss

{charname[10];

intage;

charsex;

}std[3],*p=std;

下面各输入语句中错误的是

A)scanf("%d",&(*p).age);B)scanf("%s",&std.name);

C)scanf("%c",&std[0].sex);D)scanf("%c",&(p->sex));

(46)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个

连续结点。

structnode

{

intdata;

structnode*next;

}*p,*q,*r;

datanextdatanextdatanext

↑p↑q↑r

现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段

A)r->next=q;q->next=r->next;p->next=r;

B)q->next=r->next;p->next=r;r->next=q;

C)p->next=r;q->next=r->next;r->next=q;

D)q->next-r->next;r->next=q;p->next=r

(47)以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。

#include

voidf(charp[][10],intn)

{

chart[20];inti,j;

for(i=0;i

for(j=i+1;j

if(strcmp(p[i],p[j])<0)

{strcpy(t,p[i]),strcpy(p[i],p[j]);strcpy(p[j],t);}

}

main()

{

charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti;

f(p,5);printf("%d\n",strlen(p[0]));

}

程序运行后的输出结果是

A)6B)4C)5D)3

(48)~(50)以下程序的功能是:

建立一个带有头结点的单向链表,并将存储在数组中的

字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。

#include

structnode

{chardata;structnode*next;}

(48)CreatList(char*s)

}

structnode*h,*p,*q;

h=(structnode*)malloc(sizeof(structnode));

p=q=h;

while(*s!

=´\0´)

{

p=(structnode*)malloc(sizeod(structnode));

p->data=(49);

q->next=p;

q=(50);

s++;

}

p->next=´\0´;

returnh;

}

main()

}

charstr[]="linklist";

structnode*head;

head=CreatList(str);

...

}

(48)A)char*B)structnodeC)sructnode*D)char

(49)A)*sB)sC)*s++D)(*s)++

(50)A)p->nextB)pC)sD)s->next

二、填空题

(1)算法的复杂度主要包括空间复杂度和_________复杂度。

(2)在面对对象方法中,类的实例称为_______。

(3)对于软件测试,从是否需要执行被测软件的角度,可以分为静态测试和动态测试。

码检查属于_____测试。

(4)实体联系模型是一种常用的高级概念数据模型,而______是实体联系模型中的核心。

(5)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______。

(6)若有语句

inti=-19,j=i%4;

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

则输出的结果是______。

(7)以下程序运行后的输出结果是_______。

#includeS(x)4*x*x+1

main()

{inti=6,j=8;

printf("%d\n",S(i+j));

}

(8)以下程序的输出结果是_______。

main()

{inta=0;

a+=(a=8);

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

}

(9)若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a

if(a

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

}

执行后输出的结果为_________。

(10)以下程序的功能是计算:

s=1+12+123+1234+12345。

请填空。

main()

{intt=0,s=0,i;

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

{t=i+_____;s=s+t;}

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

}

(11)若有以下程序

main()

{chara;

a=´H´-´A´+´0´;

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

}

执行后输出结果是________。

(12)以下程序的输出结果是________。

main()

{char*p="abcdefgh",*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

printf("%s\n",r);

}

(13)以下程序中,for循环体执行的次数是_________。

#defineN2

#defineMN+1

#defineKM+1*M/2

main()

{

inti;

for(i=1;i

{...}

...

}

(14)以下程序通过函数SunFun求∑

0f(x)。

这里f(x)=x2+1,由F函数实现。

请填空

main()

{

printf("Thesum=%d\n",SunFun(10));

}

SunFun(intn)

}

intx,s=0;

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

s+=F(_______);

returns;

}

F(intx)

}

return(_______);

}

(15)以下程序运行后的输出结果是_________。

structNODE

{

intnum;

structNODE*next;

};

main()

{structNODEs[3]={{1,´\0´},{2,´\0´},{3,´\0´}},*p,*q,*r;

intsum=0;

s[0].next=s+1;

s[1].next=s+2;

s[2].next=s;

p=s;

q=p->next;

r=q->next;

sum+=r->next->next->num;

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

}

(16)以下程序中,select函数的功能是:

在N行M列的二维数组中,选出一个最大值作

为函数值返回,并通过形参传回此最大值所在的行下标。

请填空。

#defineN3

#defineM3

selecr(inta[N][M],int*n)

{inti,j,row=1,colum=1;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][colum]){row=i;colum=j;}

*n=_______;

return_______;

}

main()

{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;

max=select(a,&n);

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

}

(17)设有以下定义

stuctss

{intinfo;structss*link;}x,y,z;

且已建立如下图所示链表结构:

xyz

请写出删除结点y的赋值语句________。

(18)已有文本文件tes

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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