二级C语言真题2及答案解析.docx

上传人:b****4 文档编号:11530145 上传时间:2023-03-18 格式:DOCX 页数:50 大小:34.14KB
下载 相关 举报
二级C语言真题2及答案解析.docx_第1页
第1页 / 共50页
二级C语言真题2及答案解析.docx_第2页
第2页 / 共50页
二级C语言真题2及答案解析.docx_第3页
第3页 / 共50页
二级C语言真题2及答案解析.docx_第4页
第4页 / 共50页
二级C语言真题2及答案解析.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

二级C语言真题2及答案解析.docx

《二级C语言真题2及答案解析.docx》由会员分享,可在线阅读,更多相关《二级C语言真题2及答案解析.docx(50页珍藏版)》请在冰豆网上搜索。

二级C语言真题2及答案解析.docx

二级C语言真题2及答案解析

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

(2)及答案解析

(1/40)单项选择题

第1题

下列叙述中正确的是______。

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

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

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

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

下一题

(2/40)单项选择题

第2题

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

A.程序的内部逻辑

B.程序的复杂结构

C.程序的功能

D.使用说明书

上一题下一题

(3/40)单项选择题

第3题

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

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

A.多对多

B.多对一

C.一对多

D.一对一

上一题下一题

(4/40)单项选择题

第4题

设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。

A.二分法查找

B.顺序查找

C.分块查找

D.哈希查找

上一题下一题

(5/40)单项选择题

第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/40)单项选择题

第6题

深度为7的二叉树共有127个结点,则下列说法中错误的是______。

A.该二叉树有一个度为1的结点

B.该二叉树是满二叉树

C.该二叉树是完全二叉树

D.该二叉树有64个叶子结点

上一题下一题

(7/40)单项选择题

第7题

某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。

A.DCBA

B.BDCA

C.ABCD

D.BADC

上一题下一题

(8/40)单项选择题

第8题

下面能作为软件需求分析工具的是______。

A.PAD图

B.程序流程图

C.甘特图

D.数据流程图(DFD图)

上一题下一题

(9/40)单项选择题

第9题

下面不属于对象主要特征的是______。

A.唯一性

B.多态性

C.可复用性

D.封装性

上一题下一题

(10/40)单项选择题

第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/40)单项选择题

第11题

简单程序设计步骤中不包括______。

A.编码

B.确定算法

C.安装编译程序

D.调试

上一题下一题

(12/40)单项选择题

第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/40)单项选择题

第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/40)单项选择题

第14题

若有定义:

inta;floatb;doublec;,程序运行时输入:

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/40)单项选择题

第15题

以下选项中,合法的C语言实数是______。

A.E1

B.le0

C.0.10E

D.2.le0.2

上一题下一题

(16/40)单项选择题

第16题

关于程序中的注释,以下叙述正确的是______。

A.注释的内容必须放在一对/*和*/之间

B.注释必须置于所说明的语句前或语句后

C.注释中间可以嵌套另一个注释

D.注释内容错误会导致编译出错

上一题下一题

(17/40)单项选择题

第17题

有以下程序:

#include

main()

{ inta,b;

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

{ scanf("%d",&b);

switch(b)

{ default:

printf("%d,",b++);

case1:

printf("%d,",b++);

case2:

printf("%d,",b++);

}

}

}

程序运行时输入:

123<回车>,则输出结果是______。

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/40)单项选择题

第18题

以下非法的定义语句是______。

A.longb=0L;

B.unsignedinta=-100u;

C.shortc2=0123;

D.intd=0x0;

上一题下一题

(19/40)单项选择题

第19题

有以下程序:

#include

main()

{ inta=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/40)单项选择题

第20题

有以下程序:

#include

main()

