【计算机类职业资格】二级C语言-613及答案解析.doc
《【计算机类职业资格】二级C语言-613及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-613及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-613 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:1.00)A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA2.下列叙述中正确的是_。(分数:1.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环
2、队列中元素的个数是由队头指针和队尾指针共同决定3.在长度为 n 的有序线性表中进行二分法查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.00)A.B.C.D.4.下列叙述中正确的是_。(分数:1.00)A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是_。(分数:1.00)A.控制流B.事件驱动C.模块
3、调用D.数据流6.在软件开发中,需求分析阶段可以使用的工具是_。(分数:1.00)A.N-S 图B.DFD 图C.PAD 图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是_。(分数:1.00)A.一致性B.分类性C.多态性D.标识唯一性8.一间宿舍可住多名学生,则实体宿舍和学生之间的联系是_。(分数: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.C 语言是一种结构化程序设计语言D.结构化程序设计提倡模块化的设计方法12.以下四个程序中,完全正确的是_。(分数:1.00)A.#includestdio.hmain();/*/programming/*/printf(“programming!/n“);B.#includestdio.hmain()/*programming*/printf(“programming!/n“);C.#includestdio.hmain()/*/*programmi
5、ng*/*/printf(“programming!/n“);D.includestdio.hmain()/*programming*/printf(“programming!/n“);13.C 源程序中不能表示的数制是_。(分数:1.00)A.十进制B.八进制C.二进制D.十六进制14.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_B.8_8C.voidD.unsigned15.若有定义语句:int x=10;,则表达式 x-=x+x 的值为_。(分数:1.00)A.10B.-20C.0D.-1016.有以下程序 #includestdio.h main() int a=1
6、,b=0; printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b); 程序运行后的输出结果是_。(分数:1.00)A.1,2B.1,0C.3,2D.0,017.有以下程序 #includestdio.h main() int a1,a2;char c1,c2; scanf(“%d%c%d%c“, printf(“%d,%c,%d,%c“,a1,c1,a2,c2); 若想通过键盘输入,使得 a1 的值为 12,a2 的值为 34,c1 的值为字符 a,c2 的值为字符 b,程序输出结果是:12,a,34,b 则正确的输入格式是_。 A B12a34bCR C12,a,
7、34,bCR D (分数:1.00)A.B.C.D.18.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W 的是_。(分数:1.00)A.a=b+cB.ch=getchar()C.ab+cD.a+19.有以下程序段 #includestdio.h main() int a,b,c; a=10;b=50;c=30; if(ab)a=b,b=c;c=a; printf(“a=%d b=%d c=%d/n“,a,b,c); 程序的输出结果是_。(分数:1.00)A.a=10 b=50 c=10B.a=10 b=50 c=30C.a=10 b=30 c=10D.a
8、=50 b=30 c=5020.下列叙述中正确的是_。(分数:1.00)A.在 switeh 语句中,不一定使用 break 语句B.在 switch 语句中,必须使用 defaultC.break 语句必须与 switch 语句中的 case 配对使用D.break 语句只能用于 switch 语句21.以下不构成无限循环的语句或语句组是_。(分数:1.00)A.n=0;while(1)n+;B.n=0;do+n;while(n=0);C.n=10;while(n);n-;D.for(n=0,i=1;i+)n+=i;22.有以下程序 #includestdio.h main() int c=
9、0,k; for(k=1;k3;k+) switch(k) default: c+=k; case 2: c+;break; case 4: c+=2;break; printf(“%d/n“,c); 程序运行后的输出结果是_。(分数:1.00)A.3B.5C.7D.923.有以下程序 #includestdio.h int f(int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.8B.10C.9D.724.若有定义
10、语句:double a,*p=,以下叙述中错误的是_。(分数:1.00)A.定义语句中,*p=,执行了 px=py=之后,正确的输入语句是_。(分数:1.00)A.scanf(“%lf%le“,px,py);B.scanf(“%f%f“C.scanf(“%f%f,x,y);D.scanf(“%lf%lf“,x,y);26.以下定义数组的语句中错误的是_。(分数:1.00)A.int num=1,2,3,4,5,6;B.int num3=1,2,3,4,5,6;C.int num24=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;27.有以下程序 #includestdi
11、o.h void fun(int a,int b) int t; t=a;a=b;b=t; main() int c10=1,2,3,4,5,6,7,8,9.0,i; for(i=0;i10;i+=2)fun(ci,ci+1); for(i=0;i10;i+)printf(“%d,“,ci); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,28.有以下程序 #includestdio.h main()
12、 int x32=0,i; for(i=0;i3;i+) scanf(“%d“,xi); printf(“%3d%3d%3d/n“,x00,x01,x10); 若运行时输入:2 4 6回车,则输出结果为_。(分数:1.00)A.2 0 0B.2 0 4C.2 4 0D.2 4 629.有以下程序段 #includestdio.h int j; float y; char name50; scanf(“%2d%f%s“, 当执行上述程序段,从键盘上输入 55566 7777123 后,y 的值为_。(分数:1.00)A.566.0B.55566.0C.7777.0D.566777.030.下列语
13、句组中,正确的是_。(分数:1.00)A.char*s;s=“Olympic“;B.char s7;s=“Olympic“;C.char*s;s=“Olympic“;D.char s7;s=“Olympic“;31.有以下函数 int fun(char*s) char*t=s; while(*t+); return(t-s); 该函数的功能是_。(分数:1.00)A.计算 s 所指字符串占用内存字节的个数B.比较两个字符串的大小C.计算 s 所指字符串的长度D.将 s 所指字符串复制到字符串 t 中32.有以下程序(注:字符 a 的 ASCII 码值为 97) #includestdio.h
14、main() char*s=“abc“; do printf(“%d“,*s%10);+s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A.abcB.789C.7890D.97989933.设有如下函数定义 #includestdio.h int fun(int k) if(k1)return 0; else if(k=1) return 1; else return fun(k-1)+1; 若执行调用语句:n=fun(3);,则函数 fun 总共被调用的次数是_。(分数:1.00)A.3B.2C.4D.534.有以下程序 #includestdio.h int f(i
15、nt n); main() int a=3,s; s=f(A);s=s+f(A);printf(“%d/n“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是_。(分数:1.00)A.9B.8C.7D.1035.设有定义: struct complex int real,unreal;data1=1,8,data2; 则以下赋值语句中错误的是_。(分数:1.00)A.data2.real=data1.unreal;B.data2=data1;C.data2.real=data1.real;D.data2=(2,6);36
16、.有以下程序 #includestdio.h struct sint n;int a20; voidf(struct S*p) int i,j,t; for(i=0;ip-n-1;i+) for(j=i+1;jp-n;j+) if(p-aip-aj)t=p-ai;p-ai=p-aj;p-aj=t; main() int i;struct S s=10,2,3,1,6,8,7,5,4,10,9; f( for(i=0;is-n;i+)printf(“%d,“,s.ai); 程序运行后的输出结果是_。(分数:1.00)A.10,9,8,7,6,5,4,3,2,1,B.1,2,3,4,5,6,7,8
17、,9,10,C.2,3,1,6,8,7,5,4,10,9,D.10,9.8,7,6,1,2,3,4,5,37.有以下程序 #includestdio.h #includestring.h typedef structchar name9;char sex;int score2;STU; STU f(STU a) STU b=“Zhao“,“m“,85,90; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; return a: main() STU c=“Qian“,“f“,95,92,d;
18、d=f(c); printf(“%s,%c,%d,%d,“,d.name,d.sex,d.score0,d.score1); printf(“%s,%c,%d,%d/n“,c.name,c.sex,c.score0,c.score1); 程序运行后的输出结果是_。(分数:1.00)A.Zhao,m,85,90,Qian,f,95,92B.Zhao,m,85,90,Zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,Zhao,m,85,9038.以下关于宏的叙述中正确的是_。(分数:1.00)A.宏替换没有数据类型限制B.宏定义必须位于源程
19、序中所有语句之前C.宏名必须用大写字母表示D.宏调用比函数调用耗费时间39.设有以下语句 int a=1,b=2,c; c=a(b2); 执行后,c 的值为_。(分数:1.00)A.8B.7C.9D.640.有以下程序 #includestdio.h main() FILE *fp;int a10=1,2,3,i,n; fp=fopen(“d1.dat“,“w“); for(i=0;i3;i+) fprintf(fp,“%d“,ai); fprintf(fp,“/n“); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,“%d“, felose(fp
20、); printf(“%d/n“,n); 程序的运行结果是_。(分数:1.00)A.123B.12300C.1D.321二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:将形参 s 所指字符串中下标为奇数的字符取出,并按 ASCII 码大小递增排序,将排序后的字符存入形参 p 所指的字符数组中,形成一个新串。 例如,形参 s 所指的字符串为“baawrskjghzlicda”,执行后 p 所指字符数组中的字符串应为“aachjlsw”。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得
21、更改程序的结构! 试题程序: #includestdio.h void.fun(char*s,char*p) int i,j,n,x,t; n=0; for(i=0;si!=“/0“;i+)n+; for(i=1;in-2;i=i+2) /*found*/ 1; /*found*/ for(j= 2+2;jn;j=j+2) if(stsj)t=j; if(t!=i) x=si; si=st; st=x; for(i=1,j=0;in;i=i+2,j+) pj=si; /*found*/ pj= 3; main() char s80=“baawrskjghzlicda“,p50; printf(
22、“/nThe original string is:%s/n“,s); fun(s,p); printf(“/nThe result is:%s/n“,p); (分数:18.00)三、程序改错题(总题数:1,分数:18.00)42.下列给定程序中,函数 fun 的功能是:用下面的公式求 的近似值,直到最后一项的绝对值小于指定的数(参数 num)为止。 (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)43.编写函数 fun,其功能是:删除一个字符串中指定下标的字符。其中,a 指向原字符串,删除指定字符后的字符串存放在 b 所指的数组中,n 放指定的下标。 例如,输入一个字符串
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 613 答案 解析 DOC
