二级C语言真题2015年03月-(2)
一、选择题
1、下列叙述中正确的是______。
A.每一个结点有两个指针域的链表一定是非线性结构
B.所有结点的指针域都为非空的链表一定是非线性结构
C.循环链表是循环队列的链式存储结构
D.线性结构的存储结点也可以有多个指针
2、使用白盒测试方法时,设计测试用例应根据______。
A.程序的内部逻辑  B.程序的复杂结构  C.程序的功能  D.使用说明书
3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室。则实体医生和患者之间的联系是______。
A.多对多  B.多对一  C.一对多  D.一对一
4、设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。
A.二分法查  B.顺序查  C.分块查  D.哈希查
5、设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是______。
A.R={(5,1),(7,9),(1,7),(9,3)}    B.R={(9,7),(1,3),(7,1),(3,5)}
C.R={(1,9),(9,7),(7,5),(5,3)}    D.R={(1,3),(3,5),(5,9)}
6、深度为7的二叉树共有127个结点,则下列说法中错误的是______。
A.该二叉树有一个度为1的结点 B.该二叉树是满二叉树
C.该二叉树是完全二叉树 D.该二叉树有64个叶子结点
7、某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。
A.DCBA    B.BDCA    C.ABCD    D.BADC
8、下面能作为软件需求分析工具的是______。
A.PAD图  B.程序流程图
C.甘特图  D.数据流程图(DFD图)
9、下面不属于对象主要特征的是______。
A.唯一性  B.多态性  C.可复用性  D.封装性
10、关系R经过运算σ(A=B∧G>4∧D>3)(R)的结果为______。
A.(c,c,11,4)    B.(e,e,6,1)
C.(a,a,2,4)    D.(a,a,2,4)和(e,e,6,1)
11、简单程序设计步骤中不包括______。
A.编码  B.确定算法  C.安装编译程序  D.调试
12、若想给已定义为int型的变量a,b,c,d赋值为1,以下选项中错误的语句是______。
A.d=1,c=d,b=c,a=b;    B.a=b=c=d=1;
C.a=1,b=a,c=b,d=c;    D.a=b,b=c,c=d,d=1;
13、有C语言表达式2*3+4+15%3,关于其执行顺序,以下叙述正确的是______。
A.先执行2*3得6,再执行6+4得10,再执行15%3得0,最后执行10+0得10
B.先执行2*3得6,再执行15%3得5,最后执行6+4+5得15
C.先执行15%3得0,再执行2*3得6,最后执行6+4+0得10
D.先执行15%3得3,再执行4+3得7,再执行2*3得6,最后执行6+7得13
14、若有定义:int a;float b;double c;,程序运行时输入:1,2,3<回车>,能把1输入给变量a、2输入给变量b,3输入给变量C的输入语句是______。
A.scanf("%d,%f,%lf",&a,&b,&c);    B.scanf("%d%f%lf",&a,&b,&c);
C.scanf("%d,%lf,%lf",&a,&b,&c);    D.scanf("%d,%f,%f",&a,&b,&c);
15、以下选项中,合法的C语言实数是______。
A.E1    B.le0    C.0.10E    D.2.le0.2
16、关于程序中的注释,以下叙述正确的是______。
A.注释的内容必须放在一对/*和*/之间    B.注释必须置于所说明的语句前或语句后
C.注释中间可以嵌套另一个注释 D.注释内容错误会导致编译出错
17、有以下程序:
#include<stdio.h>
main()
{  int a,b;
for(a=0;a<3;a++)
{  scanf("%d",&b);
switch(b)
{  default:printf("%d,",b++);
case 1:printf("%d,",b++);
case 2:printf("%d,",b++);
}
}
}
程序运行时输入:1 2 3<回车>,则输出结果是______。
A.1,2,3,2,3,3,    B.1,2,3,    C.1,2,2,3,4,5,    D.1,1,1,2,2,3
18、以下非法的定义语句是______。
A.long b=0L;    B.unsigned int a=-100u;
C.short c2=0123;    D.int d=0x0;
19、有以下程序:
#include<stdio.h>
main()
{  int a=0,b=0;
for(;a<5;a++)
{  if(a%2==0)continue;
b+=a;
break;
}
printf("%d\n",b);
}
程序运行后的输出结果是______。
A.1    B.4    C.0    D.10
20、有以下程序:
#include<stdio.h>
main()
{  char c;
c=getchar();
do {
putchar(c++);
} while((c=getchar())!='#');
}
程序运行时从第一列开始输入:abcdefg##<回车>,则输出结果是______。    A.bcdefgh$    B.bcdefgh    C.abcdefg#    D.abcdefg
21、有如下程序:
#include<stdio.h>
main()
{
char a='0',b='a';
int i;
for(i=0;i<4;i++)
{
if(i%3)putchar(a+i);
else putchar(b+i);
}
}
程序运行后的输出结果是______。
A.a12d    B.ab3d    C.10ab    D.11ac
22、有以下程序:
#include<stdio.h>
main()
{
char ch='M';
while(ch!='K')
{
putchar(ch);
ch--;
}
}
程序运行后的输出结果是______。
A.ML    B.MK    C.OP    D.mm
23、有以下程序:
#include<stdio.h>
int k=5;
void f(int *s)
{  s=&k;
*s=k;
}
main()
{  int m=3;
f(&m);
printf("%d,%d\n",m,k);
}
程序运行后的输出结果是______。
A.3,3    B.5,5    C.3,5    D.5,3
24、有如下程序:
#include<stdio.h>
int sum_mod(int a,int b)
{
return a+b%2;
}
main()
{
int i;
for (i=0;i<5;i++)
printf("%d",sum_mood(i,4));
printf("\n");
}
程序运行后的输出结果是______。
A.12345    B.01234    C.45678    D.43210
25、以下对指针变量的操作中,错误的程序段是______。
A.int x=0,*p; *p=x;      B.int x=1,*p,*q=&x;p=q;    C.int *p,*q;q=p=NULL;    D.int p,*q;q=&p;
26、有如下程序段:
int *p,a=1;
p=&a;
*p=10;
则变量a的值为______。
A.不能确定    B.1    C.10    D.11
27、有以下程序:
#include<stdio.h>
int a=2;
int f(int k)
{  static int n=0;
int m=0;
n++;a++;m++;k++;
return n+m+a+k;
}
main()
{  int k;
for(k=0;k<2;k++)printf("%d,",f(k));
printf("\n");
}
程序运行后的输出结果是______。
A.6,9,    B.6,10,    C.6,6,    D.6,7,
28、有以下程序:
#include<stdio.h>
void f(int x[],int n)
{  if(n>1)
{  printf("%d,",x[0]);
f(&x[1],n-1);
printf("%d,",x[0]);
}
else
printf("%d,",x[0]);
}
main()
{ int z[3]={4,5,6};
c语言while语句流程图f(z,3);
printf("\n");
}
程序运行后的输出结果是______。
A.6,5,4,6,5,4,    B.4,5,6,5,4,    C.4,5,6,4,5,6,    D.6,5,4,5,6,
29、有如下程序:
#include<stdio.h>
#include<string.h>
main()
{
char a[]="1234",*b="ABC";
printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),strlen(b),sizeof(b));    }
程序运行后的输出结果是______。
A.4,5,1,3    B.4,3,2,1    C.4,5,3,3    D.4,5,3,4
30、有以下程序:
#include<stdio.h>
int* sum(int data)
{
static int init=1;
init += data;
return &init;
}
main()
{
int i, *p;
for(i=1;i<=3;i++)sum(i);
p=sum(1);
printf("%d\n",*P);
}
程序运行后的输出结果是______。
A.8    B.9    C.10    D.7

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。