历年计算机二级C语言笔试真题及答案_第1页
历年计算机二级C语言笔试真题及答案_第2页
历年计算机二级C语言笔试真题及答案_第3页
历年计算机二级C语言笔试真题及答案_第4页
历年计算机二级C语言笔试真题及答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009年9月计算机等级考试二级笔试试卷B)程序设计的任务就是确定所用数据结main()

1)卜.列数据结构中,属于非线性结构的构{intc=0,k;

是C)程序设计的任务就是确定所用算法for(k=l;k<3;k++)

A)循环队列B)带链队列C)二叉树D)以上三种说法都不完整switch(k)

D)带链栈12)以下选项中,能用作用户标识符的是{default:c+=k

2)卜.列数据结果中,能够按照“先进后A)voidB)8_8C)_0_D)unsignedcase2:c++;break;

出”原则存取数据的是13)阅读以下程序case4:c+=2;break;

A)循环队列B)栈C)队列D)二叉树#include<stdio.h>)

3)对于循环队列,下列叙述中正确的是main()printf("%d\n”,c);

A)队头指针是固定不变的B)队头指针{intcase;floatprintF;}

一定大于队尾指针C)队头指针一定小于print*”请输入2个数:”);程序运行后的输出结果是

队尾指针D)队头指针可以大于队尾指scanf("%d%f,,&case,&pjrintF);A)3B)5C)7D)9

针,也可以小于队尾指针printf(€t%d%f\n,,,case,printF);19)以下程序段中,与语句:

4)算法的空间复杂度是指)k=a>b?(b>c?l:0):0;功能相同的是

A)算法在执行过程中所需要的计算机存该程序编译时产生错误,其出错原因是A)if((a>b)&&(b>c))k=l;elsek=0;

储空间B)算法所处理的数据量C)A)定义语句出错,case是关键字,不能B)if((a>b)||(b>c)k=l;elsek=0;

算法程序中的语句或指令条数用作用户自定义标识符B)定义语句C)if(a<=b)k=0;elseif(b<=c)k=1;

D)算法在执行过程中所需要的临时工作出错,printF不能用作用户自定义标D)if(a>b)k=l;elseif(b>c)k=l;elsek=0;

单元数识符20)有以下程序

5)软件设计中划分模块的一个准则是C)定义语句无错,scanf不能作为输入函#include<stdio.h>

A)低内聚低耦合B)高内聚低耦合数使用D)定义语句无错,printfmain()

C)低内聚高耦合D)高内聚高耦合不能输出case的值{chars[]={<t012xy,,};inti,n=0;

6)下列选项中不属于结构化程序设计原14)表达式:(int)((double)9/2)-(9)%2的值fbr(i=0;s[i]!=0;i-»-+)

则的是是if(s[i]>=,a,&&s[i]<=,z,)n++;

A)可封装B)自顶向下C)模块化A)0B)3C)4D)5

D)逐步求精15)若有定义语句:intx=10;,则表达式}程序运行后的输出结果是

7)软件详细设计x-=x+x的值为A)0B)2C)3D)5

产生的图如下:A)-20B)-10C)0D)1021)有以卜.程序

该图是16)有以下程序#include<stdio.h>

A)N-S图B)#include<stdio.h>main()

PAD图C)程序main(){intn=2,k=0;

流程图D)E-R图{inta=I,b=0;while(k-H-&&n++>2);

8)数据库管理系统是printf(4t%d;;b=a+b);printf("%d%d\n",k,n);

A)操作系统的一部分B)在操作系统支printff%d\n”,a=2*b);}程序运行后的输出结果是

持下的系统软件C)一种编译系统}A)02B)13057D)12

D)•种操作系统程序运行后的输出结果是22)有以卜定义语句,编译时会出现编译

9)在E-R图中,用来表示实体联系的图A)0,0B)1,0C)3,2D)1,2错误的是

形是17)设有定义:inta=l,b=2,c=3;,以下语A)chara='a'B)chara=,\n,;C)char

A)椭圆图B)矩形C)菱形D)三角形句中执行效果与其它三个不同的是a=,aa\D)chara=,\x2d,;

23)有以卜程序

#include<stdio.h>

main()

{charcl,c2;

cl='A'+'8'・'4';

c2='A+8'-'5';

到,该操作为printf("%c,%d\n”,cl,c2);

A)选择B)投影C)交D)并c;D)说a>b){c=a;a=b;b=c;}}

