【计算机类职业资格】二级C语言笔试-418及答案解析.doc
《【计算机类职业资格】二级C语言笔试-418及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-418及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-418 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈的描述中错误的是_。A) 栈是先进后出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入和删除操作中,不需要改变栈底指针(分数:2.00)A.B.C.D.2.下列叙述中正确的是_。A) 线性表是线性结构 B) 栈与队列是非线性结构C) 线性列表是非线性性结构 D) 二叉树是线性结构(分数:2.00)A.B.C.D.3.下列叙述中错误的是( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅
2、有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.4.下列叙述中正确的是_。(A) 线性链表是线性表的链式存储结构(B) 栈与队列是非线性结构(C) 双向链表是非线性结构(D) 只有根结点的二叉树是线性结构(分数:2.00)A.B.C.D.5.两个或两个以上模块之间关联的紧密程度称为A) 耦合度 B) 内聚度 C) 复杂度 D) 数据传输特性(分数:2.00)A.B.C.D.6.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.7.下列叙述中,不属于软件需求规格说明书
3、的作用的是A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:2.00)A.B.C.D.8.在数据库系统中,用户所见的数据模式为A) 概念模式 B) 外模式 C) 内模式 D) 物理模式(分数:2.00)A.B.C.D.9.对下列二叉树(分数:2.00)A.B.C.D.10.在关系数据库中,用来表示实体之间联系的是( )。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D.11.下列关于栈的描述正确的是( )。A) 在栈中只能插入元素而不能删除元
4、素B) 在栈中只能删除元素而不能插入元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:1.00)A.B.C.D.12.下列不属于软件工程 3 个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.13.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交C) 投影 D) 笛卡儿乘积(分数:2.00)A.B.C.D.14.以下程序段中与语句 k=ab? (bc? 1:0):0;功能等价的是( )。A) if(ab)else k=0;B)if(ab)
5、|(bc) k=1;else k=0;C) if(a=b) k=0;else if(b=c) k=1;D) if(ab) k=1;else if(bc) k=1;else k=0;(分数:1.00)A.B.C.D.15.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。A) %、sizeof、= B) sizeof、%、=、C) sizeof、%、= D) sizeof、%、=(分数:2.00)A.B.C.D.16.下列程序的运行结果是( )。int y=5,x=14;y=(x=3*y,x+1),x-1);printf(“x=%d,y=%d“,x,y);A)
6、 x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27(分数:2.00)A.B.C.D.17.设有定义“int x=2;”,下列表达式中,值不为 6 的是( )。Ax*=x+1 Bx+,2*xCx*=(1+x) D2*x,x+=2(分数:1.00)A.B.C.D.18.若有定义语句:int x=10;则表达式 x-=x+x 的值为A) -20 B) -10 C) 0 D) 10(分数:1.00)A.B.C.D.19.设以下变量均为 int 类型,表达式的值不为 7 的是A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6
7、,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)(分数:1.00)A.B.C.D.20.有以下程序:#includestdio.hmain()int y=9;for(;y0;y-)f(y%3=0)printf(“%d“,-y);程序的运行结果是_。A) 741 B) 963 C) 852 D) 875421(分数:2.00)A.B.C.D.21.以下选项中正确的语句组是( )。A) char s; s=“HELLO!“; B) char *s; s=“HELLO!“;C) char s10; s=“HELLO!“; D) char *s; s=“HELLO!“;(分数:2.
8、00)A.B.C.D.22.if 语句的基本形式为:if(表达式)语句,其中“表达式”( )。 A) 可以是任意合法的表达式 B) 必须是逻辑表达式 C) 必须是逻辑表达式或关系表达式 D) 必须是关系表达式(分数:2.00)A.B.C.D.23.有以下程序main()int x=0,y=0,i;for(i=1;+i)if(i%2=0) x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是A) 2,1 B) 2,2 C) 2,5 D) 5,2(分数:2.00)A.B.C.D.24.以下函数 findmax 拟实现在数组中查找最大值
9、并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN-2147483647int findmax(int x,int n)int i,max;for(i=0;in;i+)max=MIN;if(maxxi)max=xi;return max;造成错误的原因是( )。A定义语句“int i,max;”中,max 未赋初值B赋值语句“max=MIN”;中,不应给 max 赋 MIN 值C语句“if(maxximax=xi)”中,判断条件设置错误D赋值语句“max=MIN;”放错了位置(分数:1.00)A.B.C.D.25.有下列程序段:int n,t=1,s=0;scanf(“
10、%d“,dos=s+t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。A) 任意正奇数 B) 任意负偶数C) 任意正偶数 D) 任意负奇数(分数:2.00)A.B.C.D.26.以下能正确定义二维数组的是_。A) int a3; B) int a3=2*3;C) int a3=; D) int a23=1), 2, 3,4;(分数:2.00)A.B.C.D.27.若有定义和语句:int*pp,*p,a=20,b=10;pp=p=p=printf(“%d,%d/n“,*p,*pp);则输出结果是( )。A)20,10 B)20,20 C)10,20
11、D)10,10(分数:2.00)A.B.C.D.28.当说明一个结构体变量时,系统分配给它的内存是A) 各成员所需内存量的总和 B) 结构中第一个成员所需内存量C) 成员中占内存量最大者所需的容量 D) 结构中最后一个成员所需内存量(分数:2.00)A.B.C.D.29.若要求从键盘读入含有空格字符的字符串,应使用函数_。(A) getc()(B) gets()(C) getchar()(D) scanf()(分数:2.00)A.B.C.D.30.有以下程序#include stdio.hint fun(char s ) int n=0;while(*s=9s+;retum(n);main(
12、)char s10=6,1,*,4,*,9,*,0,*;printf(“%d/n“,fun(s);程序的运行结果是A)9 B)61490 C)61 D)5(分数:2.00)A.B.C.D.31.有以下程序:main(int argc,char * argv)int n=0,i;for(i=1;iargc;i+)n=n*10+argvi-0;printf(“%d/n“,n);编译连接后生成可执行文件 tt.exe. 若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是_。A) 12 B) 12345C) 12345678 D) 136(分数:2.00)A.B.C.D.32.以下
13、程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main( )int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);A) 22 B) 10 C) 34 D) 30(分数:2.00)A.B.C.D.33.若有以下程序:#includestdio.hvoid f(int n);main( )void f(int n);f(5);void f(int n) pri
14、ntf(“%d/n“,n);则下列叙述中不正确的是A) 若只在 main 中对函数 f 进行说明,则只能在 main 中正确调用函数 fB) 在 main 前对函数 f 进行说明,则在 main 和其后的其他函数中都可以正确调用函数 fC) 对于以上程序,编译时系统会提示出错信息:提示对 f 函数重复说明D) 函数 f 无返回值,所以可用 void 将其类型定义为无返回值型(分数:2.00)A.B.C.D.34.下列程序的输出结果是( )。#includestdio.h#includestring.hmain()char a=“/n123/“;printf(“%d,%d/n“,strlen(A
15、) ,sizeof(A) );A) 5,6 B) 5,5 C) 6,6 D) 6,5(分数:1.00)A.B.C.D.35.设有以下语句char x=3,y=6,Z;z=xy2;则 z 的二进制值是A) 00010100 B) 00011011 C) 00011100 D) 00011000(分数:2.00)A.B.C.D.36.已知 int a=1,b=3 则 ab 的值为A) 3 B) 1 C) 2 D) 4(分数:2.00)A.B.C.D.37.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。Aauto 和 register Bextern 和 register C
16、auto 和 static Dstatic 和 register(分数:1.00)A.B.C.D.38.设有定义语句 int (*f)(int);,则以下叙述正确的是A) f 是基类型为 int 的指针变量B) f 是指向函数的指针变量,该函数具有一个 int 类型的形参C) f 是指向 int 类型一维数组的指针变量D) f 是函数名,该函数的返回值是基类型为 int 类型的地址(分数:2.00)A.B.C.D.39.有以下函数:fun(char *p)return p;该函数的返回值是( )。A) 无确切值 B) 形参 p 中存放的地址值C) 一个临时存储单元的地址 D) 形参 p 自身的
17、地址值(分数:2.00)A.B.C.D.40.有以下程序:#inelude stdio.hmain( )int i,j,x=0;for(i=0;i2;i+ )x+;for(j=0;j=3;j +)fi(j%2) continue;x+;x+;pfinff( “x = % d/n“,x);程序执行后的输出结果是( )。A) x=4 B) x=8 C) x=6 D) x=12(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有
18、 1 个元素。(分数:2.00)填空项 1:_42.程序流程图中的菱形框表示的是 1。(分数:2.00)填空项 1:_43._(黑箱或白箱)测试方法完全不考虑程序的内部结构和内部特征。(分数:2.00)填空项 1:_44.常用的黑箱测试有等价分类法、_、因果图法和错误推测法 4 种。(分数:2.00)填空项 1:_45.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_46.执行以下程序后的输出结果是_。main()int a=10;a=(3*5,a+4);printf(“a=%d/n“,a);(分数:2.00)填空项 1:_47
19、.若有定义语句:int a=5;,则表达式:a+的值是 1。(分数:2.00)填空项 1:_48.若 a 是 int 型变量,且 a 的初值为 4,则计算 a+=a-=a*a 表达式后 a 的值为 1。(分数:2.00)填空项 1:_49.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值:a=7b=9请完成输出语句:printf(“_“,a,b);(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#includestdio.hmain()int x=1, y=1,a=1,b=1;switch(x)case 1:switch (y)case 0:
20、a+; break;case 1:b+; break;case2: a+: b+; break;printf(“a=%d,b=%d/n“,a,b);(分数:4.00)填空项 1:_51.下列程序的输出结果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(“%d/n“,i);break;printf(“%d/n“,i+);(分数:2.00)填空项 1:_52.在计算机中,字符的比较是对它们的 1 进行比较。(分数:2.00)填空项 1:_53.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串“yes!”,否则函数
21、返回字符串“no!”,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adsda。请填空。#include stdio, h#include string, hchar * huiwen(char * str)char *p1, * p2; int i,t=0;p1 = str;p2 =U /U;for(i =0;i= strlen(str)/2;i + )if( * pl + ! = * p2 - ) t = 1 ;breakif(U /U) return( “yes !“ );else return( “no!“ );main( ) char str50;printf( “Iap
22、ut:“ ); scanf(“ % s“, str);printf(“%s /n“,U /U);(分数:2.00)填空项 1:_54.以下程序的输出结果是U /U。#include stdioh#deftne JFT(x)x*xmain()int a,k=3;a=+JFT(k+1);printf(“%d“,a);(分数:2.00)填空项 1:_55.以下程序中函数 fun()的功能是构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数 disp。*#include atdio.htype
23、def struct node /*链表结点结构*/char sub3;struct node * next;NodeNode un(char s) /*建立链表*/void disp(Node * h)Node * Psp=h-next;while(U /U)printf(“%s/n“,p-suh);p=U /U;main( )Node * hd;hd = fun( ); disp(hd) ;prinff(“ /n“ );(分数:2.00)填空项 1:_二级 C 语言笔试-418 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 418 答案 解析 DOC
