计算机等级考试二级C语言模拟试题及答案1.docx

上传人:b****1 文档编号:665324 上传时间:2023-04-29 格式:DOCX 页数:24 大小:22.52KB
下载 相关 举报
计算机等级考试二级C语言模拟试题及答案1.docx_第1页
第1页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第2页
第2页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第3页
第3页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第4页
第4页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第5页
第5页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第6页
第6页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第7页
第7页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第8页
第8页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第9页
第9页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第10页
第10页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第11页
第11页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第12页
第12页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第13页
第13页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第14页
第14页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第15页
第15页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第16页
第16页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第17页
第17页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第18页
第18页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第19页
第19页 / 共24页
计算机等级考试二级C语言模拟试题及答案1.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机等级考试二级C语言模拟试题及答案1.docx

《计算机等级考试二级C语言模拟试题及答案1.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C语言模拟试题及答案1.docx(24页珍藏版)》请在冰点文库上搜索。

计算机等级考试二级C语言模拟试题及答案1.docx

计算机等级考试二级C语言模拟试题及答案1

2007年计算机等级考试二级C语言模拟试题及答案

(1)

一、选择题(每题2分,共计70分)

1.循环链表的主要优点是

A)不再需要头指针了

B)从表中任一结点出发都能访问到整个链表

C)在进行插入、删除运算时,能更好的保证链表不断开

D)已知某个结点的位置后,能够容易的找到它的直接前件

2.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A)ABCEDB)DCBEA

C)DBCEAD)CDABE

3.n个顶点的强连通图的边数至少有

A)n-1B)n(n-1)

C)nD)n+1

4.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的

A)安全性B)一致性

C)可理解性D)合理性

5.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

A)抽象和信息隐蔽B)局部化和封装化

C)内聚性和耦合性D)激活机制和控制方法

6.软件开发的结构化生命周期方法将软件生命周期划分成

A)定义、开发、运行维护

B)设计阶段、编程阶段、测试阶段

C)总体设计、详细设计、编程调试

D)需求分析、功能定义、系统设计

7.在软件工程中,白箱测试法可用于测试程序的内部结构。

此方法将程序看做是

A)路径的集合B)循环的集合

C)目标的集合D)地址的集合

8.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有

A)特定的数据模型B)数据无冗余

C)数据可共享D)专门的数据管理软件

9.数据库设计包括两个方面的设计内容,它们是

A)概念设计和逻辑设计

B)模式设计和内模式设计

C)内模式设计和物理设计

D)结构特性设计和行为特性设计

10.实体是信息世界中广泛使用的一个术语,它用于表示

A)有生命的事物B)无生命的事物

C)实际存在的事物D)一切事物

11.C语言中提供的关键字是

A)swicthB)cher

C)CaseD)default

12.以下有4组用户标识符,其中合法的一组是

A)For-subCaseB)4dDOSize

C)f2_G3IfabcD)WORDvoiddefine

13.若有定义:

inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为

A)1.4B)1

C)2.0D)2

14.已知各变量的类型如下

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是

A)a+=a-=(b=4)*(a=3)B)a=a*3+2

C)x%(-3)D)y=float(i)

15.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为

A)100765.12

B)i=100,f=765.12

C)100765.12

D)x=100,y=765.12

16.下列程序的输出结果是

main()

{

inta=2;a%=4-1;

printf("%d",a);a+=a*=a-=a*=3;

printf("\n%d",a);

}

A)2,12B)-1,12

C)1,0D)2,0

17.若有以下程序

main()

{

intk=2,i=2,m;

m=(k+=i*=k);printf("%d,%d\n",m,i);

}

执行后的输出结果是

A)8,6B)8,3

C)6,4D)7,4

18.以下不正确的if语句形式是

A)if(x>y&&x!

=y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

D)if(x

19.以下程序中循环体总的执行次数是

inti,j;

for(i=6;i>1;i--)

for(j=0;j{……}

A)20B)261

C)15D)25

20.对于下面的程序,说法正确的是

main()

{

intx=3,y=4,z=2;

if(x=y+z)printf("x=y+z");

elseprintf("x!

=y+z");

}

A)不能通过编译B)输出6

C)输出x!

=y+zD)输出x=y+z

21.下列程序的输出结果是

main()

{

inta[3],i,j,k=2;

for(i=0;i<3;i++)a[i]=i;

for(i=0;ifor(j=0;ja[j]=a[i];

printf("%d\n",a[2]);

}

A)2B)3

C)1D)0

22.标准库函数fgets(buf,n,fp)的功能是

A)从fp所指向的文件中读取长度为n的字符串存入缓冲区buf

B)从fp所指向的文件中读取长度不超过n-1的字符串存入缓冲区buf

C)从fp所指向的文件中读取n个字符串存入缓冲区buf

D)从fp所指向的文件中读取长度为n-1的字符串存入缓冲区buf

23.如下程序的执行结果是

main()