11)以下叙述中正确的是A)程序设18)有以下程序己知字母A的ASCII码为65,程序运行

计的任务就是编写程序代码并上机#includc<stdio.h>后的输出结果是

A)E,68B)D,69C)E,DD)printf("€%d,,\strlen(p));printf(€t%s\n,\p);A)void(*pf)();pf=fiin;B)viod*pf();

输出无定值}程序运行后的输出结果是pf^fun;C)void*pR);*pf^fun;D)

24)有以下程序A)9,One*WorldB)9,0ne*DreamC)void(*p0(int,char);pf=&fun;

#include<stdio.h>10,One*DreamD)IO,One*World(34)有以卜.程序

voidfun(intp)29)有以下程序#include<stdio.h>

{intd=2;//include<stdio.h>intf(intn);

p=d++;printff%cT,p);}main()main()

main(){inta[]={2,3,5,4},i;{inta=3,s;

{inta=l;fdr(i=0;i<4;i++)s=f(a);s=s+f(a);printf(<<%d\n,,,s);

fun(a);printf("%d\n”,a);}程序运行switch(i%2)}

后的输出结果是{case0:switch(a[i]%2)intf(intn)

A)32B)12C)21D)22{caseO:a[i]-H-;break;{staticinta=l;

25)以下函数findmax拟实现在数组中查case1:a[i]—;n+=a++;

找最大值并作为函数值返回,但程序中有{break;retumn;

错导致不能实现预定功能casel:a[i[=O;}程序运行以后的输出结果

#defineMIN-2147483647)是

intfindmax(intx[],intn)fbr(i=0;i<4;i++)A)7B)8C)9D)10

{inti,max;printR“\n");35)有以卜程序

fbr(i=O;i<n;i++))#include<stdio.h>

{max=MIN;A)3344B)205003040D)#definef(x)x*x*x

iftmax<x[i])max=x[i];}0304main()

retummax;30)有以卜程序{inta=3,s,t;

}造成错误的原因是#include<stdio.h>s=f(a+l);t=f((a+l));

A)定义语句inti,max;中max未赋初值#include<string.h>printf(4t%d,%d\n\s,t);

B)赋值语句max=MIN;中,不应给maxmain()}程序运行后的输出结果

赋MIN值{chara[10]=,,abcdM;是

C)语句if(maxvx[i])max=x[i];中判断条件printfV%d,%d\n”,stiien(a),sizeof(a);A)10,64B)10,10C)64,10D)

设置错D)赋值语句max=MIN;}程序运行后的输出结果是64,64

放错了位置A)7,4B)4,10C)8,8D)10,1036)下面结构体的定义语句中,错误的是

(26)有以下程序31)卜面是有关C语言字符数组的描述,A)structord{intx;inty;intz;};structorda;

#include<stdio.h>其中错误的是B)structord{intx;inty;intz;}struct

main()A)不可以用赋值语句给字符数组名赋字orda;

{intm=l,n=2,*p=&m,*q=&n,*r;符串B)可以用输入语句把字符串C)structord{intx;inty;intz;}a;

『PRfqT;整体输入给字符数组D)struct{intx;inty;intz;}a;

C)字符数组中的内容不一定是字符串37)设有定义:char*c;,以下选项中能够

printf(t<%d,%d,%d,%d\n,,,m,n,*p,*q);D)字符数组只能存放字符串使字符型指针c正确指向一个字符串

}程序运行后的输出结果是32)下列函数的功能是的是

A)1,2,1,B)1,2,2,102,1,2,D)fiin(char*a,char*b)A)charstr[]-,string,,;c=str;B)

2,1」,2{while((*b=*a)!=,\0,){a++,b++;}}scanf("%s”,c);C)c=getchar();

27)若有定义语句:inta[4][10],*p,*q[4];A)将a所指字符串赋给b所指空间B)D)3'string”;

且0Wi<4,则错误的赋值是使指针b指向a所指字符串C)将a38)有以下程序

A)p=aB)q[i]=a[i]C)p=a[i]D)所指字符串和b所指字符串进行比较#include<stdio.h>

P=&a[2][l]D)检查a和b所指字符串中是否有30'#include<string.h>

28)有以下程序33)设有以下函数structA

#include<stdio.h>voidfun(intn,char*s){.......}则下面对{inta;charb[10];doublec;};

#include<string.h>函数指针的定义和赋值均是正确的structAf(structAt);

main()是main()

