模拟试题14Word格式文档下载.docx
《模拟试题14Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模拟试题14Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
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)有以下程序
{intk=5,n=0;
do
{switch(k)
{case1:
case3:
n+=1;
k--;
break;
default:
n=0;
case2:
case4:
n+=2;
}
printf("
%d"
n);
}while(k>
0&
n<
5);
A)235
B)0235
C)02356
D)2356
(21)有以下程序
{inti,j;
for(i=1;
i<
4;
i++)
{for(j=i;
j<
j++)printf("
%d*%d=%d"
i,j,i*j);
\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)"
(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<
stdio.h>
{intn,*p=NULL;
*p=&
n;
Inputn:
"
scanf("
p);
outputn:
%d\n"
p);
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是
A)intn,*p=NULL;
B)*p=&
C)scanf("
p)
D)printf("
(26)以下程序中函数f的功能是:
当flag为1时,进行由小到大排序;
当flag为0时,进行由大到小排序。
voidf(intb[],intn,intflag)
{inti,j,t;
for(i=0;
n-1;
for(j=i+1;
j++)
if(flag?
b[i]>
b[j]:
b[i]<
b[j]){t=b[i];
b[i]=b[j];
b[j]=t;
{inta[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&
a[2],5,0);
f(a,5,1);
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)有以下程序
{inta[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
for(j=0;
3;
for(k=j+1;
k<
k++)
if(a[j][i]>
a[k][i]){t=a[j][i];
a[j][i]=a[k][i];
a[k][i]=t;
}/*按列排序*/
a[i][i]);
A)1,6,5,7,
B)8,7,3,1,
C)4,7,5,2,
D)1,6,2,1,
(28)有以下程序
{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
for(k=i+l;
k++)if(a[i][i]<
a[k][k]){t=a[i][i];
a[i][i]=a[k][k];
a[k][k]=t;
for(i=0;
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(;
5;
i++)(*q)++;
{inta[5]={1,2,3,4,5},i;
f(a);
i++)printf("
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)有以下程序
string.h>
{charp[20]={′a′,′b′,′c′,′d′},q[]="
abc"
r[]="
abcde"
;
strcpy(p+strlen(q),r);
strcat(p,q);
%d%d\n"
sizeof(p),strlen(p));
A)209
B)99
C)2011
D)1111
(31)有以下程序
#include<
strcat(p,r);
strcpy(p+strlen(q),q);
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;
{intm=7,r;
f(m,&
r);
r);
A)2
B)1
C)3
D)0
(33)有以下程序
main(intargc,char*argv[])
{intn=0,i;
for(i=l;
i<
argc;
i++)n=n*10+*argv[i]-′0′;
编译连接后生成可执行文件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"
{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)有以下程序
{charch[]="
uvwxyz"
*pc;
pc=ch;
%c\n"
*(pc+5));
A)z
B)0
C)元素ch[5]的地址
D)字符y的地址
(36)有以下程序
structS{intn;
inta[20];
};
voidf(structS*p)
p->
if(p->
a[i]>
a[j]){t=p->
a[i];
a[i]=p->
a[j];
p->
a[j]=t;
{inti;
structSs={10,{2,3,l,6,8,7,5,4,10,9}};
s);
s.n;
s.a[i]);
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)有以下程序
voidf(int*a,intn)
i++)a[i]+=i;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
A)2,4,3,9,12,12,11,11,18,9,
B)3,4,2,7,9,8,6,5,11,10,
D)1,2,3,6,8,7,5,4,10,9,
(38)有以下程序
{unsignedchara=2,b=4,c=5,d;
d=a|b;
d&
=c;
d);
A)3
B)4
C)5
D)6
(39)有以下程序
#include<
{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]);
a[3],a[4],a[5]);
fclose(fp);
r"
fscanf(fp,"
%d%d"
k,&
n);
%d%d\n"
k,n);
A)12
B)14
C)1234
D)123456
(40)有以下程序
inti,a[6]={l,2,3,4,5,6};
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);
6;
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】。
{inta=10;
a=(3*5,a+4);
a=%d\n"
a);
(7)当执行以下程序时,输入1234567890<
则其中while循环体将执行【7】次。
{charch;
while((ch=getchar())==′0′)printf("
#"
(8)以下程序的运行结果是【8】。
voidfun(intm)
{m+=k;
k+=m;
m=%dk=%d"
m,k++);
{intI=4;
fun(I++);
I=%dk=%d\n"
I,k);
(9)以下程序的运行结果是【9】。
{inta=2,b=7,c=5;
switch(a>
0)
{case1:
switch(b<
@"
!
case0:
switch(c==5)
{case0:
*"
break;
case1:
$"
(10)以下程序的输出结果是【10】。
{printf("
strlen("
IBM\n012\1\\"
));
(11)设有定义语句:
inta[][3]={{0},{1}{2}};
则数组元素a[1][2]的值是【13】。
(12)以下程序的功能是:
利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。
请填空。
{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;
*pz)*pmax=*pz;
max=%d\n"
max);
(13)以下程序的输出结果是【17】。
intfun(int*x,intn)
{if(n==0)returnx[0];
elsereturnx[0]+fun(x+1,n-1);
{inta[]={1,2,3,4,5,6,7};
fun(a,3));
(14)以下程序的输出结果是【18】。
stdlib.h>
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;
*s2=20;
m=*s1+*s2;
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
队列是一种操作受限的线性表。
它只允许在线性表的一端进行插入操作,另一端进行删除操作。
其中,允许插入的一端称