【计算机类职业资格】二级C语言-612及答案解析.doc
《【计算机类职业资格】二级C语言-612及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-612及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-612 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是_。(分数:1.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括_。(分数:1.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划5.算法的
2、有穷性是指_。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用6.对长度为 n 的线性表排序,存最坏情况下,比较次数不是 n(n-1)/2 的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计
3、阶段9.有三个关系 R、S 和 T 如下: (分数:1.00)A并B.自然连接C.笛卡儿积D交10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为_。(分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩11.下列叙述中错误的是_。(分数:1.00)A.一个 C 语言程序只能实现一种算法B.C 程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在12.以下选项中,能用作数据常量的是_。(分数:1
4、.00)A.115LB.0118C.1.5e1.5D.011513.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:1.00)A.下划线B.大写字母C.数字字符D.连接符14.设变量已正确定义并赋值,以下正确的表达式是_。(分数:1.00)A.x=y+z+5,+yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.015.设有定义:int x=2;,以下表达式中,值不为 6 的是_。(分数:1.00)A.x+,2*xB.2*x,x+=2C.x*=(1+x)D.x*=x+116.有以下程序 #includestdio.h main() int x,y,z;
5、 x=y=1; z=x+,y+,+y; printf(“%d,%d,%d/n“,x,y,z); 程序运行后的输出结果是_。(分数:1.00)A.2,3,1B.2,3,2C.2,3,3D.2,2,117.有以下程序 #includestdio.h main() char c1,c2; c1=“A“+“8“-“4“; c2=“A“+“8“-“5“; printf(“%c,%d/n“,c1,c2); 已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是_。(分数:1.00)A.E,DB.D,69C.E,68D.输出无定值18.若有定义 int x,y;并已正确给变量赋值,则以下选项中与表
6、达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。(分数:1.00)A.(x-y0|x-y0)B.(x-y0)C.(x-y0)D.(x-y=0)19.有以下程序 #includestdio.h main() int x=1,y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“,y); 程序运行后的输出结果是_。(分数:1.00)A.3B.2C.1D.020.若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的 switch 语句是_。(分数:1.00)A.switch(a+b)
7、case 1: printf(“*/n“);case 2+1: printf(“*/n“);B.switch(int)x);case 1: printf(“*/n“);case 2: printf(“*/n);C.switch(x)case 1.0: printf(“*/n“);case 2.0: printf(“*/n“);D.switch(a+b)case 1: printf(“*/n“);case c: printf(“*/n“);21.有以下程序 #includestdio.h main() int y=9; for(;y0;y-) if(y%3=0)printf(“%d“,-y);
8、程序的运行结果是_。(分数:1.00)A.852B.963C.741D.87542122.有以下程序 #includestdio.h main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j-) if(i*j3)break; m*=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.m=4B.m=2C.m=6D.m=523.有以下程序 #includestdio.h int fun(int x,int y) if(x!=y)return(x+y)/2); else return(x); main() int a
9、=4,b=5,c=6; printf(“%d/n“,fun(2*a,fun(b,c); 程序运行后的输出结果是_。(分数:1.00)A.6B.3C.8D.1224.有以下程序 #includestdio.h int add(int a,int b)return(a+b); main() int k,(*f)(int,int),a=5,b=10; f=add; . 则以下函数调用语句错误的是_。(分数:1.00)A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a.b);D.k=*f(a,b);25.有以下程序 #includestdio.h main() int n,*p=NU
10、LL; *p= printf(“Input n:“); scanf(“%d“, printf(“output n:“); printf(“%d/n“,p); 该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误,以下语句正确的是_。(分数:1.00)A.int n,*p=NULL;B.*p=C.scanf(“%d“,26.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N 10int xN;B.#define N=10;int xN;C.int x010;D.int x;27.有以下程序 #includestdio.h main() int a=2,3,5,4,
11、i; for(i=0;i4;i+) switch(i%2) case 0: switch(ai%2) case 0:ai+;break; case 1:ai-; break; case 1:ai=0; for(i=0;i4;i+)printf(“%d“,ai);printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.3 0 4 0B.2 0 5 0C.3 3 4 4D.0 3 0 428.有以下程序 #includestdio.h main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=i;j+)
12、t+=bibji; printf(“%d/n“,t); 程序运行后的输出结果是_。(分数:1.00)A.3B.4C.1D.929.以下语句中存在语法错误的是_。(分数:1.00)A.char ss620;ss1=“right?“;B.char ss20=“right?“;C.char*ss6;ss1=“right?“;D.char*ss*“right?“;30.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:1.00)A.while(*t=*s)t+;s+;B.for(i=0;ti=si;i+);C.do*t+=*s+;)while(*s);D.for(i=0,j=0;t
13、i+=sj+;);31.有以下程序 #includestdio.h 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); 程序执行后的输出结果是_。(分数:1.00)A.1bc,a23B.abc,123C.123,abcD.321,cba32.有以下函数 int fun(char *x, char *y) int n=0; while(*x=*y)y+;n+; return n; 函数的功能是_。(分数:
14、1.00)A.统计 x 和 y 所指字符串中最前面连续相同的字符个数B.查找 x 和 y 所指字符串中是否有“/0“C.将 y 所指字符串赋给 x 所指存储空间D.统计 x 和 y 所指字符串中相同的字符个数33.有以下程序 #includestdio.h int fun() static int x=1; x*=2; return x; main() int i,s=1; for(i=1;i=3;i+) s*=fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.30B.10C.0D.6434.在一个 C 源程序文件中所定义的全局变量,其作用域为_
15、。(分数:1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern 说明来决定范围35.以下叙述中错误的是_。(分数:1.00)A.用 typedef 定义新的类型名后,原有类型名仍有效B.可以用 typedef 将已存在的类型用一个新的名字来代表C.可以通过 typedef 增加新的类型D.用 typedef 可以为各种类型起别名,但不能为变量起别名36.有以下程序 #includestdio.h struct S int a,b;data2=10,100,20,200; main() struct S p=data1; printf(“
16、%d/n“,+(p.A); 程序运行后的输出结果是_。(分数:1.00)A.21B.11C.20D.1037.有以下程序 #includestdio.h #define PT 3.5; #define S(x)PT*x*x; main() int a=1,b=2;printf(“%4.1f/n“,S(a+b); 程序运行后的输出结果是_。(分数:1.00)A.31.5B.程序有错无输出结果C.7.5D.14.038.有以下程序 #includestdio.h main() unsigned char a=2,b=4,c=5,d; d=a|b;dprintf(“%d/n“,d); 程序运行后的输
17、出结果是_。(分数:1.00)A.4B.3C.5D.639.有以下程序 #includestdio.h #includestdlib.h main() int *a,*b,*c; a=b=c=(int*)malloc(sizeof(int); *a=1;*b=2,*c=3; a=b; printf(“%d,%d,%d/n“,*a,*b,*c); 程序运行后的输出结果是_。(分数:1.00)A.1,1,3B.2,2,3C.1,2,3D.3,3,340.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操
18、作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件。因此只能顺序存取数据二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是计算下式: 直到 (分数:18.00)三、程序改错题(总题数:1,分数:18.00)42.下列给定程序中,函数 fun 的功能是:将 s 所指字符串的正序和反序进行连接,形成的新串放在 t 所指的数组中。 例如,当 s 所指字符串为“ABCD”时,t 所指字符串中的内容应为“ABCDDCBA”。 请改正程序中的错误,使它能得出正确
19、的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #includestring.h /*fnund*/ void fun(char s,char t) int i,d; d=strlen(s); for(i=0;id;i+) ti=si; for(i=0;id;i+) td+i=sd-1-i; /*fnund*/ t2*d-1=“/0“; main() char s100,t100; printf(|/nPlease enter string S:“); scanf(“%s“,s); fun(s,t); printf(
20、“/nThe result is:%s/n“,t); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)43.编写函数 fun,其功能是:将 s 所指字符串中除了下标为奇数,同时 ASCII 码值也为奇数的字符之外,其余所有字符全部删除,串中剩余字符所形成的一个新串放在 t 所指的数组中。 例如,若 S 所指字符串的内容为“ABCDEFG12345”,其中字符 A 的 ASCII 码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符 1 的 ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后 t 所指数组中的内容应为“135”。 注意:部
21、分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #includestdio.h #includestring.h void fun(char*s,char t) main() char s100,t100; printf(“/nPlease enter string s:“); scanf(“%s“,s); fun(s,t); printf(“/nThe result is:%s/n“,t); (分数:24.00)_二级 C 语言-612 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数
22、:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是_。(分数:1.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解析 在数据流图中,用标有名字的带箭头线段表示数据流。在程序流程图中,用标有名字的带箭头线段表示控制流,因此本题答案为 C。2.结构化程序设计的基本原则不包括_。(分数:1.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,多态性是面向对象的程序设计的思想,因此本题答案为 A。3.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 612 答案 解析 DOC