{charstr[][20]={“One*World”,{structA

<4Onc*Drcam!,,},*p=str[l];a={1001JZhangDa”,1098.0};

main()}程序运行时从键盘输入:Howare

a=f(a)jprintf(*t%d,%s,%6.1f\n”,a.a,a.b,{intx=20;you?〈回车〉则输出结果为【13】。

a.c);printf(<k%d,\0<x<20);14)有以下程序

)printf(4t%d\n,,,0<x&&x<20);}#include<stdio.h>

structAstructAt)9)以下程序运行后的输出结果是【91.typedefstruct

#include<stdio.h>{intnum;doubles}REC;

(t.a=1002;strcpy(t.b,,,ChangRong,,);t.cmain()voidfunl(REC

=1202.0;retumt;)程序运行后的输{inta=l,b=7;x){x.num=23;x.s=88.5;}

出结果是do{main()

A)100UZhangDa,1098.0B)b=b/2;a+=b;{RECa={16,90.0};

1001,ZhangDa,1202.0C)}while(b>l);fun1(a);

100hChangRong,1098.0D)printf(i4%d\nM,a);)printf(M%d\n,,,a.num);

100l,ChangRong,l202.010)有以下程序5程序运行后的输出结果是【14]

39)若有以卜.程序段#include<stdio.h>15)有以卜.程序

intr=8;main()#include<stdio.h>

printft4t%d\n,\r»1);输出结果是A)16{intfiin(intx)

B)8C)4D)2fl=0;f2=l;{if(x/2>0)run(x/2);

40)卜列关于C语言文件的叙述中正确的printff%dprintf(u%d”,x);

是fbr(i=3;i<=5;i++)}

A)文件由一系列数据依次排列组成,只{f=fl+£2;main()

能构成二进制文件B)文件由结构序fl=f2;f2=f;

{fun(6);printf("\n");}程序运行后的

列组成,可以构成二进制文件或文本)输出结果是【15】。

文件

2009年3月二级C语言笔试真题及答

)文件由数据序列组成,可以构成二进}程序运行后的输出结果是【】。

C10案

制文件或文本文件D)文件由11)有以下程序

字符序列组成,其类型只能是文本文#include<stdio.h>

(1)下列叙述中正确的是

件inta=5;A)栈是“先进先出”的线性表B)队

二、填空题(每空2分,共30分)voidfun(intb)列是“先进先出”的线性表

)循环队列是非线性结构)有

1)某二叉树有5个度为2的结点以及3{inta=10;CD

序性表既可以采用顺序存储结构,也可以

个度为1的结点,则该二叉树中共有_山a+=b;printfT%d'',a);采用链式存储结构

个结点。}(2)支持子程序调用的数据结构是

2)程序流程图中的菱形框表示的是main()A)栈B)树C)队列D)二叉树

(3)某二叉树有5个度为2的结点,则

[2]O{intc=20;

该二叉树中的叶子结点数是A)10B)

3)软件开发过程主要分为需求分析、设fun(c);a+=c;printf(tt%d\n,\a);8C)6D)4

计、编码与测试四个阶段,其中【3】阶}程序运行后的输出结果是(4)下列排序方法中,最坏情况下比较

次数最少的是

段产生“软件需求规格说明书。[11]C

A)冒泡排序B)简单选择排序C)直

4)在数据库技术中,实体集之间的联系12)设有定义:接插排序D)堆排序

可以是一对一或一对多或多对多的,structperson(5)软件按功能可以分为:应用软件、

系统软件和支撑软件(或工具软件)。下

那么“学生”和“可选课程”的联系{intID;charname[12];}p;

面属于应用软件的是

为【】。请将%;语句补充完整,

4scanf("d”,_L!2L)A)编译软件B)操作系统C)教务

5)人员基本信息一般包括:身份证号,使其能够为结构体变量p的成员ID正确管理系统D)汇编程序

姓名,性别,年龄等。其中可以作为主关读入数据。(6)下面叙述中错误的是

A)软件测试的目的是发现错误并改正错

键字的是一【5】二13)有以下程序

误B)对被调试的程序进行“错误定位”

6)若有定义语句:inta=5;,则表达式:#include<stdio.h>是程序调试的必要步骤

a++的值是【6】。main()C)程序调试通常也称为Debug

D)软件测试应严格执行测试计划,排除

