for(i=0;i<4;i++)printf("%d,",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(;i<5;i++)(*q)++;
}
main()
{inta[5]={1,2,3,4,5},i;
f(a);
for(i=0;i<5;i++)printf("%d,",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)有以下程序
#include
main()
{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";
strcpy(p+strlen(q),r);strcat(p,q);
printf("%d%d\n",sizeof(p),strlen(p));
}
程序运行后的输出结果是
A)209
B)99
C)2011
D)1111
(31)有以下程序
#include
main()
{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";
strcat(p,r);strcpy(p+strlen(q),q);
printf("%d\n",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;
}
main()
{intm=7,r;
f(m,&r);printf("%d",r);
}
程序运行后的输出结果是
A)2
B)1
C)3
D)0
(33)有以下程序
main(intargc,char*argv[])
{intn=0,i;
for(i=l;iprintf("%d\n",n);
}
编译连接后生成可执行文件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"
main()
{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)有以下程序
main()
{charch[]="uvwxyz",*pc;
pc=ch;printf("%c\n",*(pc+5));
}
程序运行后的输出结果是
A)z
B)0
C)元素ch[5]的地址
D)字符y的地址
(36)有以下程序
structS{intn;inta[20];};
voidf(structS*p)
{inti,j,t;
for(i=0;in-1;i++)
for(j=i+1;jn;j++)
if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}
}
main()
{inti;structSs={10,{2,3,l,6,8,7,5,4,10,9}};
f(&s);
for(i=0;i}
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,10,
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)有以下程序
structS{intn;inta[20];};
voidf(int*a,intn)
{inti;
for(i=0;i}
main()
{inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0;i}
程序运行后的输出结果是
A)2,4,3,9,12,12,11,11,18,9,
B)3,4,2,7,9,8,6,5,11,10,
C)2,3,1,6,8,7,5,4,10,9,
D)1,2,3,6,8,7,5,4,10,9,
(38)有以下程序
main()
{unsignedchara=2,b=4,c=5,d;
d=a|b;d&=c;printf("%d\n",d);}
程序运行后的输出结果是
A)3
B)4
C)5
D)6
(39)有以下程序
#include
main()
{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]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是
A)12
B)14
C)1234
D)123456
(40)有以下程序
#include
main()
{FILE*fp;inti,a[6]={l,2,3,4,5,6};
fp=fopen("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);
for(i=0;i<6;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是
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】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
(7)当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【7】次。
#include
main()
{charch;
while((ch=getchar())==′0′)printf("#");
}
(8)以下程序的运行结果是【8】。
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%dk=%d",m,k++);}
main()
{intI=4;
fun(I++);printf("I=%dk=%d\n",I,k);
}
(9)以下程序的运行结果是【9】。
main()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case2:
printf("!
");break;
}
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
case2:
printf("$");break;
}
default:
printf("&");
}
printf("\n");
}
(10)以下程序的输出结果是【10】。
#include
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
(11)设有定义语句:
inta[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【13】。
(12)以下程序的功能是:
利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。
请填空。
main()
{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;
if(*pmax<*pz)*pmax=*pz;
printf("max=%d\n",max);
}
(13)以下程序的输出结果是【17】。
intfun(int*x,intn)
{if(n==0)returnx[0];
elsereturnx[0]+fun(x+1,n-1);
}
main()
{inta[]={1,2,3,4,5,6,7};printf("%d\n",fun(a,3));}
(14)以下程序的输出结果是【18】。
#include
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",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
解析:
队列是一种操作受限的线性表。
它只允许在线性表的一端进行插入操作,另一端进行删除操作。
其中,允许插入的一端称