【计算机类职业资格】二级C语言笔试90及答案解析.doc
《【计算机类职业资格】二级C语言笔试90及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试90及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试 90及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:60.00)1.若有一些定义和语句: #include stdio.h int a=4,b=3,*p,*q,*w; p= q= w=q; q=NULL; 则以下选项中错误的语句是( )。(分数:2.00)A.*q=0;B.w=p;C.*p=a;D.*p=*w;2.某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为( )。(分数:2.00)A.n+1B.n-1C.2nD.n/23.有以下程序: #include stdio.h int fun(char s) int n=0;
2、 while(*s=9s+; return(n); main() char s10=6,1,*,4,*,9,*,0,*; printf(“%d/n“,fun(s); 程序的运行结果是( )。(分数:2.00)A.9B.61490C.61D.54.在结构化程序设计中,模块划分的原则是( )。(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度5.有以下程序: #include stdio.h main() int a=1,b=2,c=3,x; x=(ab) printf(“%d/n“,x); 程序的运行结果
3、是( )。(分数:2.00)A.0B.1C.2D.36.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是( )。(分数:2.00)A.1B.2C.3D.47.以下数组定义中错误的是( )。(分数:2.00)A.int x3=0;B.int x23=1,2,3,4,5,6;C.int x3=1,2,3,4,5,6;D.int x23=(1,2,3,4,5,6;8.以下程序的输出结果是( )。 main() int a=0,i; for(i=1;i5;i+) switch(i) casc 0: case 3:a+=2; case 1: case
4、 2:a+=3; default:a+=5; printf(“%d/n“,a); (分数:2.00)A.31B.13C.10D.209.有以下程序: point(char *p) p+=3; main() char b4=a,b,c,d, *p=b; point(p); printf(“%c/n“,*p); 程序运行后的输出结果是( )。(分数:2.00)A.aB.bC.cD.d10.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上
5、述 3种说法都不对11.下面选项中不属于面向对象程序设计特征的是( )。(分数:1.00)A.继承性B.多态性C.类比性D.封装性12.有以下计算公式: (分数:1.00)A.if(x=0) y=sqrt(; else y=sqrt(-;B.y=sqrt(; if(x0) y=sqrt(-;C.if(x=0) y=sqrt(; if(x0) =sqdrt(-;D.y=sqrt(x=0?x:-;13.若有以下函数首部: int fun(double x10,int *n) 则下面针对此函数的函数声明语句中正确的是( )。(分数:1.00)A.int fun(double x, int *;B.i
6、nt fun(double, in;C.int fun(double *x, int ;D.int fun(double*, int*);14.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表的第一个结点。 (分数:1.00)A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点15.以下选项中非法的表达式是( )。(分数:1.00)A.0=x100B.i=j=0C.(cha(65+3)D.x+1=x+116.有定义语句:int b;char c10;,则正确的输入语句是( )。(分数:1
7、.00)A.scanf(“%d%s“,B.scanf(“%d%s“,C.scanf(“%d%s“,b,;D.scanf(“%d%s“,b,&;17.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )。(分数:1.00)A.c1c2B.c1 ps=s; printf(“%c/n“,*ps+4); 程序运行后的输出结果是( )。(分数:1.00)A.aB.eC.uD.元素 s4的地址19.以下不能定义为用户标识符的是( )。(分数:1.00)A.scanfB.VoidC._3com_D.int20.有以下程序: #include stdio.h main() FILE
8、 *fp; int i,k=0, n=0; fp=fopen(“d1.dat“,“w“); for(i=1;i4;i+) fprintf(fp,“%d“,i); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,“%d%d“, printf(“%d%d/n“,k,n); fclose(fp); 执行后输出结果是( )。(分数:1.00)A.1 2B.123 0C.1 23D.0 021.有以下程序: #include stdio.h main() FILE *fp; int i,k,n; fp=fopen(“data.dar“,“w+“); for(i
9、=1;i6;i+) fprintf(fp,“%d “,i); if(i%3=0) fprintf(fp,“/n“); rewind(fp); fscanf(fp,“%d%d“, printf(“%d%d/n“,k,n); fclose(fp); 程序运行后的输出结果是( )。(分数:1.00)A.0 0B.123 45C.1 4D.1 222.数据库技术的根本目标是要解决数据的( )。(分数:1.00)A.存储问题B.共享问题C.安全问题D.保护问题23.有以下程序: main() char str=“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0
10、;ps-) puts(ps); 执行后输出结果是( )。(分数:1.00)A.yz xyZB.z yzC.z yzD.x xy xyz xyz24.以下程序中,while 循环的循环次数是( )。 main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; (分数:1.00)A.1B.10C.6D.死循环,不能确定次数25.有以下程序段: main() int a=5,*b,*c; c= b= 程序在执行了“c= b=”语句后,表达式“*c”的值是( )。(分数:1.00)A.变量 a的地址B.变量 b中的值C.变量 a中的值D
11、.变量 b的地址26.可在 C程序中用作用户标识符的一组标识符是( )。(分数:1.00)A.and _2007B.Date y-m-dC.Hi DTomD.case Bigl27.有以下程序; void f(int *x,int *y) int t; t=*x; *x=*y; *y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a; q= while (pq) f(p,q);p+; q-; for(i=0;i8; i+) printf(“%d,“,ai); 程序运行后的输出结果是( )。(分数:1.00)A.8,2,3,4,5,6,7,1,B.5,6
12、,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,28.以下程序调用 fmdmax函数返回数组中的量大值: findmax(int *a,int n) int *p,*s; for(p=a,s=a;p-an;p+) if(_)s=p; return(*s); main() int x5=12,21,13,6,18; printf(“%d/n“,findmax(x,5); 在下划线处应填入的是( )。(分数:1.00)A.psB.*p*sC.aaD.p-ap-s29.下列叙述中错误的是( )。(分数:1.00)A.在数据库系统中,数据的物理结构必须
13、与逻辑结构一致B.数据库技术的根本目标是要解决数据的共享问题C.数据库设计是指在已有数据库管理系统的基础上建立数据库D.数据库系统需要操作系统的支持30.有以下程序: #include string.h main() char str20=“Hello“,“beijing“,*p=str; ptintf(“%/n“,strlen(p+20); 程序运行后的输出结果是( )。(分数:1.00)A.0B.5C.7D.2031.有以下程序: main() int a10=1,2,3,4,5,6,7,8,9,10),*p= printf(“%d/n“,*p+*q); 程序运行后的输出结果是( )。(分
14、数:1.00)A.16B.10C.8D.632.以下叙述中错误的是( )。(分数:1.00)A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过咖语句返回D.函数形参的值也可以传回给对应的实参33.一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为( )。(分数:1.00)A.221B.219C.231D.22934.以下叙述中正确的是( )。(分数:1.00)A.构成 C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义
15、35.下面程序的功能是输出以下形式的金字塔图案: * * * * main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf(“ “); for(j=1;j=( );j+)printf(“*“); printf(“/n“); 在下划线处应填入的是( )。(分数:1.00)A.iB.2*1-1C.2*i+1D.i+236.有以下程序: void sum(int a) a0=a-1+a1; main() int a10=1,2,3,4,5,6,7,8,9,10; sum( printf(“%d/n“,a2); 程序运行后的输出结果是( )。(分数
16、:1.00)A.6B.7C.5D.837.有定义语句:“int x,y;”,若要通过“scanf(“%d,%d“,”语句使变量 x得到数值 11,变量y得到数值 12,下面四组输入形式中,错误的是( )。(分数:1.00)A.11 12回车B.11, 12回车C.11,12回车D.11,回车 12回车38.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下叙述中正确的是( )。(分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息39.若变量 x、y 已正确定义并赋值,
17、以下符合 C语言语法的表达式是( )。(分数:1.00)A.+x,y=x-B.x+1=yC.x=x+10=x+yD.double(/1040.下列选项中不属于结构化程序设计方法的是( )。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用41.在关系数据库中,用来表示实体之间联系的是( )。(分数:1.00)A.树结构B.网结构C.线性表D.二维表42.有以下程序段: int k=0,a=1,b=2,c=3; k=ab ? b:a; k=kc ? c:k; 执行该程序段后,k 的值是( )。(分数:1.00)A.3B.2C.1D.043.有以下程序: main() int y=10
18、; while(y-); printf(“y=%d/n“,y); 程序执行后的输出结果是( )。(分数:1.00)A.y=0B.y=-1C.y=1D.while构成无限循环44.有以下程序: void sort(int a, int n) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj) t=ai; ai=aj; aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa+2,5); for(i=0;i10;i+)printf(“%d,“,aai); printf(“/n“); 程序运行后
19、的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10,D.1,2,9,8,7,6,5,4,3,10,45.设有如下 3个关系表: (分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S46.以下不能正确计算代数式 sin2()值的 C语言表达式是( )。(分数:1.00)A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)47.已有定义:
20、char a=“xyz“,b=x,y,z;,以下叙述中正确的是( )。(分数:1.00)A.数组 a和 b的长度相同B.a数组长度小于 b数组长度C.a数组长度大于 b数组长度D.以述说法都不对48.有以下程序: main() int c=35; printf(“%d/n“,c 程序运行后的输出结果是( )。(分数:1.00)A.0B.70C.35D.149.下列叙述中正确的是( )。(分数:1.00)A.break语句只能用于 switch语句B.在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中,不一定使
21、用 break语句50.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0的表达式是( )。(分数:1.00)A.(!a=1) a=(3*5,a+4); printf(“a=%d/n“,a); (分数:2.00)填空项 1:_57.以下程序运行后的输出结果是U 【7】 /U。 main() int m=011,n=11; printf(“%d %d/n“,+m,n+); (分数:2.00)填空项 1:_58.有以下程序: main() int t=1,i=5; for(; i=0;i-) t*=i; printf(“%d/n“,t); 执行后输出结果是U 【8】 /U。(分数:2
22、.00)填空项 1:_59.以下程序的运行结果是U 【9】 /U。 main() int a=2,b=7,c=5; switch(a0) case 1: switch (b0) case 1:printf(“); break; case 2:pnntf(“!“); break; case 0: switch (c=5) case 0:pnntf(“*“); break; case 1:printf(“#“); break; case 2:printf(“$“); break; default: printf(“ printf(“/n“); (分数:2.00)填空项 1:_60.有以下程序段,且
23、变量已正确定义和赋值。 for(s=1.0, k=1; k=n;k+) s=s+1.0/(k*(k/1); printf(“s=%f/n/“,s); 请填空,使下面程序段的功能与之完全相同。 s=1.0; k=1; while(U 【10】 /U) s=s+1.0/(k*(k+1); U【11】 /U; printf(“s-=%f/n/n“,s);(分数:2.00)填空项 1:_61.以下程序的输出结果是U 【12】 /U。 #include stdio.h main() int i; for(i-a; if; i+,i+) printf(“%c“,i-a+A); printf(“/n“);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 90 答案 解析 DOC
