试卷详情
-
二级JAVA笔试-372
-
[单项选择]为用户与数据库系统提供接口的语言是( )。
A. 高级语言
B. 数据描述语言(DDL)
C. 数据操纵语言(DML)
D. 汇编语言
-
[单项选择]若有定义int (*pt)[3];,则下列说法中正确的是( )。
A. 定义了基类型为int的三个指针变量
B. 定义了基类型为int的具有三个元素的指针数组pt
C. 定义了一个名为*pt、具有三个元素的整型数组
D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
-
[单项选择]以下程序的输出结果是( )。
f(int b[],int m,int n)
int i,s=0;
for(i=m;i<n;i=i+2)s=s+b[i];
return s:
void main( )
int x,a[]=1,2,3,4,5,6,7,8,9;
x=f(a,3,7);
printf("%d/n",x);
A. 10
B. 18
C. 8
D. 15
-
[单项选择]在单链表中,增加头结点的目的是( )。
A. 方便运算的实现
B. 使单链表至少有一个结点
C. 标识表结点中首结点的位置
D. 说明单链表是线性表的链式存储实现
-
[填空题]一棵二叉树第六层(根结点为第一层)的结点数最多为______个。
-
[单项选择]有以下程序,其中k的初值为八进制数。
#include <stdio.h>
main( )
int k=011;
printf("%d/n",k++);
程序运行后输出的结果是( )。
A. 12
B. 11
C. 10
D. 9
-
[单项选择]有以下程序:
void main( )
int k=10, n=0;
for(;n<k;)
//n++;
if(n++%3!=0) continue;
k--;
printf("%d,%d/n",k,n);
程序运行后输出的结果是( )。
A. 7,7
B. 6,6
C. 3,3
D. 4,4
-
[单项选择]以下叙述中正确的是( )。
A. C语言中的全部数据类型都是基本类型
B. C语言中的全部数据类型都是构造类型
C. C语言中的数据类型只有两种,即基本类型和构造类型
D. 以上都不对
-
[单项选择]为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( )。
A. PAD图
B. N-S图
C. 结构图
D. 数据流图
-
[填空题]软件工程包括3个要素,分别为方法、工具和______。
-
[单项选择]有以下程序:
void main( )
int a=15,b=21,m=0,
switch(a%3)
case 0:m++;break;
case 1:m++:
switch(b%2)
default:m++;
case 0:m++;break;
printf("%d/n",m),
程序运行后输出的结果是( )。
A. 1
B. 2
C. 3
D. 4
-
[单项选择]下列可作为C语言赋值语句的是( )。
A. x=3,y=5
B. a=b=6
C. i--;
D. y=6
-
[单项选择]有以下程序:
fun(int a[],int m,int n)
int i;
for(i=m;i<n;i++)
a[i+1]=a[i]+3;
return a[i+1];
void main( )
inti,a[6]=2,4,6,8,10,12;
fun(a,2,5);
for(i=0;i<6;i++)
printf("%d",a[i]);
程序运行后输出的结果是( )。
A. 24691315
B. 24691215
C. 249121518
D. 249121415
-
[单项选择]一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是( )。
A. 1:1联系
B. 1:m联系
C. m:1联系
D. m:n联系
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
int x=1,y=0;
if(!x) y++;
else if(x==0)
if(x) y+=2;
else y+=3;
printf("%d/n", y);
程序运行后输出的结果是( )。
A. 3
B. 2
C. 1
D. 0
-
[单项选择]有以下程序:
void main( )
int a=1, b=2, m=0, n=0,k;
k=((n=b>a)+b)||(m=a<b);
printf("%d,%d/n",k,m);
程序运行后输出的结果是( )。
A. 0,0
B. 0,1
C. 1,0
D. 1,1
-
[单项选择]以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是( )。
A. switch (a)
B. default: a++;switch(a==1)
C. case 1:a++;switch(a)
D. case 1:a=b;switch(a==l)
-
[填空题]数据库管理系统常见的数据模型有层次模型、网状模型和______3种。
-
[单项选择]用黑盒技术测试用例的方法之一为( )。
A. 因果图
B. 逻辑覆盖
C. 循环覆盖
D. 基本路径测试
-
[单项选择]有以下程序:
void main( )
char s[]='T','E','A','C','H','E','R'),*p;
p=s+3;
print("%c",*p++);
printf("%c",*p++);
程序运行后输出的结果是( )。
A. AC
B. CH
C. HE
D. TEA
-
[单项选择]有以下程序:
#define N 20
fun(int a[],int n,int m)
int i;
for(i=m; i>n; i--) a[i+1]=a[i];
return m;
void main( )
int i,a[N]= 1,2,3,4,5,6,7,8,9,10;
fun(a,0,N/2);
for(i=0; i<5; 1++) printf("%d",a[i]);
程序运行后输出的结果是( )。
A. 10234
B. 12344
C. 12334
D. 12234
-
[填空题]以下程序运行后输出的结果是______。
void main( )
int a=1,b=2,c=3;
if(c=a,b<c) printf("%d/n",c);
else printf("%d/n",b);
-
[单项选择]以下变量x、y、z均为double类型且已正确赋值,不能正确表示x/(y*z)的C语言表达式是( )。
A. x/y*z
B. x*(1/(y*z))
C. x/y*1/z
D. x/y/z
-
[单项选择]有以下程序:
#include <stdio.h>
#define N 8
void fun(int *x, int i)
*x=*(x+i);
main( )
(int a[N]=1,2,3,4,5,6,7,8),i;
fun(a,2);
for(i=0; i<N/2; 1++)
printf("%d",a[i]);
printf("/n");
程序运行后输出的结果是( )。
A. 1313
B. 2234
C. 3234
D. 1234
-
[单项选择]假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为( )。
A. log2n
B. n2
C. n/2
D. n(n-1) /2
-
[单项选择]以下关于return语句的叙述中正确的是( )。
A. 一个自定义函数中必须有一条return语句
B. 一个自定义函数中可以根据不同情况设置多条return语句
C. 定义成void类型的函数中可以有带返回值的return语句
D. 没有return语句的自定义函数在执行结束时不能返回到调用处
-
[单项选择]有以下程序:
void f(int n,int *r)
int r1=0,
if (n%3==0) r1=n/3;
else if (n%5==0) r1=n/5;
else f(-n,&r1);
*r=r1:
main( )
(int m=7,r;
f(m,&r); printf("%d/n",r);
程序运行后输出的结果是( )。
A. 2
B. 1
C. 3
D. 0
-
[单项选择]串的长度是( )。
A. 串中不同字符的个数
B. 串中不同字母的个数
C. 串中所含字符的个数且字符个数大于零
D. 串中所含字符的个数
-
[单项选择]在下列关于二叉树的叙述中,正确的一项是( )。
A. 在二叉树中,任何一个结点的度都是2
B. 二叉树的度为2
C. 在二叉树中至少有一个结点的度是2
D. 一棵二叉树的度可以小于2
-
[单项选择]下面函数的功能是( )。
int func(char*x)
char*y=x;
while(*y++);
return(y-x-1);
A. 求字符串的长度
B. 比较两个字符串的大小
C. 将字符串x复制到字符串y
D. 将字符串x连接到字符串y后面
-
[单项选择]下面程序段的输出结果是( )。
#include<string.h>
void main( )
char str1[10]='s','t','u','d','e','n','t';
printf("%d/n",strlen (str1));
A. 7
B. 8
C. 10
D. 存在语法错误
-
[填空题]以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。
#define N 3
#define M 3
select(int a[N] [M],int *n)
int i,j,row=0,colum=0;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>a[row][colum])row=i;colum=j;
*n= (14) ;
return( (15) );
void main( )
int a[N][M]= 9,1 1,23,6,1,15,9,17,20) ,max,n;
max=select(a,&n),
printf("max=%d,line=%d/n ",max,n);
-
[填空题]下列程序的输出结果是______。
void main( )
int a=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d/n",a,b);
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
FILE *fp; char str[10];
fp=fopen("myfile.dat","w");
fputs("abc",fp); fclose(fp);
fp=fopen("myfile.dat","a+");
fprintf(fp,"%d",28);
rewind(fp);
fscanf(fp,"%s",str); puts(str);
fclose(fp);
程序运行后的输出结果是( )。
A. abc
B. 28c
C. abc28
D. 因类型不一致而出错
-
[单项选择]当把以下四个表达式用作if语句的控制表达式时,有一个选项与表达式(k%2)!=0含义相同,这个选项是( )。
A. k%2==0
B. k%2==1
C. !k%2==1
D. 都不同
-
[单项选择]设int i=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是( )。
A. 0
B. 2
C. 1
D. 3
-
[填空题]若有定义语句:char s[100],d[100];int j=0,i=0;且s中已赋字符串,请填空以实现拷贝。
(注:不使用逗号表达式)
while(s[i])d[i]=______;j++;
d[j]=0;
-
[单项选择]若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。
A. -3
B. 9
C. -12
D. 6
-
[单项选择]有以下程序:
int *f(int*x,int *y)
if(*x<*y)return x;
else return y;
void main( )
int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=f(p,q);
printf("%d,%d,%d/n",*p,*q,*r),
程序运行后输出的结果是( )。
A. 7,8,8
B. 7,8,7
C. 8,7,7
D. 8,7,8
-
[单项选择]已知字母A的ASCⅡ码为十进制的65,下面程序的输出结果为( )。
void main( )
char ch1,ch2;
ch1='A'+'5'-'3':
ch2='A'+'6'-'3':
printf("%d,%c/n",ch1,ch2);
A. 67,D
B. B,C
C. C,D
D. 不确定的值
-
[单项选择]有如下嵌套的if语句:
if (a<b)
if(a<c) k=a;
else k=c;
else
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是( )。
A. k=(a<b)a:b;k=(b<c)b:c;
B. k=(a<b)((b<c)a:b):((b>c)b:c);
C. k=(a<b)((a<c)a:c):((b<c)b:c);
D. k=(a<b)a:b;k=(a<c)a:c;
-
[填空题]以下程序的运行结果是______。
void main( )
int a=4,b=8,c;
c=(a/b==a)&&(a+b!=20);
printf("%d,%d,%d/n",a,b,c);
-
[填空题]有以下程序:
int sub(int n) return(n/10+n%10);
void main( )
int x,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d/n",y);
若运行时输入:4321<回车>,程序的输出结果是______。
-
[单项选择]以下程序的输出结果是( )。
#include<stdio.h>
void main( )
int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d/n",a,b);
A. 6,1
B. 2,1
C. 6,0
D. 2,0
-
[填空题]算法复杂度主要包括时间复杂度和______复杂度。
-
[填空题]设一棵完全二叉树共有700个结点,则在该二叉树中有______个叶子结点。
-
[单项选择]设有以下定义:
int a[4][3]=1,2,3,4,5,6,7,8,9,10,11,12;
int(*ptr)[3]=a, *p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是( )。
A. *((*ptr+1)[2])
B. *(*(p+5))
C. (*ptr+1)+2
D. *(*(a+1)+2)
-
[填空题]以下函数的功能是删除字符串s中的所有数字字符,请填空。
viod dele(char *s)
int n=0,i;
for(i=0;s[i];i++)
if( (11) )
s[n++]=s[i];
s[n]= (12) ;
-
[填空题]有以下程序:
void main( )
int t=1,i=5;
for(;i>=0;) i--;t*=i;
printf("%d/n",t);
执行后输出的结果是______。
-
[单项选择]若有以下说明:
int a[10]= 1,2,3,4,5,6,7,8,9,10),*p=a;
则值为6的表达式是( )。
A. *p+6
B. *(p+6)
C. *p+=5
D. p+5
-
[单项选择]程序设计方法要求在程序设计过程中( )。
A. 先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B. 先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C. 先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释
D. 以上三种说法都不对