7)若有语句doublex=17;inty;,当执行{chara[20]=nHowareyou?n,b[20];

测试的随意性

y=(int)(x/5)%2;之后y的值为【710scanf("%s”,b);printfC%s(7)耦合性和内聚性是对模块独立性度

8)以下程序运行后的输出结果是ni。%s\nM,a,b);量的两个标准。下列叙述中正确的是

)提高耦合性降低内聚性有利于提高模

//include<stdio.h>A

块的独立性B)降低耦合性提高内聚性

有利于提高模块的独立性{intx;aa34

C)耦合性是指•个模块内部各个元素问scanf("%d",&x);34b<CR>

彼此结合的紧密程度D)内聚性是指模if(x<=3);elseb<CR>

块间互相连接的紧密程度if(x!=10)

24)有以下程序

(8)数据库应用系统中的核心问题是printf(a%d\nf,,x);}程序运行时,

#include<stdio.h>

A)数据库设计B)数据库系统设计输入的值在哪个范围才会有输出结果

intf(intx,inty)

C)数据库维护D)数据库管理员培训A)不等于10的整数B)大于3且不等于

{return()y-x)*x);}

(9)有两个关系R,S如下:10的整数C)大于3或等于10的整数D)

main()

小于3的整数

{inta=3,b=4,c=5,d;

(19)有以下程序

ABCd=f(f(a,b),f(a,c));

#include<stdio.h>

a32printf(“机l\n",d);}程序运行

Main()

后的输出结果是

b01{inta=l,b=2,c=3,d=0;

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

if(a==1&&b++==2)

c21(25)有以下程序

if(b!=2||c—!=3)

#include<stdio.h>

printf(w%d,%d,%d\nw,a,b,c);

voidfun(char

elseprintf("%d,%d,%d\n”,a,b,c);

*s)

elseprintf("%d,%d,%d\n”,a,b,c);}

{while(*s)

程序运行后的输出结果是

{if(*s%2==0)

A)1,2,3B)1,3,2C)1,3,3

printf(“%c",*s);

D)3,2,1

s++;}}

(20)以下程序中的变量已正确定义

main()

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

RS,{char

由关系通过运算得到关系则所使用for(k=l;k<3;k++);printf(*”);程

a口二{“good”};

的运算为A)选择B)投影C)插入D)序段的输出结果是

fun(a);printf("\n”);}注意:字

连接A)********B)****C)**D)

母a的ASCH码值为97,程序运行后的输

(10)将E-R图转换为关系模式时,实体*

和联系都可以表示为A)属性B)键C)出结果是

(21)有以下程序

D)A)dB)goC)godD)good

关系域#include<stdio.h>

(11)A)1-1(26)有以下程序

以下选项中合法的标识符是main()

^include<stdio.h>

B)1—1C)-11D)1—{char

(12)intk;,voidfun(int*a,int*b)

若函数中有定义语句:*s=(“ABC);

{int*c;

则do

c=a;a=b;b=c;}

A)系统将自动给k赋初值0B)这时k中{printf(,*s%10);s++;

值无定义C)系统将自动给k赋初值-1D)main()

}while(*s);}注意,字母A的ASCII

这时k中无任何值{intx=3,y-5,*P=&x,*q=&y;

码值为65。程序运行后的输出结果是

(13)以下选项中,能用作数据常量的是fun(p,q);printf("%d,%d,”,*p,*q);

A)5670B)656667C)567D)wv

A)oll5B)0118C)1.5el.5D)fun(&x,&y);printf(%d,%d\n,*p,*q);}

ABC

115L程序运行后的输出结果是

(22)设变量已正确定义,以下不能统计

A)3,5,5,3B)3,5,3,505,3,3,5

(14)设有定义:intx=2;,以下表达式出•行中输入字符个数(不包含回车符)

D)5,3,5,3

中,值不为6的是A)x*=x+lB)的程序段是

x++,2*xC)x*=(1+x)D)2*x,x+=2(27)有以下程序

A)n=0;while((ch=getchar())!二'

(15)intx=12;^include<stdio.h>

程序段:\n')n++;B)n=0;whi1e(getchar

doubley=3.141593;printfviodf(int*p,int*q);

()!='\n')n++;

main()

(“%d%8.6f",x,y);的输出结果是C)for(n=0;getchar()!='\n';n++);

A)123.141593B)123.141593C){intm=l,n=2,*r=&m;

D)n=0;for(ch=getchar();ch!二'

12,3.141593D)123.141593f(r,&n);printf("机!,%d",叫n);}

\n';n++);

(16)若有定义语句:doublex,y,*px,*py,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论