{

staticinta[]={1,7,3,9,5,11};

int*p=a;

*(p+3)+=4;

printf("%d,%d",*p,*(p+3));

}

A)1,13B)1,16

C)3,13D)1,14

24.下面程序的输出是

intb=3;

fun(int*k)

{

intb=2;

b=*(k++)*b;

return(b);

}

main()

{

inta[]={11,12,13,14,15,16};

b=fun(&a[1])*b;

printf("%d\n",b);

}

A)24B)72

C)11D)33

25.执行下列程序段,结果是

intx=40;

chary=′C′;

intn;

n=(x&0xff)&&(y>′B′);

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

A)0B)1

C)2D)3

26.以下能对二维数组a进行正确初始化的语句是

A)inta[2][]={{1,0,1},{5,2,3}};

B)inta[][3]={{1,2,3},{4,5,6}};

C)inta[2][4]={{1,2,3},{4,5},{6}};

D)inta[][]={{1,0,1}{},{1,1}};

27.以下程序的执行结果是

unionun

{

inti;

charc[2];

}

main()

{

unionunx;

x.c[0]=10;

x.c[1]=1;

printf("%d",x.i);

}

A)266B)11

C)265D)138

28.与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是

A)if(x>0)y=1;

elseif(x<0)y=-1;

elsey=0;

B)if(x)

if(x>0)y=1;

elseif(x<0)y=-1;

C)y=-1

if(x)

if(x>0)y=1;

elseif(x==0)y=0;

elsey=-1;

D)y=0;

if(x>=0)

if(x>0)y=1;elsey=-1;

29.下面程序的执行结果是

#defineSUM(X)X*X

main()

{

inta=6;inti=1,j=2;

a+=SUM(i+j)/SUM(i+j);

printf("%d\n",a);

}

A)15B)2

C)7D)0

30.下列程序段的输出结果是

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{

intx=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}

A)2143B)1212

C)1234D)2112

31.下列函数的功能是将字符串ss中的特定位置上的字母实行转化(若该位置上不是字母,则不转换)。

#include

#include

voidfun(char*ss)

{

inti;

for(i=0;ss[i]!

=′\0′;i++){

if(i%2==1&&ss[i]>=′a′&&ss[i]<=′z′)

ss[i]=ss[i]-32;

}

}

main()

{

chartt[51];

clrscr();

printf("Pleaseenterancharacterstringwithin50characters:

\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n%s",tt);

fun(tt);

printf("\nbecomes\n\%s",tt);

}

若输入abc4Efg,则应输出

A)aBc4EfgB)abc4Efg

C)ABC4EFGD)abc4dfg

32.下面程序的输出结果是

fun(intx)

{

inta=3;

a*=x;

returna;

}

main()

{

intx=2,y=1,n;

n=fun(x);

n=fun(y);

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

}

A)2B)4

C)3D)8

33.下列程序的输出结果是

main()

{

char*str="12123434";

intx1=0,x2=0,x3=0,x4=0,i;

for(i=0;str[i]!

=′\0′;i++)

switch(str[i])

{

case′1′:

x4++;

case′2′:

x3++;

case′3′:

x2++;

case′4′:

x1++;

}

printf("%d,%d,%d,%d\n",x1,x2,x3,x4);

}

A)8,6,4,1B)8,6,3,2

C)8,8,4,1D)8,6,4,2

34.以下程序的结果是

main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

printf("%s\n",r);

}

A)defgB)cdef

C)ghabD)efgh

35.下列函数的功能是计算并输出下列多项式值:

Sn=∑ni=0(2.02*i-1-1.02*i)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

注意:

n的值要求大于1但不大于100。

在划线处应填入的选项是

#include

doublefun(intn)

{

inti;

doubles=0.0;

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

s=s+;

returns;

}

main()

{

intn;doubles;

printf("\nInputn:

");scanf("%d",&n);

s=fun(n);

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

}

A)1.0/(2*i-1)-1.0/(2*i)B)1.0/(2*i-1)

C)1.0/(2*i)D)1.0/(2*i)-1.0/(2*i-1)

27.以下程序的执行结果是

unionun

{

inti;

charc[2];

}

main()

{

unionunx;

x.c[0]=10;

x.c[1]=1;

printf("%d",x.i);

}

A)266B)11

C)265D)138

28.与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是

A)if(x>0)y=1;

elseif(x<0)y=-1;

elsey=0;

B)if(x)

if(x>0)y=1;

elseif(x<0)y=-1;

C)y=-1

if(x)

if(x>0)y=1;

elseif(x==0)y=0;

elsey=-1;

D)y=0;

if(x>=0)

if(x>0)y=1;elsey=-1;

29.下面程序的执行结果是

#defineSUM(X)X*X

main()

{

inta=6;inti=1,j=2;

a+=SUM(i+j)/SUM(i+j);

printf("%d\n",a);

}

A)15B)2

C)7D)0

30.下列程序段的输出结果是

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{

intx=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}

A)2143B)1212

C)1234D)2112

