二级JAVA笔试362.docx
《二级JAVA笔试362.docx》由会员分享,可在线阅读,更多相关《二级JAVA笔试362.docx(20页珍藏版)》请在冰豆网上搜索。
二级JAVA笔试362
二级JAVA笔试-362
(总分:
100.00,做题时间:
90分钟)
一、选择题(总题数:
40,分数:
80.00)
1.最初的计算机编程语言是()。
A.机器语言B.汇编语言
C.高级语言D.低级语言
(分数:
2.00)
A. √
B.
C.
D.
解析:
2.专门的关系运算不包括下列的()。
A.连接运算B.选择运算
C.投影运算D.并运算
(分数:
2.00)
A.
B.
C.
D. √
解析:
3.“年龄在18-25之间”这种约束是属于数据库当中的()。
A.原子性措施B.一致性措施
C.完整性措施D.安全性措施
(分数:
2.00)
A.
B.
C. √
D.
解析:
4.软件生命周期中所花费用最多的阶段是()。
A.详细设计B.软件编码
C.软件测试D.软件维护
(分数:
2.00)
A.
B.
C.
D. √
解析:
5.下列叙述中正确的是()。
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C.程序执行的效率只取决于所处理的数据量
D.以上三种说法都不对
(分数:
2.00)
A. √
B.
C.
D.
解析:
6.在面向对象方法中,不属于“对象”基本特点的是()。
A.一致性B.分类性
C.多态性D.标识唯一性
(分数:
2.00)
A. √
B.
C.
D.
解析:
7.下列叙述中正确的是()。
A.软件交付使用后还需要进行维护
B.软件一旦交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
(分数:
2.00)
A. √
B.
C.
D.
解析:
8.结构化程序设计所规定的三种基本控制结构是()。
A.for、wule、switchB.输入、输出、处理
C.顺序结构、选择结构、循环结构D.主程序、子程序、函数
(分数:
2.00)
A.
B.
C. √
D.
解析:
9.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()。
A.选择B.连接
C.投影D.并
(分数:
2.00)
A.
B. √
C.
D.
解析:
10.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发中的技术问题
(分数:
2.00)
A.
B.
C. √
D.
解析:
11.以下关于结构化程序设计的叙述中正确的是()。
A.一个结构化程序必须同时由顺序、分支、循环三种结构组成
B.结构化程序使用goto语句会很便捷
C.在C语言中,程序的模块化是利用函数实现的
D.由三种基本结构构成的程序只能解决小规模的问题
(分数:
2.00)
A.
B.
C. √
D.
解析:
12.下列不属于C语言关键字的是()。
A.defaultB.register
C.enumD.external
(分数:
2.00)
A.
B.
C.
D. √
解析:
13.以下叙述中错误的是()。
A.C程序在运行过程中所有计算都以二进制方式进行
B.C程序在运行过程中所有计算都以十进制方式进行
C.所有C程序都需要编译链接无误后才能运行
D.C程序中整型变量只能存放整数,实型变量只能存放浮点数
(分数:
2.00)
A.
B. √
C.
D.
解析:
14.已知:
chara;intb;floatc;doubled;,执行语句"c=a+b+c+d;"后,变量c的数据类型是()。
A.intB.char
C.floatD.double
(分数:
2.00)
A.
B.
C. √
D.
解析:
15.已知inti=10;,表达式"20-0<=1<=9"的值是()。
A.0B.1
C.19D.20
(分数:
2.00)
A.
B. √
C.
D.
解析:
16.已知intx=(1,2,3,4);,变量x的值是()。
A.1B.2
C.3D.4
(分数:
2.00)
A.
B.
C.
D. √
解析:
17.已知inti=1;,执行语句while(i++<4);后,变量i的值为()。
A.3B.4
C.5D.6
(分数:
2.00)
A.
B.
C. √
D.
解析:
18.对字符数组s赋值,不合法的一个是()。
A.chars[]="Beijing";B.chars[20]="beijing";
C.chars[20];s="Beijing";D.chars[20]='B','e','i','j','i','n','g';
(分数:
2.00)
A.
B.
C. √
D.
解析:
19.有以下程序:
#include<stdio.h>
main()
inta=2,b=2,c=2;
printf("%d/n",a/b&c);
程序运行后输出的结果是()。
A.0B.1
C.2D.3
(分数:
2.00)
A. √
B.
C.
D.
解析:
20.有以下程序,其输出结果是()。
voidmain()
floatx=1;
inty;
x++;
y=x+1;
printf("x=%d,y=%f",x,y);
A.x=2,y=3B.x=2,y=3.0
C.x=2.0,y=3D.x=0,y=0.000000
(分数:
2.00)
A.
B.
C.
D. √
解析:
21.有以下程序:
main()
intx=0,y=5,z=3;
while(z-->0&&++x<5?
x:
y--)y=y-1;
printf("%d,%d,%d/n",x,y,z);
程序执行后输出的结果是()。
A.3,2,0B.3,2,-1
C.4,3,-1D.3,-1,-2
(分数:
2.00)
A.
B.
C.
D. √
解析:
22.设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是()。
A.(*s)[3]B.*(s+3)
C.*s[3]D.*s+3
(分数:
2.00)
A.
B. √
C.
D.
解析:
23.有以下程序:
main()
(intp[7]=11,13,14,15,16,17,18,i=0,k=0;
while(i<7&&p[i]%2)k=k+p[i++];i++;
printf("%d/n",k);
执行后输出的结果是()。
A.57B.39
C.24D.11
(分数:
2.00)
A.
B.
C.
D. √
解析:
24.以下程序的输出结果是()。
main()
inta=1;
charc='a':
floatf=2.0;
printf("%d/n",(!
(a==0),f!
=0&&c=='A'));
A.0B.1
C.2D.3
(分数:
2.00)
A. √
B.
C.
D.
解析:
25.有以下程序:
voidf(int*x,int*y)
int*t;
t=x;x=y;y=t;*x=*y;
main()
inta[8]=1,2,3,4,5,6,7,8,i,*p,*q;
p=a;q=&a[7];
while(p>q)
f(p,q);p++;q--;
for(i=0;1<8;1++)printf("%d,",a[i]);
程序运行后输出的结果是()。
A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,
(分数:
2.00)
A.
B.
C. √
D.
解析:
26.在C语言中,函数返回值的类型最终取决于()。
A.函数定义时在函数首部所说明的函数类型
B.return语句中表达式值的类型
C.调用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
(分数:
2.00)
A. √
B.
C.
D.
解析:
27.以下叙述中错误的是()。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
(分数:
2.00)
A.
B.
C. √
D.
解析:
28.若有定义:
inta[2][3];,以下选项中对a数组元素正确引用的是()。
A.a[2][!
1]B.a[2][3]
C.a[0][3]D.a[1>1][!
1]
(分数:
2.00)
A.
B.
C.
D. √
解析:
29.有以下程序:
main()
inta[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf("%d",(++p)[i]);
程序运行后输出的结果是()。
A.012B.135C.234D.345
(分数:
2.00)
A.
B. √
C.
D.
解析:
30.假定从键盘上输入"3.6,2.4<回车>",下面程序的输出结果是()。
#include<math.h>
main()
floatx,y,z;
scanf("%f,%f",&x,&y);
z=x/y;
while
(1)
if(fabs(z)>1.0)
x=y;
y=z;
z=x/y;
elsebreak;
printf("%f/n",y);
A.1.500000B.1.600000
C.2.000000D.2.400000
(分数:
2.00)
A.
B. √
C.
D.
解析:
31.以下程序运行后输出的结果是()。
#include<stdio.h>
main()
inti;
for(i=1;i<=5;i++)
switch(1%5)
case0:
printf"*");break;
case1:
printf("#");break;
default:
printf("/n");
case2:
printf("&");
A.&#
*
&*
B.#&
*
*
C.#&
&
D.&
#
(分数:
2.00)
A.
B.
C. √
D.
解析:
32.有以下程序:
#include<stdio.h>
#include<stdlib.h>
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.0B.10
C.20D.出错
(分数:
2.00)
A.
B.
C. √
D.
解析:
33.以下函数的功能是:
通过键盘输入数据,为数组中的所有元素赋值。
#defineN10
voidmain(int______)
inti=0;
while(i<N)
scanf("%d",x+(i++));
在下划线处应填入的是()。
A.*xB.x[N]
C.xD.&x
(分数:
2.00)
A.
B. √
C.
D.
解析:
34.若要定义一个具有5个元素的整型数组,以下定义语句错误的是()。
A.inta[5]=0;B.intb[]=0,0,0,0,0;
C.intc[2+3];D.inti=5,d[i];
(分数:
2.00)
A.
B.
C.
D. √
解析:
35.以下程序的输出结果是()。
main()
char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
case'1':
v1++;
case'3':
v3++;
case'2':
v2++;
default:
v4++;
printf("v1=%d,v2=%d,v3=%d,v4=%d/n",v1,v2,v3,v4);
A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1D.v1=4,v2=7,v3=5,v4=8
(分数:
2.00)
A.
B.
C.
D. √
解析:
36.有以下程序:
#include<stdio.h>
structord
intx,y;dt[2]=1,2,3,4;
main()
structord*p=dt;
printf("%d,",++(p->x));printf("%d/n",++(p->y));
程序运行后输出的结果是()。
A.1,2B.4,1
C.3,4D.2,3
(分数:
2.00)
A.
B.
C.
D. √
解析:
37.有以下程序:
intfun()
staticints=0;
s+=1:
returns:
main(intargc,char*argv[])
intn,i=0;
while(argv[1][i]!
='/0')
n=fun();i++;)
printf("%d/n",n*argc);
假设程序经编译、链接后生成可执行文件exam.exe,若键入以下命令:
exam123<回车>,则运行结果为()。
A.6B.8
C.3D.4
(分数:
2.00)
A. √
B.
C.
D.
解析:
38.有以下程序:
#include<stdio.h>
main()
structSTUcharname[9];charsex;doublescore[2];;
structSTUa="Zhao",'m',85.0,90.0'b="Qian",'f',95.0,92.0;
b=a;
printf("%s,%c,%2.0f,0/02.0f/n",b.name,b.sex,b.score[0],b.score[1]);
程序的运行结果是()。
A.Qian,f,95,92B.Qian,m,85,90
C.Zhao,f,95,92D.Zhao,m,85,90
(分数:
2.00)
A.
B.
C.
D. √
解析:
39.有以下程序:
#include<stdio.h>
voidfun(char*t,char*s)
while(*t!
=0)t++;
while((*t++=*s++)!
=0);
main()
charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);printf("%s,%s/n",ss,aa);
程序的运行结果是()。
A.accxyy,bbxxyyB.acc,bbxxyy
C.accxxyy,bbxxyyD.accbbxxyy,bbxxyy
(分数:
2.00)
A.
B.
C.
D. √
解析:
40.有以下程序:
#include<stdio.h>
main()
FILE*pf;
char*s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf);/*文件位置指针回到文件开头*/
fwrite(s1,5,1,pf);
fclose(pf);
以上程序执行后abc.dat文件的内容是()。
A.ChinaB.Chinang
C.ChinaBeijingD.BeijingChina
(分数:
2.00)
A.
B. √
C.
D.
解析:
二、填空题(总题数:
13,分数:
20.00)
41.一棵二叉树第八层(根结点为第一层)的结点数最多为1个。
(分数:
1.00)
填空项1:
__________________ (正确答案:
128)
解析:
42.关系数据模型由关系数据结构、关系操作集合和13大要素组成。
(分数:
1.00)
填空项1:
__________________ (正确答案:
关系完整性约束)
解析:
43.按照软件测试的一般步骤,集成测试应在1测试之后进行。
(分数:
1.00)
填空项1:
__________________ (正确答案:
单元)
解析:
44.在二维表中,元组的1不能再分成更小的数据项。
(分数:
1.00)
填空项1:
__________________ (正确答案:
分量)
解析:
45.1的目的是检查模块是否正确地组合在一起,是否能够实现规格说明文档对产品功能的要求。
(分数:
1.00)
填空项1:
__________________ (正确答案:
集成测试)
解析:
46.已有定义:
floatx=5.5;,则表达式:
x=(int)x+2的值为1。
(分数:
1.00)
填空项1:
__________________ (正确答案:
7.000000)
解析:
47.己定义charch='$';inti=1,j;,执行j=!
ch&&i++以后,i的值为1。
(分数:
1.00)
填空项1:
__________________ (正确答案:
1)
解析:
以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算,请填空。
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
#include"math.h"
doublefun(doublex)return((8));
main()
(doublex,y1,y2;
printf("Enterx:
");scanf("%1f",&x);
yl=fun(8+x);
y2=fun((9));
printf("y1=%1f,y2=%1f/n",y1,y2);
(分数:
2.00)
填空项1:
__________________ (正确答案:
x*x-2*x+6或x*x+6-2*x(只要是与此多项式等价即可))
解析:
填空项1:
__________________ (正确答案:
sin(x))
解析:
48.以下程序运行后输出的结果是______。
main()
inti,j,a[][3]=1,2,3,4,5,6,7,8,9;
for(i=0;i<3;i++)
for(j=i.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");
(分数:
1.00)
填空项1:
__________________ (正确答案:
023
006
000)
解析:
49.以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。
请填空。
voidsstrcpy(char*s,char*t)
while(*s++=______);
main()
charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s/n",str1);
(分数:
2.00)
填空项1:
__________________ (正确答案:
*t++或*(t++))
解析:
50.以下程序运行后输出的结果是______。
main()
chars[]="GFEDCBA";
intp=6;
while(s[p]!
='D')
priritf("%c",p);
p=p-1;
(分数:
2.00)
填空项1:
__________________ (正确答案:
ABC)
解析:
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
请填空。
main()
inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)scanf("%d",((13));
for(i=0;i<20;i++)
if(a[i]>0)
count++,
sum+=((14));
printf("sum=%d,count=%d/n",sum,count);
(分数:
4.00)
填空项1:
__________________ (正确答案:
&a[i]或a+i)
解析:
填空项1:
__________________ (正确答案:
a[i]或*(a+i))
解析:
51.以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。
例如,输入字符串:
abc123edf456gh,执行程序后输出:
123456。
请填空。
#include<stdio.h>
#include<ctype.h>
main()
chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!
='/0';i++)
if(______)d[j]=s[i];j++;
d[j]='/0';
puts(d);
(分数:
2.00)
填空项1:
__________________ (正确答案:
s[i]>='0'&&s[i]<='9')
解析: