【计算机类职业资格】二级C语言笔试-332及答案解析.doc
《【计算机类职业资格】二级C语言笔试-332及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-332及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-332 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针2.若有“double a;”,则正确的输入语句是( )。(分数:2.00)A.scanf(“%1f“,a) ;B.scanf(“%f“,return p;void main()printf(“/n%d“,fun(5);(分数:2.00)A.5B.3C.7D.18.有下列二叉树,对此二叉树中序遍历的结果为( )。
2、(分数:2.00)A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ9.定义下列结构体(联合)数组:struct stchar name15;int age;a10=“ZHAO“,14,“WANG“,15,“LIU“,16,“ZHANG“,17;执行语句 printf(“%d,%c“,a2.age,*(a3.name+2)的输出结果为( )。(分数:2.00)A.15,AB.16,HC.16,AD.17,H10.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据
3、的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的11.下列特征中不是面向对象方法的主要特征的是( )。(分数:1.00)A.多态性B.继承C.封装性D.模块化12.下列程序的运行结果是( )。main()int x=1,y=3,a=0;while(x+!=(y=1)a+1;if(yx)break;printf(“%d,%d,%d/n”,x,y,(分数:1.00)A.;A) 2,3,2B) 2,3,1C) 1,3,313.下列程序的输出结果是( )。#includestdio.h#includestring.hmain()char a=“/n123/“;printf(“%d
4、,%d/n“,strlen((分数:1.00)A.,sizeof(A) );B.5,5C.6,6D.6,514.下列程序的输出结果是( )。#includestdio.hmain()int a=4printf(“%d/n“,(a+=a-=a*(分数:1.00)A.);A) -8B.14C.0D.-2415.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。(分数:1.00)A.6B.7C.8D.916.下列叙述中不正确的是( )。(分数:1.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量C.
5、外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量17.下列程序的输出结果是( )。#includestdio.hvoid main()int a=0,b=1,C=2;if(+a0+b0)+c;printf(“%d,%d,%d“,a,b,C) ;(分数:1.00)A.0,1,2B.1,2,3C.1,1,3D.1,2,218.若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。Struct stuint i;int name;st,*p;p=return p;void main()printf(“/n%d“,fun(5);(分数:2.00)A.5
6、B.3C.7D.1解析:解析 本题考查函数的递归调用。在函数递归调用时,fun(5):a=5-fun(3)-fun3:a=3-fun(1)-fun(1):a=3,反推回去 fun(3):a=3-3=0-fun(5):a=5-0=5,晕后的计算结果为 5。8.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.BDYEACFXZB.DYBEAFCZX C.ABCDEFXYZD.ABDYECFXZ解析:解析 对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照“左于树根结点右子树”的顺序。本题的遍历顺序是这样的:首先访问左子树;
7、BDEY;在左子树 BDEY中,也按中序遍历,先访问左子树 DY;在左子树 DY中,也按中序遍历,先访问左子树,左子树没有,则访问根结点 D,然后访问右子树 Y;接着访问根 B,再访问右于树 E:访问左子树 BDEY后,接着访问根结点 A,接着访问右子树 CFXZ;右子树 CFXZ的访问顺序同理可得:FCZX。9.定义下列结构体(联合)数组:struct stchar name15;int age;a10=“ZHAO“,14,“WANG“,15,“LIU“,16,“ZHANG“,17;执行语句 printf(“%d,%c“,a2.age,*(a3.name+2)的输出结果为( )。(分数:2.
8、00)A.15,AB.16,HC.16,A D.17,H解析:解析 本题主要考查结构体数组。a2.age 为结构体 a2的 age成员,即 16。a3.name 为指向结构体 a3的 name成员的第一个元素的指针,即指向“Z”,(a3.name+2)将指针后移两位指向第三个元素“A”,*(a3.name+2)是取指针所指向地址的内容。10.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析 数据的存储结构分为顺序结构
9、和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。11.下列特征中不是面向对象方法的主要特征的是( )。(分数:1.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。12.下列程序的运行结果是( )。main()int x=1,y=3,a=0;w
10、hile(x+!=(y=1)a+1;if(yx)break;printf(“%d,%d,%d/n”,x,y,(分数:1.00)A.;A) 2,3,2B) 2,3,1C) 1,3,3解析:解析 本题考查 while循环。第一次循环,先拿 x的值和(y-1)比较,此时 x=1,y-1=2,循环条件成立,比较完将 x的值加 1,此时 x=2,进入循环,a=a+1=1,判断 if语句的控制条件是否成立,yx不成立,接着执行下一次循环。第二次循环,先拿 x的值和(y-1)比较,此时 x=2,y-1=1,循环条件成立,比较完将 x的值加 1,此时 x=3,进入循环,a=a+1=2,判断 if语句的控制条件
11、是否成立,yx 成立,执行 break语句退出循环。13.下列程序的输出结果是( )。#includestdio.h#includestring.hmain()char a=“/n123/“;printf(“%d,%d/n“,strlen((分数:1.00)A.,sizeof(A) ); B.5,5C.6,6D.6,5解析:解析 转义字符,/n表示换行,/表示反斜杠,函数 strlen()是计算字符串的长度,不包括文件结束标志(/0),函数 sizeof()统计字符串所占的字节数。14.下列程序的输出结果是( )。#includestdio.hmain()int a=4printf(“%d/n
12、“,(a+=a-=a*(分数:1.00)A.);A) -8B.14C.0D.-24 解析:解析 表达式 a+ a-=a*8看起来复杂,其实将它分成两个表达式来计算就简单了:第一个表达式(a-=a*a)=(a=a-a*a=-12);第二个表达式(a+=a-=a*a):(a=a+a-24)。15.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。(分数:1.00)A.6B.7C.8D.9 解析:解析 变量 b的初值等于 2,所以表达式 b2 表示 b的值二进制左移两位,即扩大 4倍,所以变量 b的等于 8。然后与 a的值 1进行异或运算,得 9。16.下列叙述中不正
13、确的是( )。(分数:1.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量 C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量解析:解析 编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放:全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在考虑内存不定的情况下,最好使用全局变量。17.下列程序的输出结果是( )。#includestdio.hvoid main()int a
14、=0,b=1,C=2;if(+a0+b0)+c;printf(“%d,%d,%d“,a,b,C) ;(分数:1.00)A.0,1,2B.1,2,3C.1,1,3 D.1,2,2解析:解析 本题考查 if语句。先判断 if语句的条件是否成立,+a-0,此条件成立,又因为是进行逻辑或运算,在己知其中一个运算对象为真的情况下,不必判断另外一个运算符的真假,即不进行+b 操作,就可以直接得出整个表达式的值为逻辑 1,执行下列的+c。18.若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。Struct stuint i;int name;st,*p;p=&st;(分数:1.0
15、0)A.st.iB.*p.i C.(*p).iD.p-i解析:解析 本题主要考查结构指针:p=&st,访问结构体的成员,可以通过结构变量访问,即 st.i,也可以用等价的指针形式,即(*p).i 和 p-1。19.表示关系 abc 的 C语言表达式为( )。(分数:1.00)A.(a= B.&(b=C.(a=B) and(b=C)C) (a=b=D.(a=B) &a解析:解析 本题考查逻辑与运算符&。在 C语言中使用运算符“&”连接两个表达式,也可以表示逻辑与运算符。在 C语言中不允许出现 a=b=C 这种格式。20.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数
16、:1.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。21.若有定义:“int a23;”则对 a数组的第 i行第 j列元素的正确引用为( )。(分数:2.00)A.*(*(a+i)+j) B.(a+i)jC.*(a+i+j)D.*(a+i)+j解析:解析 本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有下列 5种:
17、aij:*(ai+j);*(*(a+ i)+j);*(ai)j;*(&a00+3*i+ j)。22.下列选项中,值为 1的表达式是( )。(分数:2.00)A.1-0B.1-/0 C.1-0D./0-0解析:解析 在 C程序中,字符量可参与任何整数运算。字符参与运算时,首先要将字符转换为对应的ASCII码值再参与整数运算。字符 1对应的 ASCII码值是 49,字符,0对应的 ASCII码值是 48,字符/0是字符串结束标识符 NULL,其对应的 ASCII码值是 0。23.若有下列定义,则对 a数组元素地址的正确引用是( )。int a5,*p=a;(分数:2.00)A.p+5B.a+1C.
18、a+1D.&a0 解析:解析 本题考查如何引用数组元素的地址。选项 A)中,p+5 引用的是 a5的地址,而数组 a只有 5个元素,即 a0、a1,a2、a3、a4,所以引用错误;选项 B)中,*a+1 指的是将数组 a的第一个元素加 1;选项 C)中,这种引用方式错误;选项D)中,&a0引用的是数组的首地址。24.利用 fseek函数可实现的操作是( )。(分数:2.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确 解析:解析 改变文件位置指针函数 fseek()的功能是:改变文件的位置指针;辅助实现文件的顺序读写:辅助实现文件的随机读写。25.在
19、C语言中,下列关于文件操作的叙述正确的是( )。(分数:2.00)A.对文件操作必须先关闭文件B.对文件操作必须先打开文件 C.对文件操作顺序没有统一规定D.以上全错解析:解析 本题考查对文件的操作。文件打开后才可以对文件进行操作,使用结束后要关闭文件。对文件的操作都是顺序读写,即从文件的第一个数据开始,依次进行读写。26.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 D.在程序设计过程中,不能同
20、时采用结构化程序设计方法与模块化程序设计方法解析:解析 在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。27.下列程序的输出结果是( )。point(char*pt);main()char b4=a, c ,s ,f,*pt=b;pt=point(pt);printf(%c/n“,*pt);point(char*p)p+=3;return p;(分数:2.00)A.sB.cC.f D.a解析:解析 本题考查函数调用时的参数传递。函数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 332 答案 解析 DOC