31.下列函数的功能是将字符串ss中的特定位置上的字母实行转化(若该位置上不是字母,则不转换)。

#include

#include

voidfun(char*ss)

{

inti;

for(i=0;ss[i]!

=′\0′;i++){

if(i%2==1&&ss[i]>=′a′&&ss[i]<=′z′)

ss[i]=ss[i]-32;

}

}

main()

{

chartt[51];

clrscr();

printf("Pleaseenterancharacterstringwithin50characters:

\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n%s",tt);

fun(tt);

printf("\nbecomes\n\%s",tt);

}

若输入abc4Efg,则应输出

A)aBc4EfgB)abc4Efg

C)ABC4EFGD)abc4dfg

32.下面程序的输出结果是

fun(intx)

{

inta=3;

a*=x;

returna;

}

main()

{

intx=2,y=1,n;

n=fun(x);

n=fun(y);

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

}

A)2B)4

C)3D)8

33.下列程序的输出结果是

main()

{

char*str="12123434";

intx1=0,x2=0,x3=0,x4=0,i;

for(i=0;str[i]!

=′\0′;i++)

switch(str[i])

{

case′1′:

x4++;

case′2′:

x3++;

case′3′:

x2++;

case′4′:

x1++;

}

printf("%d,%d,%d,%d\n",x1,x2,x3,x4);

}

A)8,6,4,1B)8,6,3,2

C)8,8,4,1D)8,6,4,2

34.以下程序的结果是

main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

printf("%s\n",r);

}

A)defgB)cdef

C)ghabD)efgh

35.下列函数的功能是计算并输出下列多项式值:

Sn=∑ni=0(2.02*i-1-1.02*i)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

注意:

n的值要求大于1但不大于100。

在划线处应填入的选项是

#include

doublefun(intn)

{

inti;

doubles=0.0;

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

s=s+;

returns;

}

main()

{

intn;doubles;

printf("\nInputn:

");scanf("%d",&n);

s=fun(n);

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

}

A)1.0/(2*i-1)-1.0/(2*i)B)1.0/(2*i-1)

C)1.0/(2*i)D)1.0/(2*i)-1.0/(2*i-1)

二、填空题(每空2分,共计30分)

1.常用的黑箱测试有等价分类法、【1】、因果图法和错误推测法4种。

输入答案,中间不含空格:

2.测试的目的是暴露错误,评价程序的可靠性;而【2】的目的是发现错误的位置并改正错误。

输入答案,中间不含空格:

3.软件维护活动包括以下几类:

改正性维护、适应性维护、【3】维护和预防性维护。

输入答案,中间不含空格:

4.在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】。

输入答案,中间不含空格:

5.关键字ASC和DESC分别表示【5】的含义。

输入答案,中间不含空格:

6.以下程序执行结果为【6】。

main()

{

inti,j,k;

for(i=0,j=5;i<=j;i++,j--);

printf("k=%d",k=i+j);

}

输入答案,中间不含空格:

7.设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式w*x+z-y所求得的数据类型为【7】。

输入答案,中间不含空格:

8.以下程序的输出结果是【8】。

main()

{

chars[]="abcdef";

s[3]=′\0′;

printf("%s\n",s);

}

输入答案,中间不含空格:

9.以下程序运行后的输出结果是【9】。

voidfun(intx,inty)

{

x=x+y;y=x-y;x=x-y;

printf("%d,%d,",x,y);

}

main()

{

intx=2,y=3;

fun(x,y);

printf("%d,%d\n",x,y);

}

输入答案,中间不含空格:

10.以下程序的功能是从键盘上输入若干个字符(以回车符作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。

请填空。

#include

#include

main()

{

charstr[81],*sptr;

inti;

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

{str[i]=getchar();if(str[i]==′\n′)break;}

str[i]=【10】;sptr=str;

while(*sptr)putchar(*sptr【11】);

}

输入答案,中间不含空格:

11.设有定义“#defineF(N)2*N”,则表达式F(2+3)的值是【12】。

输入答案,中间不含空格:

12.若在程序中用到“putchar()”函数时,应在程序开头写上包含命令【13】

,若在程序中用到"strlen()"函数时,应在程序开头写上包含命令【14】。

输入答案,中间不含空格:

13.下面的程序用来统计文件中字符的个数,请填空。

#include

main()

{

FILE*fp;

longnum=0;

if((fp=fopen("fname.dat","r"))==NULL)

{printf("Cant'topenfile!

\n");exit(0);}

while(【15】){fgetc(fp);num++;}

printf("num=%ld\n",num);

fclose(fp);

}

参考答案:

选择题

1-10BBCCCAAAAC

11-20DCBABDCCAD

21-30ADABBBAAAA

31-35ACDDA

填空题

1、边值分析法

2、调试

3、完善性软件维护活动包括以下几类:

改正性维护、适应性维护、完善性维护和预防性维护。

改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程;适应性维护是指为了使软件适应变化,而去修改软件

4、消息

5、升序排列和降序排列

6-10k=5doubleabc3223'

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2