【计算机类职业资格】二级C语言笔试-58及答案解析.doc
《【计算机类职业资格】二级C语言笔试-58及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-58及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-58 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化2.表示关系 abc 的 C语言表达式为( )。(分数:2.00)A.(a=b)B.a+;C.a=b=c=d=100;D.a=(b=3)+(d=5);4.下列叙述中不正确的是( )。(分数:2.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个
2、函数内部的局部变量5.下列选项中,值为 1的表达式是( )。(分数:2.00)A.1-0B.1-/0C.1-0D./0-06.定义下列结构体(联合)数组: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, H7.下列程序的运行结果是( )。main()int x=1,y=3,a=0;while(x+!=(y-=1)a+=1;i
3、f(yx)break;printf(“%d,%d,%d/n“,x,y,(分数:2.00)A.;A)8.有下列程序:main()int x=5;doprintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。(分数:2.00)A.1B.20C.1 4D.死循环9.在 C语言中,下列关于文件操作的叙述正确的是( )。(分数:2.00)A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对文件操作顺序没有统一规定D.以上全错10.执行语句 printf(“%u/n“, +12345)的输出结果是( )。(分数:2.00)A.12345B.0C.-1D.非定值11.有以
4、下程序:#includestdio.hmain()int a=6,b=7,m=1;switch(a%2)case 0:m+;break;case 1 :m+;switch(b%2)defaut:m+;case0:m+;break;printf(“%d/n“,m);(分数:1.00)A.1B.2C.3D.412.有下列程序:fun(int x)int p;if(x= =0 x= =1) return(3);p=x-fun(x-2);return p;main( )print f(“%d/n“,fun(7 );执行后输出的结果是( )。(分数:1.00)A.7B.3C.2D013.利用 fseek
5、函数可实现的操作是( )。(分数:1.00)A.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机读写D.以上答案均正确14.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:1.00)A.B.C.D.15.若有定义:“int a23;“则对 a数组的第 i行第 j列无素的正确引用为( )。(分数:1.00)A.*(*(a+i)+j)B.(a+i)jC.*(a+i+j)D.*(a+i)+j16.若有下列说明和语句,则对结构体变量 st中成员 i的引用方式不正确的是( )。Struct stuint i;int name;st,*p;p=(分数:1.00)A.st.iB.*p.iC
6、.(*p).iD.p-i17.下列关于栈的描述中错误的是( )。(分数:1.00)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针18.下列叙述中错误的是( )。(分数:1.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的19.下列叙述中错误的是( )。(分数:1.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表20.下列选
7、项中不会引起二义性的宏定义是( )。(分数:1.00)A.#define S(x) X*XB.#define S(x)(x)*(x)C.#define S(x)(x*x)D.#define S(x)(x)*(x)21.若有“double a;“,则正确的输入语句是( )。(分数:2.00)A.scanf(“%1f“,a);B.scanf(“%f“,C.scanf(“%1f“,22.下列程序的输出结果是( )。#includestdio.hmain()int a=4;print f(“%d/n“,(a+=a-=a*(分数:2.00)A.);scanf(“%c%c%c%c“,c5=getchar(
8、); c6=getchar();putchar(c1);putchar(c2);printf(“%c%c/n“,c5,c6);程序运行后,若从键盘输入(从第 1列开始)123CR45678CR则输出结果是( )。(分数:2.00)A.1267B.1256C.1278D.124524.若有运算符: 、*=、%、sizeof,则它们按优先级(由低至高)的正确排列次序为( )。(分数:2.00)A.*= % sizeofB. *= % sizeofC.%= sizeof %D.*= % sizeof25.下列不属于软件工程的 3个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境26
9、.下列程序的输出结果是( )。#includestdio.hint fun(int x)int p;if(x=0x=1)return 3;elsep=x-fun(x-2);return p;void main()print f(“/n%d“, fun(5);(分数:2.00)A.5B.3C.7D.127.下列选项中,当 x为大于 1的奇数时,值为 0的表达式是( )。(分数:2.00)A.x%2=1B.x/2C.x%2!=0D.x%2=028.下列程序的输出结果是( )。point(char*pt);main()char b4= a,c,s,f ,*pt=b;pt=point(pt);prin
10、tf(“%c/n“,*pt);point(char*p)p+=3;return p;(分数:2.00)A.sB.cC.fD.a29.设计软件结构是在软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期C.软件维护期D.以上 3个都不是30.字符串“/“ABCDEF/“/“的长度是( )。(分数:2.00)A.15B.10C.7D.831.下列程序的输出结果是( )。#includestdio.hvoid main()int a=0,b=1,c=2;if(+a0+b0)+c;printf(“%d,%d,%d“,a,b,c);(分数:2.00)A.0,1,2B.1,2,3C.1,1
11、,3D.1,2,232.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD33.下列说法正确的是( )。(分数:2.00)A.一个 C程序可以有多个主函数B.一个 C语言的函数中只允许有一对花括号C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内D.在对 C程序进行编译时,可以发现注释行中的拼写错误34.若有下列定义,则对 a数组无素地址的正确引用是( )。int a5,*p=a;(分数:2.00)A.p+5B.*a+1C.printf(“%d,%d/n“,strlen((分数:2.00)A.,sizeof(a);36.已有定
12、义 int(*q)(),指针 q可以( )。(分数:2.00)A.指向函数的入口地址B.代表函数的返回值C.表示函数的类型D.表示函数返回值的类型37.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法38.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。(分数:2.00)A.6B.7C.8D.93
13、9.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+140.若变量已正确定义,下列正确的程序段是( )。(分数:2.00)A.while(ch=getchar()=/N)putchar(ch);B.while(ch=getchar()=/n)putchar(ch);C.while(ch=getchar()!=/N)putchar(ch);D.while(ch=getchar()!=/n)putchar(ch);二、填空题(总题数:15,分数:30.00)41.算法的复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00
14、)填空项 1:_42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_43.树中度为零的结点称为 1。(分数:2.00)填空项 1:_44.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_45.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_46.若 x和 a均是 int型变量,则计算完 x=(a=4,6*2)后的 x值为 1。(分数:2.00)填空项 1:_47.若 a是 int型变量,则下列表达式的值为_。(a=2*3,a*2),a+4(分数:2.00)填空项 1:_48.下列程序段是从键
15、盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_49.下列程序的运行结果是_。#includestdio.hmain()int a,b,c,n;a=2;b=0;c=1;n=1;while(n=3)c=c*a;b=b+c;+n;printf(“b=%d“,b);(分数:2.00)填空项 1:_50.下列程序的输出结果是_。main()int i=0,a=0;while(i20)for(; )if(i%10)=0)break;else i-;i+=11;a+=i;prin
16、tf(“%d/n“,a);(分数:2.00)填空项 1:_51.下列程序的运行结果是_。#includestdio.hlong func(int x)long p;if(x=0x=1)return(1);p=x*func(x-1);return(p);main()printf(“%d/n“, func(4);(分数:2.00)填空项 1:_52.下列程序将二维数组 a的行和列元素互换后存放到另一个二维数组 b中。请填空。main()int a23= 1,2,3,4,5 , b32,i,j;for(i=0;i2;i+)for(j=0; j3;j+)(分数:2.00)填空项 1:_53.下列程序的
17、运行结果是_。#includestdio.hmain()int fun();fun();fun()static int a4= 1,2,3,4;int i;for(i=0;i4;i+) ai+=ai;for(i=0;i4;i+) print f(“%d,“,ai );printf“/n“);(分数:2.00)填空项 1:_54.设有下列程序:#includestdio.h#includestring.hmain()int i;char s10,t10;gets(t);for(i=0;i2;i+)gets(s);if(strcmp(t,s)0)strcpy(t,s);print f(“%s/n“
18、,t);程序运行后,从键盘上输入(CR代表回车符): DEFCRBADEFCRQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_55.下列程序的运行结果是_。#define P(a) printf(“%d “,a)main()int j,a= 1,2,3,4,5,6,7,i=5;for(j=3;jl ;j-)switch(j)case 1:case 2: P(ai+); break;case 3: P(a-i);(分数:2.00)填空项 1:_二级 C语言笔试-58 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列特征
19、中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。2.表示关系 abc 的 C语言表达式为( )。(分数:2.00)A.(a=b) B.a+;C.a=b=c=d=100;D.a=(b=3)+(d=5);解析:解析 C 语言规定,赋值号的右边可以是一个赋值表达式,因此选项 C)、选项 D)正确;在选项 B)中,a+是一个自加 1的表达
20、式,a 被重新赋值,因此它是一个合法的赋值表达式:选项 A)中,a+d 是一个算术表达式,虽然最后有一个分号,但这个表达式中没有赋值操作,因此它不是一条赋值语句。4.下列叙述中不正确的是( )。(分数:2.00)A.在 C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在 C的函数中,最好使用全局变量 C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量解析:解析 编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单
21、元,在程序运行的自始至终都占用固定的单元。在考虑内存不定的情况下,最好使用全局变量。5.下列选项中,值为 1的表达式是( )。(分数:2.00)A.1-0B.1-/0 C.1-0D./0-0解析:解析 在 C程序中,字符量可参与任何整数运算。字符参与运算时,首先要将字符转换为对应的ASC II码值再参与整数运算。字符 1对应的 ASC II码值是 49,字符0对应的 ASC II码值是 48,字符/0是字符串结束标识符 NULL,其对应的 ASC II码值是 0。6.定义下列结构体(联合)数组:struct stchar name15;int age;a10=“ZHAO“,14, “WANG“
22、,15, “LIU“,16, “ZHANG“,17 ;执行语句 printf“%d,%c“,a2.age, *(a3.name+2)的输出结果为( )。(分数:2.00)A.15, AB.16, HC.16, A D.17, H解析:解析 本题主要考查结构体数组。a2.age 为结构体 a2的 age成员,即 160 a3.name为指向结构体 a3的 name成员的第一个元素的指针,即指向“Z”,(a3.name+2)将指针后移两位指向第三个元素“A”,*(a3).name+2)是取指针所指向地址的内容。7.下列程序的运行结果是( )。main()int x=1,y=3,a=0;while(
23、x+!=(y-=1)a+=1;if(yx)break;printf(“%d,%d,%d/n“,x,y,(分数:2.00)A.;A)解析:解析 本题考查 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语句的控制条件是否成立,yx 成立,执行 break语句退出循环
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 58 答案 解析 DOC
