【计算机类职业资格】二级C语言笔试-425及答案解析.doc
《【计算机类职业资格】二级C语言笔试-425及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-425及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-425 及答案解析(总分:98.50,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列对于线性链表的描述中正确的是 _。A) 存储空间不一定是连续,且各元素的存储顺序是任意的B) 存储空间不一定是连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A.B.C.D.2.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A) PAD 图 B) N-S 图 C) 结构图 D) 数据流图(分数:2
2、.00)A.B.C.D.3.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D.4.对下列二叉树(分数:2.00)A.B.C.D.5.数据库(DB) 、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是( )。A) DB 包含 DBS 和 DBMS B) DBMS 包含 DB 和 DBSC) DBS 包含 DB 和 DBMS D) 没有任何关系(分数:1.00)A.B.C.D.6.算法的
3、时间复杂度是指A) 执行算法程序所需要的时间 B) 算法程序的长度C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数(分数:2.00)A.B.C.D.7.数据流图中带有箭头的线段表示的是A) 控制流 B) 事件驱动 C) 模块调用 D) 数据流(分数:2.00)A.B.C.D.8.程序流程图中有箭头的线段表示的是_。A) 图元关系 B) 数据流C) 控制流 D) 调用关系(分数:2.00)A.B.C.D.9.下列选项中不属于软件生命周期开发阶段任务的是( )。A) 软件测试 B) 概要设计 C) 软件维护 D) 详细设计(分数:2.00)A.B.C.D.10.表达式5-1的值
4、是( )。A整数 4 B字符 4C表达式不合法 D字符 6(分数:1.00)A.B.C.D.11.下列叙述中正确的是A) 构成 C 程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main( )函数必须放在其他函数之前D) C 函数定义的格式是 Kint fun2 ( double x, double y )double a=0,b=0;a = fun1 (x) ;b = fun1 (y); return(int) (a + b);main()doublew;w=fun2(1.1,2.0);程序执行后变量 w 中的值是( )。A) 5.21 B) 5 C) 5.0 D) 0.0(
5、分数:1.00)A.B.C.D.15.设变量 a 是 int 型,f 是 float 型,i 是 double 型,则表达式 10+a+i*f 值的数据类型为A) int B) float C) double D) 不确定(分数:1.00)A.B.C.D.16.能正确表示逻辑关系“a)10 或 a0”的 C 语言表达式是( )。A) a =10 or a=0 B) a =0|a=10C) a=10 B) char a=0,1,2,3,4,5;C) char a=A,B,C; D) int a5=“0123“;(分数:1.00)A.B.C.D.19.有以下程序: #includestdio.h
6、main() int i=0,a=0; while(i20) for(;) if(i%5)=0)break; else i-; i+=13,a+=i; pfintf(“%d/n“,a); 程序的输出结果是( )。 A) 62 B) 63 C) 23 D) 36(分数:1.00)A.B.C.D.20.若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0,*p=x;则错误引用 x 数组元素的是_。A) *p B) x5 C) *(p+1) D) *x(分数:2.00)A.B.C.D.21.有下列程序:fun(int x,int y)static int m=0,i=2;i+=m
7、+1;m=i+x+y;return m;main()int j=1,m=1,k;k=fun(j,m);printf(“%d,“,k);k=fun(j,m);printf(“%d/n“.k);执行后的输出结果是( )。A) 5,5 B) 5,11 C) 11,11 D) 11,5(分数:2.00)A.B.C.D.22.有以下程序:main()int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(“%d“,d+ 1);elseprintf(“d“,+d+1);printf(“%d/n“,d);程序运行后的输出结果是 _。A) 2 B) 3 C) 43 D) 44(分数:2.
8、00)A.B.C.D.23.有以下程序:main()int a=666, b=888;printf(“% d/n“, a, b);程序运行后的输出结果是_。A) 错误信息 B) 666 C) 888 D) 666,888(分数:2.00)A.B.C.D.24.有以下程序:void f(int b)int i;for(i=2;i6;i+)bi*=2;main()int a10=1,2,3,4,5,6,7,8,9,10,i;f(a);for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是_。A) 1,2,3,4,5,6,7,8,9,10, B) 1,2,6,8,10
9、,12,7,8,9,10C) 1,2,3,4,10,12,14,16,9,10, D) 1,2,6,8,10,12,14,16,9,10,(分数:2.00)A.B.C.D.25.以下叙述中正确的是( )。A) 用 C 程序实现的算法必须要有输入和输出操作B) 用 C 程序实现的算法可以没有输出但必须要有输入C) 用 C 程序实现的算法可以没有输入但必须要有输出D) 用 C 程序实现的算法可以既没有输入也没有输出(分数:1.00)A.B.C.D.26.下列说法不正确的是( )。A) 调用函数时,实参可以是表达式B) 调用函数时,实参与形参可以共用内存单元C) 调用函数时,将实参的值复制给形参,使
10、实参变量和形参变量在数值上相等D) 调用函数时,实参与形参的类型必须一致(分数:2.00)A.B.C.D.27.有以下程序:int f1(double a)return a*a;int f2(int x,int y)double a,b;a=f1(x);b=f1(y);return a+b;main()double w;w=f2(2.1,4.0);程序执行后,变量 w 的值是( )。A) 20.21 B) 20 C) 20.0 D) 0.0(分数:2.00)A.B.C.D.28.有以下程序 #includestdio.h void main() int n=2,k=1; while(!(k0|
11、n+); printf(“%d %d/n“,k,n); 程序运行后的输出结果是( )。 A) 0 2 B) 1 3 C) 5 7 D) 1 2(分数:2.00)A.B.C.D.29.下列程序的输出结果是( )。#includestdio.hmain()char a=a,b,c,d,e,f,/0;int i,j;i=sizeof(A) ;j=strlen(A) ;printf(“%d,%d“,i,j);A) 7,7 B) 7,6 C) 6,6 D) 6,7(分数:2.00)A.B.C.D.30.下面程序的输出是_。main()int x=3,y=6,a=0;while(x+!=(y-=1)a+=
12、1if(yx)break;printf(“x=%d,y=%d,=%d/n“,x,y,a);A) x=4,y=4,a=1 B) x=5,y=5,a=1C) x=5,y=4,a=3 D) x=5,y=4,a=1(分数:2.00)A.B.C.D.31.若有以下结构体定义,则_是正确的引用或定义。struct exampleint x;int y;v1;A) example.x=10 B) example v2.x=10C) example.x=10 D) struct example v2=10;(分数:2.00)A.B.C.D.32.若有定义:char *x=“abcdefghi“;,以下选项中正
13、确运用了 strcpy 函数的是_。(A) char y10;strcpy(y,x4);(B) char y10;strcpy(+y,x1);(C) char y10,*s;strcpy(s=y+5,x);(D) char y10,*s;strcpy(s=y+1,x+1);(分数:2.00)A.B.C.D.33.有下列函数:int fun(char*s)char*t=s;while(*t+);return(t-s);该函数的功能是( )。A) 比较两个字符串的大小B) 计算 s 所指字符串占用内存字节的个数C) 计算 s 所指字符串的长度D) 将 s 所指字符串复制到字符串 t 中(分数:2.
14、00)A.B.C.D.34.有下列程序:#include stdio.hvoid fun(char *a, char *B) while(*a=*)a+;while(*b=*A) b+;a+;main()char *s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是( )。A) *a*b B) a*b C) a*b* D) ab(分数:2.00)A.B.C.D.35.在 C 语言中,变量的隐含存储类别是A) auto B) static C) extern D) 无存储类别(分数:2.00)A.B.C.D.36.设有下面的定义: struct st int a; f
15、loat b; d; int*p; 要使 P 指向结构变量 d 中的 a 成员,正确的赋值语句是( )。 A) *p=d.a; B) p=int i,k,n;fp=fopen(“data.dat“,“w+“);for(i=1;i6;i+)fprimtf(fp,“%d“,i);if(i%3=0)fprintf(fp,“/n“);rewind(fp);fscanf(fp,“%d%d“,k,n);printf(“%d%d/n“,k,n);fclose(fp);程序运行后的输出结果是_。A) 0 0 B) 123 45 C) 1 4 D) 1 2(分数:2.00)A.B.C.D.39.有下列程序:#i
16、ncludestdio.hmain()FILE*pf;char*s1=“China“,*s2=“Beijing“;pf=fopen(“abc.dat“,“wb+“);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);以上程序执行后 abc.dat 文件的内容是( )。AChina BChinang CChinaBeijing DBeijingChina(分数:1.00)A.B.C.D.40.若 fp 是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )A) EOF B)
17、 -1 C) 非零值 D) 0(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:33.50)41.一个队列的初始状态为空。现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为 1。(分数:2.00)填空项 1:_42.设一棵完全二叉树共有 700 个结点,则在该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_43.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_44.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_45.软件测试分
18、为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 1 测试。(分数:2.00)填空项 1:_46.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,U /U负责数据的模式定义与数据的物理存取构建。(分数:1.50)填空项 1:_47.有以下程序:int sub(int n) return(n/10+n%10); main()int x, y;scanf(“% d“, y=sub(sub(sub(x);printf(“% d/n“, y);若运行时输入:1234回车,程序的输出结果是U /U。(分数:2.00)填空项 1:_48.设变量已正确定义为整型,则表达式 n=i=2,+
19、i,i+的值为U /U。(分数:2.00)填空项 1:_49.在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是 1。(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#includestdio.hmain()int a=2,b= 1,c=2;if(ab)if(b0) c=0;else c+;printf(“%d/n“,c);(分数:2.00)填空项 1:_51.在循环中,continue 语句与 break 语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_52.下列程序运行后的输出结果是_。#includ
20、estdio.hmain()int k=1,s=0;doif(k%2)!=0)continue;s+=k;k+;whiIe(k10);printf(“s=%d/n“,s);(分数:4.00)填空项 1:_以下程序按下面指定的数据给 x 数组的下三角置数,并按如下形式输出:请填空。43 72 6 91 5 8 10#includestdio.hmain( )int x44,n=0,i,j;for(j=0;j4;j+)for(i=3;i=j;U /U)n+;xij=U /U;for(i=0;i4;i+)for(j=0;j=i;j+) printf(“%3d“,xij);printf(“/n“);(
21、分数:4.00)填空项 1:_填空项 1:_53.设在主函数中有以下定义和函数调用语句,且 fun 函数为 void 类型,请写出 fun 函数的首部U /U。要求形参名为 b。main()double s10 22;int n;fun(s);(分数:2.00)填空项 1:_54.深度为 5 的满二叉树有 1 个叶子结点。(分数:2.00)填空项 1:_二级 C 语言笔试-425 答案解析(总分:98.50,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列对于线性链表的描述中正确的是 _。A) 存储空间不一定是连续,且各元素的存储顺序是任意的B) 存储空间不一定是连续
22、,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A. B.C.D.解析:解析 线性链表属于链式存储结构,在链式存储结构中,存储空间可以不连续,各元素的存储顺序是任意的,元素之间的逻辑关系是由指针域来决定的。2.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A) PAD 图 B) N-S 图 C) 结构图 D) 数据流图(分数:2.00)A.B. C.D.解析:解析 N-S 图是由 Nassi 和 Shneiderman 提出的一种
23、符合程序化结构设计原则的图形描述工具。它的提出是为了避免流程图在描述程序逻辑时的随意性上灵活性。3.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D. 解析:解析 前序遍历的第一个结点 a 为树的根结点;中序遍历中 a 左边的结点为 a 的左子树, a 右边的结点为 a 的右子树;再分别对 a 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。4.对下列二叉树(分数:2.00)A.B.C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 425 答案 解析 DOC
