【计算机类职业资格】二级C语言笔试-443及答案解析.doc
《【计算机类职业资格】二级C语言笔试-443及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-443及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-443 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )。A) 消除软件危机 B) 软件工程管 C) 程序设计自动化 D) 实现软件可重用(分数:1.00)A.B.C.D.2.软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及( )。A) 阶段性报告 B) 需求评审 C) 总结 D) 都不正确(分数:2.00)A.B.C.D.3.有 3个关系 R、S 和 T如下:(分数:2.00)A.B.C.D.4.以下叙述中正确的是A) C程序
2、的基本组成单位是语句 B) C 程序中每一行只能写一条语句C) 简单 C语句必须以分号结束 D) C 语句必须在一行内写完(分数:1.00)A.B.C.D.5.以下程序的运行结果是( )。 #includestdio.h main() int a=3,b=4,c=8,d=4,m=1,n=3; printf(“%d/n“,(m=ab)printf(“%d/n“,e程序运行后的输出结果是 _。A) 0 B) 70 C) 35 D) 1(分数:2.00)A.B.C.D.7.设 a和 b均为 int型变量,且 a=6、b=11、c=3,则能使值为 3的表达式是( )。A) b%(c%4) B) b%(
3、c-a%5) C) b%a-a%5 D) (b%a)-(a%4)(分数:1.00)A.B.C.D.8.若有定义:double a=22;int i=0, k=18;,则不符合 C语言规定的赋值语句是A) a=a+, i+; B) i=(a+k)=(i+k);C) i=a%11; D) i=!a;(分数:1.00)A.B.C.D.9.x,y,z 被定义为 int型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是A) INPUTx、y、z; B) scanf(“%d%d%d“,printf(“%d%d/n“,x-,-y);A) 8 8 B) 7 7 C) 7 8 D) 8 7(分数:2.0
4、0)A.B.C.D.12.若 w、x、y、z、m 均为 int型变量,则执行下列的语句后 m的值是( )。w=2, x=3, y=4, z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A.B.C.D.13.设 ab、c、d、m、n 均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB)k=kc?c:k;执行该程序段后,k 的值是_。A) 3 B) 2 C) 1 D) 0(分数:2.00)A.B.C.D.16.有如下嵌套的 if语句:if(ab)if(ac)k=a;else
5、 k=c:elseif(bc)k=b;else k=c;以下选项中与上述 if语句等价的语句是( )。Ak=(ab)?a:b;k=(bc)?b:c;Bk=(ab)?(bc)?a:b):(bc)?b:c);Ck=(ab)?(ac)?a:c):(bc)?b:c);Dk=(ab)?a:b;k=(ac)?a:c;(分数:1.00)A.B.C.D.17.有以下结构体说明和变量定义,相应的链表如图所示:(分数:1.00)A.B.C.D.18.有如下程序:#include stdiohmain()float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x;else
6、 y=1.0;printf(“%f/n“,y);该程序的输出结果是( )。A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.19.在 C语言中,函数返回值的类型最终取决于_。A) 函数定义时的函数首部所说明的函数类型B) return语句中表达式值的类型C) 调用函数时主调函数所传递的实参类型D) 函数定义时形参的类型(分数:2.00)A.B.C.D.20.在执行完下列的 C语句段之后,则 B的值是( )。char a=A;int b;B=(34 A) 0 B) 1 C) TRUE D) FALSE(分数:2.00)
7、A.B.C.D.21.若有定义语句: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.22.以下数组定义中错误的是A) int x 3=0; B) int x23=1,2,3,4,5,6;C) int x 3=1,2,3,4,5,6; D) int x23=1,2,3,4,5,6;(分数:2.00)A.B.C.D.有下列程序:#includestdio.hmain()int x=1,y=2,z=3;if(xy)if(yz)printf(“%d“,+z);els
8、e printf(“%d“,+y);printf(“%d/n“,x+);程序的运行结果是( )。A331 B41 C2 D1(分数:3.00)A.B.C.D.A.B.C.D.23.下面程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;pfintf(“%d/n“,*(p+3);A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B.C.D.24.若个外部变量的定义形式为 static int x;,那么,其中 static的作用应该是_。A) 将变量存储在静态存储区B) 使变量 x可以由系统自动初始化
9、C) 使 x只能在本文件内引用D) 使 x的值可以永久保留(分数:2.00)A.B.C.D.25.有以下程序:void swap(char *x,char *y)char t;t=*x; *x=*y; *y=t;main()char*s1=“abc“,*s2=“123“;swap(s1,s2);printf(“%s, %s/n“,s1,s2);程序执行后的输出结果是_。A) 123,abc B) abc,123C) 1bc,a23 D) 321,cba(分数:2.00)A.B.C.D.26.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0; for(i=1;i=n;i
10、+)f*=i;B) f=1;for(i=1;in;i+)f*=i;C) f=1;for(i=n;i1;i+)f*=i;D) f=1;for(i=n;i=2;i-)f*=i;(分数:2.00)A.B.C.D.27.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;A) 10 B) 1 C) 6 D) 7(分数:2.00)A.B.C.D.28.设有定义:int n1=0,n2,*p=,下列赋值语句中与 n2=n1; 语句等价的是( )。A) *p=*q; B) p=q; C) *p= D) p=*q;(分数:2.00)A.B.C.D.29.若有
11、说明:int a3=0,0;则不正确的叙述是( )A) 数组 a的每个元素的初值都是 0B) 数组 a的第一维大小为 1C) 数组 a的行数为 1D) 只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0(分数:1.00)A.B.C.D.30.若有以下定义和语句,则输出结果是char s110=“abed!“, *s2=“/n123/“;printf(“%d %d/n“, strlen(s1), strlen(s2);A) 5 5 B) 10 5 C) 10 7 D) 5 8(分数:2.00)A.B.C.D.31.有以下程序:#includestdio.h#define N 8v
12、oid fun(int*x,int i)*x=*(x+i);main()int aN=1,2,3,4,5,6,7,8),i;fun(a,2);for(i=0;iN/2;i+)printf(“%d“,ai);print*r(”/n”);程序运行后的输出结果是( )。A1313 B2234 C3234 D1234(分数:1.00)A.B.C.D.32.若有定义:“int a23;“则对 a数组的第 i行第 j列元素的正确引用为( )。A) *(*(a+i) j) B) (a+i)jC) *(a+i+j) D) * (a+i) +j(分数:1.00)A.B.C.D.33.以下程序运行时若要正确输出函
13、数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是abs(int x)if(x=0)return x;else return-x;main()int y,z,(*p)(int x)=abs;scanf(“ %d“ , float m; AA;(B) struct aa int n; float m; td;(C) struct int n; float m; aa; struct aa td;(D) struct int n; float m; td;(分数:2.00)A.B.C.D.36.以下叙述中正确的是_。A) 局部变量说明为 static存储类,其生存期将得到延长B) 全局变
14、量说明为 static存储类,其作用域将被扩大C) 任何存储类的变量在未赋初值时,其值都是不确定的D) 形参可以使用的存储类说明符与局部变量完全相同(分数:1.00)A.B.C.D.37.在位运算中,操作数每左移两位,其结果相当于( )。A) 操作数乘以 2 B) 操作数除以 2 C) 操作数除以 4 D) 操作数乘以 4(分数:2.00)A.B.C.D.38.若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )A) EOF B) -1 C) 非零值 D) 0(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)39.在结构化设计方法
15、中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 1 实际上对应一个处理模块。(分数:2.00)填空项 1:_40.按照“先进先出”的原则组织数据的结构是 1。(分数:2.00)填空项 1:_41.有以下程序:void f(int v,int w)int t;t=v;v=w;w=t;main()int x=1,y=3,z=2if(xy) f(x,y);else if(yz) f(y,z);else f (x,z);printf(“%d,%d,%d/n“,x,y,z);执行后的输出结果是U /U。(分数:2.00)填空项 1:_42.深度为 5的满二叉树中,叶子结点的个数为 1。(分数
16、:2.00)填空项 1:_43.面向对象的模型中,最基本的概念是对象和U /U。(分数:2.00)填空项 1:_44.栈的 3种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_45.度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_46.在 C语言中,while 和 dowhile循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_47.若有定义 doublea 5;,则 a数组元素下标的上限为 1。(分数:2.00)填空项 1:_48.以下程序的输出结果是_。#includestdio.hint fun(in
17、t x)static int t=0;return(t+=x);main( )int s,i;for(i=1;i=5;i+) s=fun(i);prinff(“%d/n“,s);(分数:2.00)填空项 1:_49.下列程序的运行结果是_。main()int i,a10;a0=a1=1;for(i=2;i5;i+)ai=ai-2+ai-1;for(i=0;i5;i+)if(i%2=0) printf(“/n“);printf(“%d“,ai);(分数:2.00)填空项 1:_50.有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b,则不能把结点 b连接到结点 a之后的语
18、句是_。struct nodechar data;struct node *next;a,b(分数:2.00)填空项 1:_51.以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。 #includestdio.h main() int a10, *p, *s; for(p=a;p-a10;p+) scanf(“%d“, p); for(p=a, s=a;p-a10;p+) if(*p*s) s=p; printf(“max=%d/n“, _); (分数:2.00)填空项 1:_52.下列程序的运行结果是_。#includestdi
19、o.hfunc(a,b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=5,m=3,p;p=func(k,m);printf(“%d“,p);p=func(k,m);printf(“%d/n“,p);(分数:2.00)填空项 1:_53.下列程序的运行结果是_。#define P(A) printf(“%d“,A) main()int j,a=1,2,3,4,5,6,7,i=5;for(j=3;j1;j-)switch(j)case 1:case2:P(ai+);break;case 3:P(a-i);(分数:2.00)填空项 1
20、:_二级 C语言笔试-443 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )。A) 消除软件危机 B) 软件工程管 C) 程序设计自动化 D) 实现软件可重用(分数:1.00)A.B. C.D.解析:解析 软件工程的目标是:在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。2.软件需求分析阶段的工作,可以分为
21、 4个方面:需求获取、需求分析、编写需求规格说明书以及( )。A) 阶段性报告 B) 需求评审 C) 总结 D) 都不正确(分数:2.00)A.B. C.D.解析:解析 需求分析是软件定义时期的最后一个阶段。可以概括为 4个方面:需求获取;需求分析;编写需求规格说明书;需求评审。3.有 3个关系 R、S 和 T如下:(分数:2.00)A.B.C.D. 解析:解析 在关系运算中,交的定义如下:设 R1和 R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则 R1R2 为交运算,结果仍为度等于 n的关系,其中,交运算的结果既属于 R1又属于 R2。4.以下叙述中正确的是A
22、) C程序的基本组成单位是语句 B) C 程序中每一行只能写一条语句C) 简单 C语句必须以分号结束 D) C 语句必须在一行内写完(分数:1.00)A.B.C. D.解析:解析 函数是 C程序的基本组成单位;C 语言的书写风格很自由,不但一行可以写多条语句,还可以将一条语句写在多行中。5.以下程序的运行结果是( )。 #includestdio.h main() int a=3,b=4,c=8,d=4,m=1,n=3; printf(“%d/n“,(m=ab)printf(“%d/n“,e程序运行后的输出结果是 _。A) 0 B) 70 C) 35 D) 1(分数:2.00)A.B.C. D
23、.解析:解析 “int i=0, k=18;,则不符合 C语言规定的赋值语句是A) a=a+, i+; B) i=(a+k)=(i+k);C) i=a%11; D) i=!a;(分数:1.00)A.B.C. D.解析:解析 C 语言的语法要求,运算符“%”两侧的运算量必须是整型量,选项 C中变量 a不是整型量。9.x,y,z 被定义为 int型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是A) INPUTx、y、z; B) scanf(“%d%d%d“,printf(“%d%d/n“,x-,-y);A) 8 8 B) 7 7 C) 7 8 D) 8 7(分数:2.00)A.B.C.D
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 443 答案 解析 DOC
