【计算机类职业资格】二级C语言-610及答案解析.doc
《【计算机类职业资格】二级C语言-610及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-610及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-610 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.栈与队列都只能顺序存储B.循环队列是队列的顺序存储结构C.循环链表是循环队列的链式存储结构D.栈是顺序存储结构而队列是链式存储结构2.算法空间复杂度的度量方法是_。(分数:1.00)A.算法程序的长度B.算法所处理的数据量C.执行算法所需要的工作单元D.执行算法所需要的存储空间3.设有栈 S 和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z 入栈后,将栈中所
2、有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为_。(分数:1.00)A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为_。(分数:1.00)A.EFGDCBAB.DCBEFGAC.BCDGFEAD.DCBGFEA5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用、维护到停止使用、退役的过程B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护6.通常软件测试实施的步骤是_。(分数:1.00)A.集成测试、单元
3、测试、确认测试B.单元测试、集成测试、确认测试C.确认测试、集成测试、单元测试D.单元测试、确认测试、集成测试7.下面不属于对象的主要特征的是_。(分数:1.00)A.惟一性B.多态性C.可复用性D.封装性8.数据库设计中,描述数据间内在语义联系得到 ER 图的过程属于_。(分数:1.00)A.逻辑设计阶段B.需求分析阶段C.概念设计阶段D.物理设计阶段9.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是_。(分数:1.00)A.概念数据模型B.逻辑数据模型C.物理数据模型D.关系数据模型10.有三个关系 R、S 和 T 如下: (分数:1.00)A并B.投影C交D.
4、选择11.结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_。(分数:1.00)A.三种基本结构不可以嵌套使用B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移C.选择结构是根据不同的条件执行不同分支中的语句D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句12.在 C 语言中,以下选项中不能正确表示 101000 之值的是_。(分数:1.00)A.1.0E4.0B.1.E4C.10E3D.1.0e413.以下选项中,合法的 C 语言常量是_。(分数:1.00)A.21.84B.“CPP“C.“/1.0D.2MB14.有以下程序: #includes
5、tdio.h main() int x=010, y=10; printf(“%d,%d/n“,+x,y-); 程序运行后的输出结果是_。(分数:1.00)A.10,9B.11,10C.010,9D.9,1015.若有定义:int a; float b; double c;,程序运行时输入:a=1,b=2,c=3回车,能把值 1 输入给变量 a、值 2 输入给变量 b、值 3 输入给变量 c 的输入语句是_。(分数:1.00)A.scanf(“a=%d,b=%f,c=%lf“,B.scanf(“%d%f%lf“,C.scanf(“a=% d,b=% lf,c=%lf“,D.scanf(“a=%
6、d,b=% f,c=%f“,16.有如下程序: #includestdio.h main() int a=0, b=1; if(a+ else printf(“F“); printf(“a=%d,b=%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.Ta=1,b=2B.Fa=0,b=2C.Fa=1,b=1D.Ta=0,b=117.以下不是合法 C 语言转义字符的是_。(分数:1.00)A.“/c“B.“/a“C.“/b“D.“/r“18.有以下程序: #includestdio.h main() char ch=“B“; while(ch“E“) pfintf(“%d“,
7、ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.123B.ABCC.abcD.01219.以下能够实现计算 5!的程序段是_。(分数:1.00)A.int fac=1,k=0;dok+;fac*=k;while(k5);B.int fac=0,k=1;dofac*=k;k+;while(k5);C.int fac=1,k=1;dok+;fac*=k;while(k=5);D.int fac=1,k=0;dofac*=k;k+;while(k5);20.有以下程序: #includestdio.h main() int x=0x13; if
8、(x=0x12)printf(“True“); printf(“False/n“); 程序运行后的输出结果是_。(分数:1.00)A.TrueB.TrueFalseC.FalseD.TrueFalseTrue21.有以下程序段:char c1,c2,c3;scanf(“%c%c%c“, 程序运行后的输出结果是_。(分数:1.00)A.0B.变量无定义,输出不确定C.-1D.123.以下关于函数的叙述中正确的是_。(分数:1.00)A.函数调用必须传递实参B.函数必须要有形参C.函数必须要有返回值D.函数形参的类型与返回值的类型无关24.有以下程序: #includestdio.h void f
9、un(int a,int n) int i; for(i=0;in;i+) if(i%3=0) ai-=n; else ai+=n; main() int c5=6,7,8,9,10,i; fun(c,5); for(i=0;i5;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1,12,13,4,15,B.10,9,8,7,6,C.1,7,13,9,15,D.10,12,8,4,6,25.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。 #includestdio.h main() int a10,
10、i=0; while(i10)scanf(“%d“,_); (分数:1.00)A.a+(i+)B. return s; main() int i=3,j=5,*p= r=f(p,q); printf(“%d,%d,%d,%d,%d/n“,i,j,*p,*q,*r); 程序的运行结果是_。(分数:1.00)A.5,5,5,5,5B.3,5,5,5,5C.5,3,3,3,5D.3,5,3,5,527.有如下程序: #includestdio.h #includestring.h main() printf(“%d/n“,strlen(“0/t/nA011/1“); 程序运行后的输出结果是_。(分数
11、:1.00)A.8B.9C.7D.1028.若有定义:char*ps=“aa“,“bb“,“cc“,“dd“;,则以下叙述正确的是_。(分数:1.00)A.*ps0是字符“a“B.*ps0是字符串“aa“C.ps0是字符“a“D.ps 是字符串“aa“29.以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是_。(分数:1.00)A.char*str,name10;str=“Hello World“;B.char*str,name10;name=“Hello World“;C.char str110=“prog.c“,str210;str2=str1;D.char head_line;h
12、ead_line=“= = = = = = =“;30.有如下程序: #includestdio.h void get_put() char ch; ch=getchar(); if(ch!=“/n“)get_put(); putchar(ch); main() get_put(); 程序运行时,输入 ABCD回车,则输出结果是_。(分数:1.00)A.DCDCB.DCBAC.BABAD.ABCD31.若有以下程序段: char str412=“aaa“,“bbbb“,“ccccc“,“dddddd“,*strp4; int i; for(i=0;i4;i+)strpi=stri; 则以下错误
13、引用字符串的选项是(其中 0k4)_。(分数:1.00)A.*strpB.strkC.strpkD.strp32.有以下程序: #includestdio.h main() int findmax(int,int,int),m; m=findmax(a,b,c); (分数:1.00)A.在 main 函数中声明了 findmax 函数B.在 main 函数中定义了 findmax 函数C.在 main 函数中两次调用了 findmax 函数D.在 main 函数内、外重复定义了 findmax 函数33.有如下程序: #includestdio. h int sum(int*array,int
14、 len) if(len=0) return array0; else return array0+sum(array+1,len-1); main() int array5=1,2,3,4,5; int res=sum(array,4); printf(“%d/n“,res); 程序运行后的输出结果是_。(分数:1.00)A.15B.10C.8D.134.若有定义:typedef int*T: T a20; 则以下与上述定义中 a 类型完全相同的是_。(分数:1.00)A.int*a20;B.int(*a)20;C.int a20;D.int*a20;35.有以下程序: #includest
15、dio.h #includestring.h #includestdlib.h main() char*p1,*p2; p1=p2=(char*)malloc(sizeof(char)*10); strcpy(p1,“malloc“); strcpy(p2,p1+1); printf(“%c%c/n“,p10,p20); 程序的运行结果是_。(分数:1.00)A.aaB.maC.amD.mm36.有如下定义: struct int mum; char name10; struct int y;int m;int d;birth; s,*ps= 以下对内嵌结构体成员的引用形式错误的是_。(分数:
16、1.00)A.ps-birth.yB.birth.yC.ps.birth.yD.(*ps).birth.y37.有以下程序; #includestdio.h #define N 2 #define M N+1 #define MUN (M+1)*M/2 main() printf(“%d/n“,MUN); 程序运行后的输出结果是_。(分数:1.00)A.8B.9C.5D.638.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int*array,int len) int i; stru
17、ct pair res; res.first=array0; res.second=array0; for(i=1;ilen;i+) if(arrayires.first) res.first=arrayi; if(arrayires.second) res.second=arrayi; return res; main() int array5=9,1,3,4; struet pair min_max=get_min_max(array,5) printf(“min=%d,max=%din“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.
18、00)A.min=1,max=9B.min=0,max=9C.min=1,max=4D.min=0,max=439.有以下程序: #includestdio.h main() int c,d; c=13d=10 printf(“%d,%d/n“,c,d); 程序的运行结果是_。(分数:1.00)A.51B.1,1C.18,1D.13,140.有以下程序段: FILE*fp; if(fp=fopen(“test.txt“,“w“)=NULL) printf(“不能打开文件!“); exit(0); else printf(“成功打开文件!“); 若文件 test.txt 已存在,则以下叙述正确的
19、是_。(分数:1.00)A.程序运行后,文件 test.txt 中的原有内容将全部消失B.程序运行时,会因文件存在而出错C.对文件 test.txt 进行写操作后,可以随机进行读取D.对文件 test.txt 写入的内容总是被添加到文件尾部二、程序填空题(总题数:1,分数:18.00)41.给定程序中,函数 fun 的功能是:调用随机函数产生 20 个互不相同的整数放在形参 a 所指数组中(此数组在主函数中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 试题源程序 #i
20、ncludestdlib.h #includestdio.h #define N 20 void fun(int*a) int i,x,n=0; x=rand()%20; /*found*/ while(n 1) for(i=0;in;i+) /*found*/ if(x=ai) 2; /*found*/ if(i= 3) an=x;n+; x=rand()%20; main() int xN=0,i; fun(x); printf(“The result:/n“); for(i=0;iN;i+) printf(“%4d“,xi); if(i+1)%5=0)printf(“/n“); prin
21、tf(“/n/n“); (分数:18.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中,函数 fun 的功能是:实现两个整数的交换。例如,给 a 和 b 分别输入 60 和 65,输出为:a=65 b=60。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题源程序 #includestdio.h #includeconio.h #includestdlib.h /*found*/ void fun(int a,b) int t; /*found*/ t=b;b=a,a=t; void main()
22、 int a,b; system(“CLS“); printf(“Enter a,b:“); scanf(“%d%d“, fun( printf(“a=%d b=%d/n“,a,b); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)43.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。例如,若 n 为 1000 时,程序输出应为:s=153.909064。 注意: 部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 610 答案 解析 DOC
