计算机二级vb选择题.docx
《计算机二级vb选择题.docx》由会员分享,可在线阅读,更多相关《计算机二级vb选择题.docx(126页珍藏版)》请在冰豆网上搜索。
计算机二级vb选择题
第一套
1.程序流程图中带有箭头的线段表示的是( )。
A)图元关系
B)数据流
C)控制流
D)调用关系
参考答案:
C
2.结构化程序设计的基本原则不包括( )。
A)多态性
B)自顶向下
C)模块化
D)逐步求精
参考答案:
A
3.软件设计中模块划分应遵循的准则是( )。
A)低内聚低耦合
B)高内聚低耦合
C)低内聚高耦合
D)高内聚高耦合
参考答案:
B
4.在软件开发中,需求分析阶段产生的主要文档是( )。
A)可行性分析报告
B)软件需求规格说明书
C)概要设计说明书
D)集成测试计划
参考答案:
B
5.算法的有穷性是指( )。
A)算法程序的运行时间是有限的
B)算法程序所处理的数据量是有限的
C)算法程序的长度是有限的
D)算法只能被有限的用户使用
参考答案:
A
6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A)快速排序
B)冒泡排序
C)直接插入排序
D)堆排序
参考答案:
D
7.下列关于栈的叙述正确的是( )。
A)栈按"先进先出"组织数据
B)栈按"先进后出"组织数据
C)只能在栈底插入数据
D)不能删除数据
参考答案:
B
8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
A)需求分析阶段
B)概念设计阶段
C)逻辑设计阶段
D)物理设计阶段
参考答案:
C
9.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
A)需求分析阶段
B)概念设计阶段
C)逻辑设计阶段
D)物理设计阶段
参考答案:
C
10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A)课号,成绩
B)学号,成绩
C)学号,课号
D)学号,姓名,成绩
参考答案:
C
11.以下叙述中错误的是( )。
A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D)C语言源程序经编译后生成后缀为.obj的目标程序
参考答案:
A
12.以下选项中,合法的一组C语言数值常量是( )。
A)12. 0Xa23 4.5e0
B)028 .5e-3 -0xf
C).177 4e1.5 0abc
D)0x8A 10,000 3.e5
参考答案:
A
13.若有代数式
(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )。
A)sqrt(fabs(pow(n,x)+exp(x)))
B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(abs(n^x+e^x))
D)sqrt(fabs(pow(x,n)+exp(x)))
参考答案:
A
14.若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是( )
A)i=(a+k)<=(i+k);
B)i=a%11;
C)a=a++,i++
D)i=!
a;
参考答案:
B
15.若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是( )
A)i=(a+k)<=(i+k);
B)i=a%11;
C)a=a++,i++
D)i=!
a;
参考答案:
B
16.有以下程序:
#include
main()
{ ints,t,A=10;doubleB=6;
s=sizeof(A);t=sizeof(B);
printf("%d,%d\n",s,t);
}
在VC6.0平台上编译运行,程序运行后的输出结果是( )。
A)10,6
B)4,4
C)2,4
D)4,8
参考答案:
D
17.有以下程序:
#include
main()
{ chara,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:
回车也是一个字符)
12
34
则输出结果是( )。
A)12
34
B)12
C)1234
D)12
3
参考答案:
D
18.下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A)可以是任意合法的表达式
B)只能是整数0或非0整数
C)可以是结构体类型的数据
D)只能是整数0或1
参考答案:
A
19.有以下程序:
#include
main()
{ inta=0,b=0,c=0,d=0;
if(a=1)b=1;c=2;
elsed=3;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序输出( )。
A)1,1,2,0
B)0,0,0,3
C)编译有错
D)0,1,2,0
参考答案:
C
20.有以下程序:
#include
main()
{ intx=1,y=0,a=0,b=0;
switch(x)
{ case1:
switch(y)
{ case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
21.程序的运行结果是( )。
A)a=2,b=2
B)a=2,b=1
C)a=1,b=1
D)a=1,b=0
参考答案:
B
20.以下程序段中的变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf("*");
程序段的输出结果是( )。
A)**
B)****
C)*
D)********
参考答案:
C
22.有以下程序段:
#include
inti,n;
for(i=0;i<8;i++)
{ n=rand()%5;
switch(n)
{ case1:
case3:
printf("%d\n",n);break;
case2:
case4:
printf("%d\n",n);continue;
case0:
exit(0);
}
printf("%d\n",n);
}
23.以下关于程序段执行情况的叙述,正确的是( )。
A)for循环语句固定执行8次
B)当产生的随机数n为4时结束循环操作
C)当产生的随机数n为1和2时不做任何操作
D)当产生的随机数n为0时结束程序运行
参考答案:
D
24.以下叙述中错误的是( )。
A)可以给指针变量赋一个整数作为地址值
B)函数可以返回地址值
C)改变函数形参的值,不会改变对应实参的值
D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
参考答案:
A
25.设已有定义:
floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是( )。
A)int*p=(float)x;
B)float*p=&x;
C)floatp=&x;
D)float*p=1024;
参考答案:
B
26.以下数组定义中错误的是( )。
A)intx[2][3]={1,2,3,4,5,6};
B)intx[][3]={0};
C)intx[][3]={{1,2,3},{4,5,6}};
D)intx[2][3]={{1,2},{3,4},{5,6}};
参考答案:
D
27.有以下程序:
#include
voidfun(inta[],intn)
{ inti,t;
for(i=0;i}
main()
{ intk[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;i<8;i++)printf("%d",k[i]);
printf("\n");
}
程序的运行结果是( )。
A)321678
B)876543
C)1098765
D)345678
参考答案:
A
28.有以下程序:
#include
#defineN4
voidfun(inta[][N],intb[])
{ inti;
for(i=0;i}
main()
{ intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;
fun(x,y);
for(i=0;i}
程序运行后的输出结果是( )。
A)-3,-1,1,3,
B)-12,-3,0,0,
C)0,1,2,3,
D)-3,-3,-3,-3,
参考答案:
A
29.设有定义:
chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
A)gets(s);
B)while((s[i++]=getchar())!
='\n');s[i]='\0';
C)scanf("%s",s);
D)do{scanf("%c",&s[i]);}while(s[i++]!
='\n');s[i]='\0';
参考答案:
C
30.设有定义:
chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
A)gets(s);
B)while((s[i++]=getchar())!
='\n');s[i]='\0';
C)scanf("%s",s);
D)do{scanf("%c",&s[i]);}while(s[i++]!
='\n');s[i]='\0';
参考答案:
C
31.有以下程序:
#include
#include
main()
{ charstr[][20]={"One*World","One*Dream!
"},*p=str[1];
printf("%d,",strlen(p));printf("%s\n",p);
}
程序运行后的输出结果是( )。
A)10,One*Dream!
B)9,One*Dream!
C)9,One*World
D)10,One*World
参考答案:
A
32.有以下程序:
#include
main()
{ chars[]="012xy\08s34f4w2";
inti,n=0;
for(i=0;s[i]!
=0;i++)
if(s[i]>='0'&&s[i]<='9')n++;
printf("%d\n",n);
}
程序运行后的输出结果是( )。
A)0
B)3
C)7
D)8
参考答案:
B
33.有以下程序:
#include
fun(intx,inty)
{staticintm=0,i=2;
i+=m+1;m=i+x+y;returnm;
}
main()
{intj=1,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j,m);printf("%d\n",k);
}
执行后的输出结果是( )。
A)5,11
B)5,5
C)11,11
D)11,5
参考答案:
A
34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A)auto和static
B)extern和register
C)auto和register
D)static和register
参考答案:
C
35.下面结构体的定义语句中,错误的是( )。
A)structord{intx;inty;intz;}structorda;
B)structord{intx;inty;intz;};structorda;
C)structord{intx;inty;intz;}a;
D)struct{intx;inty;intz;}a;
参考答案:
A
36.有以下程序:
#include
typedefstruct{intb,p;}A;
voidf(Ac)/*注意:
c是结构变量名*/
{intj;
c.b+=1;c.p+=2;
}
main()
{inti;
Aa={1,2};
f(a);
printf("%d,%d\n",a.b,a.p);
}
程序运行后的输出结果是( )。
A)2,4
B)1,2
C)1,4
D)2,3
参考答案:
B
37.以下叙述中正确的是( )。
A)在C语言中,预处理命令行都以"#"开头
B)预处理命令行必须位于C源程序的起始位置
C)#include必须放在C程序的开头
D)C语言的预处理不能实现宏定义和条件编译的功能
参考答案:
A
38.有以下程序:
#include
#include
intfun(intn)
{ int*p;
p=(int*)malloc(sizeof(int));
*p=n;return*p;
}
main()
{ inta;
a=fun(10);printf("%d\n",a+fun(10));
}
程序的运行结果是( )。
A)0
B)10
C)20
D)出错
参考答案:
C
39.有以下程序:
#include
main()
{ unsignedchara=8,c;
c=a>>3;
printf("%d\n",c);
}
程序运行后的输出结果是( )。
A)16
B)1
C)32
D)0
参考答案:
B
40.读取二进制文件的函数调用形式为:
fread(buffer,size,count,fp);,其中buffer代表的是( )。
A)一个内存块的字节数
B)一个整型变量,代表待读取的数据的字节数
C)一个文件指针,指向待读取的文件
D)一个内存块的首地址,代表读入数据存放的地址
参考答案:
第二套
1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A)12345ABCDE
B)EDCBA54321
C)ABCDE12345
D)54321EDCBA
参考答案:
B
2.下列叙述中正确的是( )。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D)循环队列中元素的个数是由队头指针和队尾指针共同决定
参考答案:
D
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A)O(n)
B)O(n2)
C)
D)
参考答案:
C
4.下列叙述中正确的是( )。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间
参考答案:
A
5.数据流图中带有箭头的线段表示的是( )。
A)控制流
B)事件驱动
C)模块调用
D)数据流
参考答案:
D
6.在软件开发中,需求分析阶段可以使用的工具是( )。
A)N-S图
B)DFD图
C)PAD图
D)程序流程图
参考答案:
B
7.在面向对象方法中,不属于"对象"基本特点的是( )。
A)一致性
B)分类性
C)多态性
D)标识唯一性
参考答案:
A
8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A)一对一
B)一对多
C)多对一
D)多对多
参考答案:
B
9.在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A)人工管理阶段
B)文件系统阶段
C)数据库系统阶段
D)三个阶段相同
参考答案:
C
10.有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
A)笛卡尔积
B)交
C)并
D)自然连接
参考答案:
D
11.下列叙述中错误的是( )。
A)C程序可以由多个程序文件组成
B)一个C语言程序只能实现一种算法
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
参考答案:
B
12.以下选项中,能用作数据常量的是( )。
A)115L
B)0118
C)1.5e1.5
D)o115
参考答案:
A
13.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A)大写字母
B)下划线
C)数字字符
D)连接符
参考答案:
D
14.设变量已正确定义并赋值,以下正确的表达式是( )。
A)x=y+z+5,++y
B)int(15.8%5)
C)x=y*5=x+z
D)x=25%5.0
参考答案:
A
15.设有定义:
intx=2;,以下表达式中,值不为6的是( )。
A)2*x,x+=2
B)x++,2*x
C)x*=(1+x)
D)x*=x+1
参考答案:
A
16.有以下程序:
#include
main()
{ intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是( )。
A)2,3,3
B)2,3,2
C)2,3,1
D)2,2,1
参考答案:
C
17.已知字母A的ASCII码为65,程序运行后的输出结果是( )。
A)E,68
B)D,69
C)E,D
D)输出无定值
参考答案:
A
18.若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?
(x++):
(y++)中的条件表达式(x-y)等价的是( )。
A)(x-y<0||x-y>0)
B)(x-y<0)
C)(x-y>0)
D)(x-y==0)
参考答案:
A
19.有以下程序:
#include
main()
{ intx=1,y=0;
if(!
x)y++;
elseif(x==0)
if(x)y+=2;
elsey+=3;
printf("%d\n",y);
}
程序运行后的输出结果是( )。
A)3
B)2
C)1
D)0
参考答案:
D
20.若有定义:
floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是( )。
A)switch(a+b)
{case1:
printf("*\n");
case2+1:
printf("**\n");}
B)switch((int)x);
{case1:
printf("*\n");
case2:
printf("**\n");}
C)switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");}
D)switch(a+b)
{case1:
printf("*\n");
casec:
printf("**\n");}
参考答案:
A
21.有以下程序:
#include
main()
{ inty=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的运行结果是( )。
A)852
B)963
C)741
D)875421
参考答案:
A
22.有以下程序:
#include
main()
{ inti,j,m=1;
for(i=1;i<3;i++)
{ for(j=3;j>0;j--)
{if(i*j>3)break;
m*=i*j;
}
}
printf("m=%d\n",m);
}
程序运行后的输出结果是( )。
A)m=4
B)m=2
C)m=6
D)m=5
参考答案:
C
23.有以下程序:
#include
intfun(intx,inty)
{ if(x!
=y)return((x+y)/2);
elsereturn(x);
}
main()
{ inta=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
A)6
B)3
C)8
D)12
参考答案:
A
24.有以下程序