计算机等级考试(国家)-二级c语言真题2015年03月-(2)

计算机等级考试(国家)-二级c语言真题2015年03月-(2)


2024年4月30日发(作者:)

二级C语言真题2015年03月-(2)

一、选择题

1、下列叙述中正确的是______。

A.每一个结点有两个指针域的链表一定是非线性结构

B.所有结点的指针域都为非空的链表一定是非线性结构

C.循环链表是循环队列的链式存储结构

D.线性结构的存储结点也可以有多个指针

2、使用白盒测试方法时,设计测试用例应根据______。

A.程序的内部逻辑 B.程序的复杂结构 C.程序的功能 D.使用说明书

3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科

室治疗。则实体医生和患者之间的联系是______。

A.多对多 B.多对一 C.一对多 D.一对一

4、设序列长度为n,在最坏情况下,时间复杂度为O(log

2

n)的算法是______。

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.0.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("%dn",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,%dn",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};

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,%dn",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("%dn",*P);

}

程序运行后的输出结果是______。

A.8 B.9 C.10 D.7

31、以下对C语言函数的叙述中正确的是______。

A.调用函数时,只能把实参的值传给形参,形参的值不能传给实参

B.函数既能嵌套定义,又能递归定义

C.函数必须有返回值,否则不能使用

D.程序中有调用关系的所有函数必须放在同一个源程序中

32、有以下程序:

#include<stdio.h>

#define S(x)x/x*x

main()

{ int k=6,j=3;

printf("%d,%dn",S(k+j),S(j+k));

}

程序运行后的输出结果是______。

A.27,27 B.9,9 C.27,29 D.29,29

33、若有定义:

typedef int *T;

T *a[20];

则以下与上述定义中a类型完全相同的是______。

A.int **a[20]; B.int(*a)[20]; C.int *(*a)[20]; D.int *a[20];

34、设有以下程序段:

struct person

{

float weight;

char sex;

char name[10];

}rec, *ptr;

ptr=&rec;

从键盘读入字符串给结构体变量rec的name成员,错误的输入语句是______。

A.scanf("%s",rec->name); B.scanf("%s",);

C.scanf("%s",(*ptr).name); D.scanf("%s",ptr->name);

35、有如下程序:

#include<stdio.h>

struct pair

{

int first,second;

};

struct pair get_min_max(int* array,int len)

{

int i;

struct pair res;

=array[0];

=array[0];

for(i=1;i<len;i++)

{

if (array[i]<)

=array[i];

if (array[i]>)

=array[i];

}

return res;

}

main()

{

int array[6]={19,21,3,4};

struct pair min_max=get_min_max(array,6);

printf("rain=%d,max=%dn",min_,min_);

}

程序运行后的输出结果是______。

A.min=0,max=6 B.min=1,max=20

C.min=1,max=19 D.min=0,max=21

36、有以下程序:

#include<stdio.h>

main()

{

int i;

FILE *fp;

for(i=0;i<3;i++)

{

fp=fopen("","w");

fputc('K'+i,fp);

fclose(fp);

}

}

程序运行后,在当前目录下会生成一个文件,其内容是______。

A.EOF B.M C.KLM D.L

37、有如下定义:

struct st

{ int n;float t;} a[20];

FILE *fp;

若文件已正确打开,则以下将文件内容读入数组a中的语句错误的是______。

A.for(i=0;i<20;i++)

fread(a[i],sizeof(struct st),1L,fp);

B.fread(a,sizeof(struct st),20L,fp);

C.for(i=0;i<20;i+=2)

fread(&a[i],2*sizeof(struct st),1L,fp);

D.for(i=0;i<20;i++,i++)

fread(&a[i],sizeof(struct st),2L,fp);

38、有以下程序段:

int m=33,n=66;

m=m^n;n=n^m;m=m^n;

执行上述语句后,m和n的值分别是______。

A.m=66,n=66 B.m=33,n=66 C.m=66,n=33 D.m=33,n=33

39、有以下程序:

#define Out(n)n%2==0?"%c":"%d"

#include<stdio.h>

main()

{ int x;

for(x=65;x<69;x++)


发布者:admin,转转请注明出处:http://www.yc00.com/news/1714436031a2446085.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信