{ charc;

c=getchar();

do{

putchar(c++);

}while((c=getchar())!

=´#´);

}

程序运行时从第一列开始输入:

abcdefg##<回车>,则输出结果是______。

A.bcdefgh$

B.bcdefgh

C.abcdefg#

D.abcdefg

上一题下一题

(21/40)单项选择题

第21题

有如下程序:

#include

main()

{

chara=´0´,b=´a´;

inti;

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

{

if(i%3)putchar(a+i);

elseputchar(b+i);

}

}

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

A.a12d

B.ab3d

C.10ab

D.11ac

上一题下一题

(22/40)单项选择题

第22题

有以下程序:

#include

main()

{

charch=´M´;

while(ch!

=´K´)

{

putchar(ch);

ch--;

}

}

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

A.ML

B.MK

C.OP

D.mm

上一题下一题

(23/40)单项选择题

第23题

有以下程序:

#include

intk=5;

voidf(int*s)

{ s=&k;

*s=k;

}

main()

{ intm=3;

f(&m);

printf("%d,%d\n",m,k);

}

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

A.3,3

B.5,5

C.3,5

D.5,3

上一题下一题

(24/40)单项选择题

第24题

有如下程序:

#include

intsum_mod(inta,intb)

{

returna+b%2;

}

main()

{

inti;

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

printf("%d",sum_mood(i,4));

printf("\n");

}

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

A.12345

B.01234

C.45678

D.43210

上一题下一题

(25/40)单项选择题

第25题

以下对指针变量的操作中,错误的程序段是______。

A.intx=0,*p;*p=x;

B.intx=1,*p,*q=&x;p=q;

C.int*p,*q;q=p=NULL;

D.intp,*q;q=&p;

上一题下一题

(26/40)单项选择题

第26题

有如下程序段:

int*p,a=1;

p=&a;

*p=10;

则变量a的值为______。

A.不能确定

B.1

C.10

D.11

上一题下一题

(27/40)单项选择题

第27题

有以下程序:

#include

inta=2;

intf(intk)

{ staticintn=0;

intm=0;

n++;a++;m++;k++;

returnn+m+a+k;

}

main()

{ intk;

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/40)单项选择题

第28题

有以下程序:

#include

voidf(intx[],intn)

{ if(n>1)

{ printf("%d,",x[0]);

f(&x[1],n-1);

printf("%d,",x[0]);

}

else

printf("%d,",x[0]);

}

main()

{intz[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/40)单项选择题

第29题

有如下程序:

#include

#include

main()

{

chara[]="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/40)单项选择题

第30题

有以下程序:

#include

int*sum(intdata)

{

staticintinit=1;

init+=data;

return&init;

}

main()

{

inti,*p;

for(i=1;i<=3;i++)sum(i);

p=sum

(1);

printf("%d\n",*P);

}

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

A.8

B.9

C.10

D.7

上一题下一题

(31/40)单项选择题

第31题

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

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

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

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

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

上一题下一题

(32/40)单项选择题

第32题

有以下程序:

#include

#defineS(x)x/x*x

main()

{ intk=6,j=3;

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

}

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

A.27,27

B.9,9

C.27,29

D.29,29

上一题下一题

(33/40)单项选择题

第33题

若有定义:

typedefint*T;

T*a[20];

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

A.int**a[20];

B.int(*a)[20];

C.int*(*a)[20];

D.int*a[20];

上一题下一题

(34/40)单项选择题

第34题

设有以下程序段:

structperson

{

floatweight;

charsex;

charname[10];

}rec,*ptr;

ptr=&rec;

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

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

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

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

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

上一题下一题

(35/40)单项选择题

第35题

有如下程序:

#include

structpair

{

intfirst,second;

};

structpairget_min_max(int*array,intlen)

{

inti;

structpairres;

res.first=array[0];

res.second=array[0];

for(i=1;i{

if(array[i]res.first=array[i];

if(array[i]>res.second)

res.second=array[i];

}

returnres;

}

main()

{

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

structpairmin_max=get_min_max(array,6);

printf("rain=%d,max=%d\n",min_max.first,min_max.second);

}

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

A.min=0,max=6

B.min=1,max=20

C.min=1,max=19

D.min=0,max=21

上一题下一题

(36/40)单项选择题

第36题

有以下程序:

#include

main()

{

inti;

FILE*fp;

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

{

fp=fopen("res.txt","w");

fputc(´K´+i,fp);

fclose(fp);

}

}

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

A.EOF

B.M

C.KLM

D.L

上一题下一题

(37/40)单项选择题

第37题

有如下定义:

structst

{intn;floatt;}a[20];

FILE*fp;

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

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

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

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

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

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

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

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

上一题下一题

(38/40)单项选择题

第38题

有以下程序段:

intm=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/40)单项选择题

第39题

有以下程序:

#defineOut(n)n%2==0?

"%c":

"%d"

#include

main()

{ intx;

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

printf(Out(x),x);

}

程序的运行结果是______。

A.ABCD

B.A66C68

C.65666768

D.65B67D

上一题下一题

(40/40)单项选择题

第40题

有如下定义:

struetst

{intx;floaty;}rec,*px;

若要使指针px指向rec的成员x,正确的赋值语句是______。

A.px=(struet*)&rec.x;

B.px=(structst*)rec.x;

C.px=&rec.x;

D.*px=rec.x;

上一题下一题

(1/1)程序填空题

第41题

考生文件夹

给定程序中,函数fun的功能是:

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:

46、30、32、40、6、17、45、15、48、26,平均值为30.500000。

移动后的输出为:

46、32、40、45、48、30、6、17、15、26。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

试题程序:

#include

#include

#defineN10

doublefun(double*x)

{ inti,j;doubles,av,y[N];

s=0;

for(i=0;i/**********found**********/

av=__1__;

for(i=j=0;iif(x[i]>av){

/**********found**********/

y[__2__]=x[i];

x[i]=-1;}

for(i=0;i/**********found**********/

if(x[i]!

=__3__)y[j++]=x[i];

for(i=0;ireturnav;

}

main()

{ inti;doublex[N];

for(i=0;iprintf("\n");

printf("\nTheaverageis:

%f\n",fun(x));

printf("\nTheresult:

\n",fun(x));

for(i=0;iprintf("\n");

}

_________________

上一题下一题

(1/1)程序改错题

第42题

考生文件夹

下列给定程序中,函数fun的功能是:

根据整形参m的值,计算如下公式的值。

图片

例如,若m中的值为5,则应输出0.536389。

请改正程序中的错误,使它能得出正确的结果。

注意:

部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include

doublefun(intm)

{ doubley=1.0;

inti;

/**********found**********/

for(i=2;i/**************found********************/

y-=1/(i*i);

return(y);

}

main()

{ intn=5;

printf("\nTheresultis%lf\n",fun(n));

}

_________________

上一题下一题

(1/1)程序设计题

第43题

考生文件夹

编写函数fun,它的功能是:

求小于形参n,同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。

例如,若n为1000时,程序输出应为:

s=153.909064。

注意:

部分源程序在文件PROG1.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

doublefun(intn)

{

}

main() /*主函数*/

{ voidNONO();

printf("s=%f\n",fun(1000));

NONO();

}

voidNONO()

{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。

*/

FILE*fp,*wf;

inti,n;

doubles;

fp=fopen("in.dat","r");

wf=fopen("out.dat","w");

for(i=0;i<10;i++){

fscanf(fp,"%d",&n);

S=fun(n);

fprintf(wf,"%f\n",s);

}

fclose(fp);

fclose(wf);

}

_________________

上一题交卷

交卷

答题卡

答案及解析

(1/40)单项选择题

第1题

下列叙述中正确的是______。

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

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

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

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

参考答案:

D您的答案:

未作答

答案解析:

一个非空的数据结构如果满足以下两个条件:

有且只有一个根节点;每一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1