【计算机类职业资格】二级C语言+2013年03月-1及答案解析.doc
《【计算机类职业资格】二级C语言+2013年03月-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言+2013年03月-1及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言+2013 年 03 月-1 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设循环队列为 Q(1:m),其初始状态为 front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为_。(分数:1.00)A.5B.6C.m-5D.m-62.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为_。(分数:1.00)A.EFCDCBAB.DCBEFGAC.BCDGFEAD.DCBGFEA3.下列叙述中错误的是
2、_。(分数:1.00)A.在链表中,如果每个节点有两个指针域,则该链表一定是非线性结构B.在链表中,如果有两个节点的同一个指针域的值相等,则该链表一定是非线性结构C.在链表中,如果每个节点有两个指针域,则该链表一定是线性结构D.在链表中,如果有两个节点的同一个指针域的值相等,则该链表一定是线性结构4.下列叙述中错误的是_。(分数:1.00)A.在带链队列中,队头指针和队尾指针都是在动态变化的B.在带链栈中,栈顶指针和栈底指针都是在动态变化的C.在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的D.在带链队列中,队头指针和队尾指针可以指向同一个位置5.软件生命周期中,确定软件系统要做什么的阶
3、段是_。(分数:1.00)A.需求分析B.软件测试C.软件设计D.系统维护6.下面对软件测试和软件调试有关概念叙述错误的是_。(分数:1.00)A.严格执行测试计划,排除测试的随意性B.程序调试通常也称为 DebugC.软件测试的目的是发现错误和改正错误D.设计正确的测试用例7.下面属于系统软件的是_。(分数:1.00)A.财务管理系统B.编译软件C.编辑软件 wordD.杀毒软件8.将 E-R 图转换为关系模式时,E-R 图中的实体和联系都可以表示为_。(分数:1.00)A.属性B.键C.关系D.域9.有两个关系 R 与 S 如下,由关系 R 和 S 得到关系 T,则所使用的操作为_。 R
4、A A1 a 0 b 1 S B B1 B2 f 3 k2 n 2 x1 T A A1 B B1 B2 a 0 f 3 k2 a 0 n 2 x1 b 1 f 3 k2 b 1 n 2 x1 (分数:1.00)A.并B.自然连接C.笛卡尔积D.交10.在数据管理的三个发展阶段中,数据的共享性好且冗余度最小的是_。(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.面向数据应用系统阶段11.以下叙述中错误的是_。(分数:1.00)A.书写风格良好的程序执行效率高B.书写风格良好的程序易读性好C.C 程序可以在一行上写多条语句D.C 程序允许将一条语句分写在多行上12.在 C
5、语言中,以下选项中不能正确表示 101000 之值的是_。(分数:1.00)A.1.0E4.0B.1.FAC.10E3D.1.0e413.设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其他三个不同的是_。(分数:1.00)A.b=a=cB.a=b=cC.a=c=bD.c=a!=c14.设有两行定义语句: int scanf; float case; 则以下叙述正确的是_。(分数:1.00)A.两行定义语句都不合法B.两行定义语句都合法C.第 1 行语句不合法D.第 2 行语句不合法15.设有定义:double x=2.12;,以下不能完整输出变量 x 值的语句是_。(分数:1
6、.00)A.printf(“x=%5.0f/n“,x);B.printf(“x=%f/n“,x);C.printf(“x=%lf/n“,x);D.printf(“x=%0.5f/n“,x);16.设有定义:int a,b;float x,y;,则以下选项中对语句所作的注释叙述错误的是_。(分数:1.00)A.scanf(“%d%d%f“,/*多余的格式符%f 完全不起作用*/B.scanf(“%d%d“,/*多余的输入项不能获得输入数据*/C.scanf(“%d%d“,/*输入项与格式符类型不匹配,变量 b 和 X 得不到正确的输入数据+/D.scanf(“Input:%d%d“,/*格式串中
7、允许加入格式符以外的字符串*/17.有如下程序: #include stdio.h main() int a = 0, b = 1; if(+a = b+) printf(“T“); else printf(“F“); printf(“a=%d,b=%d/n“,a,b); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.Ta=0,b=1B.Fa=1,b=2C.Ta=1,b=2D.Fa=0,b=218.有如下程序: #include stdio.h main() int i=1; for(printf(“%d“,i); i4; i+) printf(“%d“, i);
8、 printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1123B.123C.0123D.00119.有如下程序: #include stdio.h main() char ch=“A“; while(ch“D“) printf(“%d“, ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.ABCB.012C.abcD.12320.有如下程序: #include stdio.h main() if(“/0“ = 0) putehar(“X“); if(“0“ = 0) putehar(“Y“); if(“a“b“) p
9、utchar(“Z“). printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.XB.XYZC.YZD.Y21.有如下程序: #include stdio.h main() char ch=“M“; while(ch !=“K“) ch-; putchar(ch); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.MNB.LKC.OPD.MM22.有以下程序段: scanf(“%d%d%d“, if(ab) a=b; if(ac) a=c; printf(“%d/n“,a); 该程序段的功能是_。(分数:1.00)A.输出 a、b、c 中的最小
10、值B.输出 a、b、c 中的最大值C.输出 a 的原始值D.输出 a、b、c 中值相等的数值23.以下关于函数的叙述中正确的是_。(分数:1.00)A.函数调用必须传递实参B.函数必须要有形参C.函数必须要有返回值D.函数形参的类型与返回值的类型无关24.设有定义:int a,b10,*c=NULL,*p;,则以下语句错误的是_。(分数:1.00)A.p=a;B.p=b;C.p=c;D.p= for(i=s,j=e; ij; i+,j-) t = *(x+i); *(x+i)=*(x+j); *(x+j)=t; main() int m=0,1,2,3,4,5,6,7,8,9,k; fun(m
11、,0,3); fun(m+4,0,5); fun(m,0,9); for(k=0; k10;k+) printf(“%d“,mk); 程序的运行结果是_。(分数:1.00)A.4567890123B.3210987654C.9876543210D.098765123426.设有 n 个数按从大到小的顺序存放在数组 x 中,以下能使这 n 个数在 X 数组中的顺序变为从小到大的是_。(分数:1.00)A.for(i=0;in/2;i+) t=xi;xi=xn-i-1;xn-i-1=t;B.for(i=0;in;i+) t=xi;xi=xn-i-1;xn-i-1=t;C.for(i=0;in/2;
12、i+) t=xi;xi=xn-i+1;xn-i+1=t;D.for(i=0;in/2;i+=2)t=xi;xi=xn-i-1;xn-i-1=t;27.设有一个 M*N 的矩阵已经存放在一个 M 行 N 列的数组 x 中,且有以下程序段: sum=0; for(i=0;iM;i+) sum+=xi0+xiN-1; for(j=1;jN-1;j+) sum+=x0j+xM-1j; 以上程序段计算的是_。(分数:1.00)A.矩阵两条对角线元素之和B.矩阵所有不靠边元素之和C.矩阵所有元素之和D.矩阵所有靠边元素之和28.有以下程序: #include stdio.h main() int s32=
13、 1,2,3,4,5,6,*ps3,k; for(k=0;k3;k+) psk=sk; printf(“%d“,*(psk+1); 程序的运行结果是_。(分数:1.00)A.2 4 6B.1 3 5C.1 2 3D.4 5 629.设有以下定义: char s1=“0123“; char s2= “0“,“1“,“2“,“3“; 则以下叙述正确的是_。(分数:1.00)A.数组 s1 的长度小于 s2 的长度B.数组 s1 和 s2 的长度相同C.数组 s1 的长度大于 s2 的长度D.数组 s1 和 s2 完全等价30.以下能正确进行字符串赋值的语句组是(分数:1.00)A.thai *ch
14、; ch=“abc“;B.char ch=“a“,“b“,“c“;C.char ch3=“abc“;D.char ch4; ch=“abc“;31.有以下程序: #include stdio.h int fun(char*s) char*p=s; while(*p+ != “/0“); return(p-s); main() char*p=“01234“; printf(“%d/n“,fun(p); 程序的运行结果是_。(分数:1.00)A.6B.5C.4D.332.有以下程序: #include stdio.h main() char*mm4=“abcd“,“1234“,“mnop“,“56
15、78“; char* pm=mm; int i; for(i=0; i4; i+) printf(“%s“,pmi+i); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.abed1234mnop5678B.abcd234op8C.a2o8D.a1m533.有以下程序: #include stdio.h void fac2(int); void fac1(int n) printf(“*“); if(n0)fac2(n-1); void fac2(int n) printf(“#“); it(n0)fac2(-n); main() fac1(3); 程序的运行结果是_。(
16、分数:1.00)A.* #B.*#*C.* *#D.*#*#34.有以下程序: #include stdio.h int fun(int n) static int t=1; int i=1; for( ; i=n; i+)t* =i; return t; main() int t=1,i; for(i=2;i4; i+) t+=fun(i); printf(“%d/n“,t); 程序的运行结果是_。(分数:1.00)A.8B.11C.15D.435.有以下程序: #include stdio.h #include string.h #include stdlib.h main() char
17、*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.设有定义:structint n;float x; s2,m2=10,2.8,0,0.0; 则以下赋值语句中正确的是_。(分数:1.00)A.s0=m1;B.s=m;C.s.n=m.n;D.s2.x=m2.x;37.有以下程序: #include stdio.h struct S int a; in
18、t *b; main() int x1 = 3,4,x2=6,7; struct S x=1,x1,2,x2; printf(“%d,%d/n“,*x0.b,*x1.b); 程序的运行结果是_。(分数:1.00)A.1,2B.3,6C.4,7D.变量的地址值38.有以下程序: #include stdio.h #include string.h typedef struct char name10; char sex; int age; STU; void fun(STU *t) strcpy(*t).name,“Tong“); (*t).age+; main() STU s2=“Hua“,“
19、m“,18,“Qin“,“f“,19; fun(s+1); printf(“%s,%d,%s,%d/n“,s0.name,s0.age,s1.name,s1.age); 程序运行后的输出结果是_。(分数:1.00)A.Hua,18,Tong,20B.Hua,18,Qin,19C.Tong,19,Qin,19D.Hua,19,Tong,1939.以下不属于 C 语言位运算符的是_。(分数:1.00)A.!B.C.D.40.有以下程序段: FILE *fp; if(fp=fopen(“test.txt“,“w“)=NULL) printf(“不能打开文件!“); exit(0); else pri
20、ntf(“成功打开文件!“); 若指定文件 test.txt 不存在,且无其他异常,则以下叙述错误的是_。(分数:1.00)A.输出“不能打开文件!“B.输出“成功打开文件!“C.系统将按指定文件名新建文件D.系统将为写操作建立文本文件二、程序填空题(总题数:1,分数:20.00)41.下列给定程序的功能是调用 fun 函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为 myfile5.dat 的二进制文件中。 请在程序的下画线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不
21、得更改程序的结构! 试题程序: #include stdio.h #include stdlib.h #define N 5 typedef struct int num; char name10; char tel10; STYPE; void cheek(); /*found*/ int fun( 1 *std) /*found*/ 2*fp; int i; if(fp=fopen(“myfile5.dat“,“wb“)=NULL) return(0); printf(“/nOutput data to file!/n“); for(i=0; iN; i+) /*found*/ fwrit
22、e( felose(fp); return(1); main() STYPE s10= 1,“aaaaa“,“111111“,1,“bbbbb“,“222222“,1,“CCCCC“,“333333“,1,“ddddd“,“444444“,1,“eeeee“,“555555“; int k; k=fun(s); if(k=1) printf(“Succeed!“); check(); else printf(“Fail!“); void check() FILE*fp; int i; STYPE s10; if(fp=fopen(“myfile5.dat“,“rb“)=NULL) printf
23、(“Fail!/n“); exit(0); plintf(“/nRead file and output to screen:/n“); printf(“/n num name tel/n“); for(i=0;iN;i+) fread( printf(“%6d %s %s/n“,si.num,si.name,si.tel); fclose(fp); (分数:20.00)三、程序修改题(总题数:1,分数:20.00)42.下列给定程序中,函数 fun 的功能是:先将字符串 s 中的字符按正序存放到字符串 t 中,然后把 s 中的字符按逆序连接到字符串 t 的后面。 例如,当 s 中的字符串为“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2013 03 答案 解析 DOC
