【计算机类职业资格】二级C语言笔试49及答案解析.doc
《【计算机类职业资格】二级C语言笔试49及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试49及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 49 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.以下程序的输出结果是_。 struct HAR int x,y;struct HAR *p;h2 main() h0.x=1;h0.y=2 h1.x=3;h1.y=4 h0.p=h1.p=h printf(“%d%d/n“,()h0.p)-x,(h1.p-y); (分数:2.00)A.12B.23C.14D.322.以下程序输出正确的是_ amovep(int *p,int (*a)3,int n) int i,j; for(i=0;in;i+) for(j=0;
2、jn;j+) *p=aij;p+; main() int *p,a33=1,3,5, 2,4,6; p=(int*)mallox(100) amovep)p,a,3); printf(“%d%d/n“,p2,p5);free(p) (分数:2.00)A.56B.25C.34D.程序错误3.以下程序的输出结是_。 #include stdio.h main() int a=200; #define a 100 printf(“%d“,a); #undefa printf(%d“,a); (分数:2.00)A.200 100B.100 100C.100 200D.200 2004.下列不属于软件调
3、试技术的是_。(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法5.以下数组定义中不正确的是_。(分数:2.00)A.int a23;B.int b3=0,1,2;C.int c100100=0;D.int d3=1,2,1,2,3,1,2,3,4;6.在计算面中,算法是指_。(分数:2.00)A.查询方法B.加工方祛C.解题方案的准确而完整的描述D.排序方法7.栈和队列的共同点是_。(分数:2.00)A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点8.设 a、b、c、d、mn 均为血型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,
4、则逻辑表达式(m=ab)(n=cd)运算后,n 的值为_。(分数:2.00)A.0B.1C.2D.39.下列叙述中正确的是_。(分数:2.00)A.C 程序中注释部分可以出现在程序中任伺合适的地方B.花括号“和“只能作为函数体的定界符C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C 语句之间的分隔符,不是语句的部分10.以下合法的赋值语句是_。(分数:2.00)A.X=Y=100B.D-;C.X+YD.C=int(+)11.以下程序的结果是_。 int a,b; void fun() a=100;b=200; main() int a=5;b=7 fun(); pr
5、intf(“%d%d/n“,a,b); (分数:2.00)A.100200B.57C.200100D.7512.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析13.以下程序的输出结果是_。 main() int a=3; printf(“%/n“,(a+=a-=a*a); (分数:2.00)A.B.1C.2D.-1214.以下函数值的类型是_。 fun (float x) float y; y=3*x-4; return y
6、; (分数:2.00)A.intB.不确定C.voidD.float15.以下各选项企图说明一种新的类型名,其中正确的是_。(分数:2.00)A.typedef v1 int;B.typedef v2=int;C.typedef int v3;D.typedef v4: int16.以下程序的输出结果是_。 main() char st20=“hello/0/t/“; printf(%d%d/n“,strlen(st),sizeof(st); (分数:2.00)A.99B.520C.1320D.202017.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。(分数:2.00)A.自顶向
7、下B.由外向内C.由内向外D.自底向上18.以下程序运行后的输出结果是_。 int d=1; fun(int p) printf(%d“,d);return d; main() int a=3; printf(“%/n“,fun(a+fun(d);(分数:2.00)A.699B.669C.61515D.661519.整型变量 X 和 Y 的值相等,且为非 0 值,则以下选项中结果为 0 的表达式是_。(分数:2.00)A.X|YB.X|YC.X (分数:2.00)A.19B.17C.15D.1224.下面的程序执行后,文件 test.t 中内容是_。 #includestdio.h void
8、fun(clar *fname,char *st) FILE*myf;int i; myf=fopen(fname,“w“); for(i=0;istden(st);i+)fputc(sti,myf); fclose(myf); main() fun(“test.t“,“new world“); fur(“test.t“,“hello,“;(分数:2.00)A.hello,B.new worldhelloC.new worldD.hello,rld25.以下有 4 组用户标识符,其中合法的一组是_。(分数:2.00)A.FOR -sub CaseB.4d Do SizeC.f2 G3 IF a
9、bcD.WoRD void define26.以下程序的输出结果是_。 main() int a44=1,3,5,2,4,6,3,5,7); Print(“%d%d%d%d/n“,a03,al2,a2 1,a30); (分数:2.00)A.0650B.1470C.5430D.输出值不定27.在数据流图(DFD)中,带有名字的箭头表示_。(分数:2.00)A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分28.SQL 语言又称为_。(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言29.已知二叉树 BT 的后序遍历序列是 dabe
10、c,中序遍历序列是 debac,它的前序遍历序列是_。(分数:2.00)A.cedbaB.acbedC.decabD.deabc30.若有说明 int i,j=2, *P=,则能完成 i=j 赋值功能的语句是_。(分数:2.00)A.i=*p;B.*P2=*C.i=D.i=*p;31.若有以下说明和语句: struct stint n;char *ch; struct st a35,“abc“,7,“def“,9,“ghk“,*p=a 则值为 6 的表达式是_。(分数:2.00)A.p+-nB.p-n+C.(*.n+D.+p-n32.在下列几种排序方法中,要求内存量最大的是_。(分数:2.00
11、)A.插入排序B.选择排序C.快速排序D.归并排序33.设 x 为 int 型变量,执行以下语句,X=10;X+=X-=X-X;X 的值为_。(分数:2.00)A.10B.20C.30D.4034.以下程序的输出结果是_。 main() int i,a10; for(i=9;i=0;i-)ai=10-i; print(“%d%d%d,a2,a5,a8); (分数:2.00)A.258B.741C.852D.36935.在设计程序时,应采纳的原则之一是_。(分数:2.00)A.程序结构应有助于读者理解B.不限制 goto 语句的使用C.减少或取消注解行D.程序越短越好二、B填空题/B(总题数:1
12、3,分数:26.00)36.实现算法所需的存储单元多少和算法的工作量大小分别为算法的U 【1】 /U。(分数:2.00)填空项 1:_37.数据结构包括数据的逻辑结构、数据的U 【2】 /U以及对数据的操作运算。(分数:2.00)填空项 1:_38.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的U 【3】 /U。(分数:2.00)填空项 1:_39.面向对象的模型中,最基本的概念是对象和U 【4】 /U。(分数:2.00)填空项 1:_40.软件维护活动包括以下几类:改正性维护、适应性维护、U 【5】 /U维护和预防性维护o(分数:2.00)填空项 1:_41.设
13、Y 是 int 型变量,请写出判断 Y 为奇数的关系表达式U 【6】 /U。(分数:2.00)填空项 1:_42.以下程序的输出是U 【7】 /U。 main() char str1=“How do you do“,*pl=str1; strcpy(str1+strlen(str1)/2,“es she“); intf(“%s/n“,p1);(分数:2.00)填空项 1:_43.以下程序输出的最后一个值是U 【8】 /U。 int ff(int n) static int f=1; f=f*n; retum f; main() int i; for(i=1;i=5;i+) printf(“%d
14、/n“,ff(i)i (分数:2.00)填空项 1:_44.下列程序的输出结果是U 【9】 /U。 main() int a=2,4,6,*ptr= for(y=0;y3;y+) z=(*(ptr+y)x)?*(ptr+y):x; print f(“%d/n“,z); (分数:2.00)填空项 1:_45.若有定义语句 char s100,d100;int j=0,i=0;且 s 中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式) while(si)(dj=U 【10】 /U;j+; dj=0;(分数:2.00)填空项 1:_46.若有如下结构体说明: struct STRU int
15、a,b;char c:double d; stmct STRU*p1,*p2; ; 请填空,以完成对 t 数组的定义,t 数组的每个元素为该结构体类型。U 【11】 /Ut20(分数:2.00)填空项 1:_47.下面的程序可对指定字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序算法) #includestdio.h #includestring.h main() char*str=“ABCDabcd“,temp; int n,i; n=strlen(str); while(n-1) for(i=0;in;i+) if(stristri+1) temp=U 【12】 /U;s
16、tri=stri+1; U【13】 /U=temp; printf(U 【14】 /U); (分数:2.00)填空项 1:_48.以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾,然后调用删函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 FILE*myf;long fl; myf=U 【15】 /U(“test.t“,“rb“); fseek(myf,(),SEEK_END);fl+ftell(myf); fclose(myf); printf(“%d/n“,fl);(分数:2.00)填空项 1:_二级 C 语言笔试 49 答案解析(总分:96.00,
17、做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.以下程序的输出结果是_。 struct HAR int x,y;struct HAR *p;h2 main() h0.x=1;h0.y=2 h1.x=3;h1.y=4 h0.p=h1.p=h printf(“%d%d/n“,()h0.p)-x,(h1.p-y); (分数:2.00)A.12B.23C.14D.32 解析:评析 本题中是一个含有两个结点的循环链表。 C 语言中结构体的定义为: struct 结构体类型名 成员项表; ;2.以下程序输出正确的是_ amovep(int *p,int (*a)3,int n)
18、 int i,j; for(i=0;in;i+) for(j=0;jn;j+) *p=aij;p+; main() int *p,a33=1,3,5, 2,4,6; p=(int*)mallox(100) amovep)p,a,3); printf(“%d%d/n“,p2,p5);free(p) (分数:2.00)A.56 B.25C.34D.程序错误解析:评析 本题 main 函数中定义了指针 p 和二维数组 a,通过函数 amovep 将数组的值存入指针 p 所指向的存储单元中,a 的各元素分别:a00=1,a01=3,a01=3,a02=5,a12=2,a11=4,a12=6,a20=0
19、,a21=0,a22=0。通过 malloc()函数给指针分配内存空间,free()函数用于释放指针变量所用内存空间。在主函数中通过 amovep(p,a,3)调用函数 amovep,使得实参p 与形参 P,实参数组 a 与形参中指向数组的指针变量共用同一存储空间。最后输出 p2,p5为 56。3.以下程序的输出结是_。 #include stdio.h main() int a=200; #define a 100 printf(“%d“,a); #undefa printf(%d“,a); (分数:2.00)A.200 100B.100 100C.100 200 D.200 200解析:评
20、析 #define 宏名的有效范围为定义命令之后到本源文件结束,可以在程序中使用#undef 命令终止宏定义的作用域。本题由于#undef 的作用,使 a 的作用范围在#define a 100 到#undefa 之间,故答案为 C。4.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:评析 调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。5.以下数组定义中不正确的是_。(分数:2.00)A.int a23;B.int b3=0,1,2;C.int c100100=0;D.int d3=1,2
21、,1,2,3,1,2,3,4; 解析:评析 一维数组的定义方式为: 类型说明符 数组名常量表达式; 选项 A 符合此定义形式,正确;C 语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项 C 正确;另外,如果对全部数纪元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二锥的长度不能省,所以选项 B 正确,而选项 D 是错误的。6.在计算面中,算法是指_。(分数:2.00)A.查询方法B.加工方祛C.解题方案的准确而完整的描述 D.排序方法解析:评析 计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。7.
22、栈和队列的共同点是_。(分数:2.00)A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素 D.没有共同点解析:评析 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈是一种“后进先出”的线性表;而队列是一种“先进先出”的线性表。8.设 a、b、c、d、mn 均为血型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)(n=cd)运算后,n 的值为_。(分数:2.00)A.0 B.1C.2D.3解析:评析 C 语言中比较表达式的运算结果为 0 或 1。0 代表不成立,1 表示成立。9.下列叙述中正确的是_。(分数:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 49 答案 解析 DOC
