【计算机类职业资格】二级C语言笔试-462及答案解析.doc
《【计算机类职业资格】二级C语言笔试-462及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-462及答案解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-462 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.下列叙述中正确的是( )。A对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 n/2C对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 log2nD对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 nlog2n(分数:1.00)A.B.C.D.2.下列叙述中,不符合良好程序设计风格要求的是A) 程序的效率第一,清晰第 B) 程序的可读性好C) 程序中要有
2、必要的注释 D) 输入数据前要有提示信息(分数:2.00)A.B.C.D.3.数据库技术的根本目标是要解决数据的( )。A) 存储问题 B) 共享问题C) 安全问题 D) 保护问题(分数:1.00)A.B.C.D.4.为了使模块尽可能独立,要求( )。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:1.00)A.B.C.D.5.设有如下关系表,由关系 R 和 S 通过运算得到关系 T,则所使用的运算为(
3、)。(分数:2.00)A.B.C.D.6.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C.D.7.关系代数运算是以_为基础的运算。A) 关系运算 B) 谓词运算 C) 集合运算 D) 代数运算(分数:2.00)A.B.C.D.8.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。A) DB 包含 DBS 和 DBMSB) DBMS 包含 DB 和 DBS
4、C) DBS 包含 DB 和 DBMSD) 没有任何关系(分数:2.00)A.B.C.D.9.设有定义下列:inta=1,b=2,c=3,d=4,m=2,n=2;则表达式(m=aB) B) int x=0,y=1,z=0; C) if(!a); D) if(b=0)m=1;n=2;(分数:1.00)A.B.C.D.11.表示关系 abc 的 C 语言表达式为( )。A) (a=b)for(i =0;i3;i + )for (j =2;j = i;j )if( xj + 1 xj ) k = xj ;xj = xj + 1 ;xj + 1 = k; for (i =0;i3;i+)for(j =
5、4;j 7-i;j +)if(xj xj+1) k=xj;xj =xj+1;xj+1 =k;for (i=0;i8;i +) printf(“%d“ ,xi);prinff(“/n“ );程序运行后的输出结果是( )。A)75310246 B) 01234567 C) 76310462 D)13570246(分数:1.00)A.B.C.D.16.有下列程序:fun(int x, int y) return (x+y);main()int a =1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);printf(“%d/n“, sum);执行后的输出结果是( )。A) 6
6、B) 7C) 8 D) 9(分数:2.00)A.B.C.D.17.下列程序的运行结果是( )。#includestdio.hmain()int a=0,b=4,c=0,d=10,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(“%d/n“,d);A) 5 B) 3 C) 20 D) 10(分数:2.00)A.B.C.D.18.下列程序的输出结果是( )。int f1(int x,inty)return xy?x:y;int f2(int x,inty)return xy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g
7、;e=f2(f1(a,B) ,f1(c,D) );f=f1(f2(a,B) ,f2(c,D) );g=a+b+C+d-e-f;phntf(“%d,%d,%d/n“,e,f,g);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A.B.C.D.19.若有下列定义,则对 a 数组元素地址的正确引用是( )。int a5,*p=a;A) p+5 B) a+1C) a+1 D) ,下列叙述中正确的是( )。A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度C) a 数组长度大于 b 数组长度 D) 上述三种说法都不对(分数:2.00)A.B
8、.C.D.22.以下程序输出的结果是#includestdio.h#includestring.hmain()charw10=“ABCD“,“EFGH“,“IJKL“,“MNOP“1,k;for(k=1;k3;k+) printf(“%s/n“,for(i=j=0;stri!=/0;i+)if(stri!=a)strj+=stri;strj=/0;void main()char str=“abcdef“;abc(str);printf(“str=%s“,str);A) str=bcdef B) str=abcdef C) str=a D) str=ab(分数:2.00)A.B.C.D.25.有
9、以下程序main()int a=2,4,6,8,10, y=0, x, *p;p=a1;for(x=1; x3; x+) y+=px;printf(“%d/n“,y);程序运行后的输出结果是_。(A) 10(B) 11(C) 14(D) 15(分数:2.00)A.B.C.D.26.在 C 语言中,函数返回值的类型最终取决于( )。A) 函数定义时在函数首部所说明的函数类型B) return 语句中表达式值的类型C) 调用函数时主调函数所传递的实参类型D) 函数定义时形参的类型(分数:2.00)A.B.C.D.27.以下程序运行后的输出结果是#includestdio.hmain()int a=
10、2, 3, 5, 4, i;for(i=0; i4; i+)switch(i%2)case 0: switch(ai%2)case 0:ai+: break;case 1: ai-;break;case i: ai=0;for(i=0; i4; i+) printf(“%d“, ai); printf(“/n“);A) 3 3 4 4 B) 2 0 5 0 C) 3 0 4 0 D) 0 3 0 4(分数:2.00)A.B.C.D.28.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0;for(i=1;i=n;i+)f*=i;B) f=1;for(i=1;in;i+)
11、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.29.以下叙述中正确的是( )。A) C 程序中注释部分可以出现在程序中任意合适的地方B) 花括号“”和“”只能作为函数体的定界符C) 构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是 C 语句之间的分隔符,不是语句的一部分(分数:1.00)A.B.C.D.30.有下列程序:#includestdio.hvoid fun(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;
12、an-1-i=t;main()int k10=(1,2,3,4,5,6,7,8,9,10),i;fun(k,5);for(i=2;i8;i+)printf(“%d“,ki);printf(“/n“);程序的运行结果是( )。A345678 B876543 C1098765 D321678(分数:1.00)A.B.C.D.31.设有如下的程序段: char str=“HelloWorld“; char*ptr; ptr=str; 执行上面的程序段后,*(ptr+10)的值为( )。 A) /0 B) 0 C) 不确定的值 D) 0的地址(分数:1.00)A.B.C.D.32.有以下程序:main
13、(int argc,char*argv)int n=0,i;for(i=1;iargc;i+)n=n*10+argvi-0;printf(“%d/n“,n);编绎连接后生成可执行文件 tt.exe.若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是_。A) 12 B) 12345 C) 12345678 D) 136(分数:2.00)A.B.C.D.33.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p=a;for(p=a;pa+8;p+=2)putchar(*p);A) langua
14、ge B) lnug C) 有语法错误 D) lang(分数:2.00)A.B.C.D.34.以下程序运行后的输出结果是#includestdio.h#includestring.htypedef struetchar name9;char sex;float score2; STU;void f(STU a)STU b=“Zhao“,m,85.0,90.0;int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;main( )STU c= “Qian“,f,95.0,92.0;f(c);printf(“
15、%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);A) Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90(分数:2.00)A.B.C.D.35.下面程序段中 C 的二进制值是_。char a=3,b=6.c:c=ab1;A) 00001011 B) 00001111 C) 00011110 D) 00011100(分数:2.00)A.B.C.D.36.有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;iN;i+)N
16、BSP;NBSP;SUM+=XI;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(“%d/n“,s);程序执行后的输出结果是_。(A) 45(B) 50(C) 60(D) 55(分数:2.00)A.B.C.D.37.有以下程序:int f(int b4)int i, j, s=0;for(j=0; j4; j+)i=j;if(i2)i=3-j;S+=bij;return s;main()int a44=1, 2, 3, 4, 0, 2, 4, 6, 3, 6, 9, 12, 3, 2, 1, 0
17、;printf(“%d/n“, f(a);执行后的输出结果是_。A) 12 B) 11 C) 18 D) 16(分数:2.00)A.B.C.D.38.函数 Rell(fp)的作用是( )。A) 得到 fp 所指向文件的当前读写位置B) 初始化流式文件的位置指针C) 移动流式文件的位置指针D) 以上 3 种答案均正确(分数:2.00)A.B.C.D.39.下面程序的运行结果是( )。#include stdiohmain()int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);A) a=3,b=11 B) a=2,b=8 C) a
18、=1,b=-1 D) a=4,b=9(分数:2.00)A.B.C.D.40.有以下程序:#include stdio.hint f1 (int x,int y) return x y? x :y; int f2 (im x,int y) return x y? y: x; main( )int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(e,d); g=a+b+e+d-e-f;printf( “% d,% d,% d /n“ ,e,f,g);程序运行后的输出结果是( )。A) 4,3,7 B) 3,4,7 C) 5,2
19、,7 D) 2,5,7(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:36.00)41.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_42.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序等。(分数:2.00)填空项 1:_43.深度为 5 的满二叉树有 1 个叶子结点。(分数:4.00)填空项 1:_44.数据流图的类型有U /U和事务型。(分数:2.00)填空项 1:_45.程序测试分为静态测试和动态测试。其中 1 是指不执行程
20、序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_46.数据结构分为逻辑结构和存储结构,循环队列属于U /U结构。(分数:2.00)填空项 1:_47.表达式 1/2*(int)3.7/(int)(2.4*(1.5+2.5)值的数据类型为 1。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是U /U。 #include stdio.hmain( )int p7 =11,13,14,15,16,17,18;int i=0,j=0;while(i7 prinff( “% d /n“ ,j);(分数:2.00)填空项 1:_49.以
21、下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135,则输出 531,请填空。#includestdio.hmain()int n,s;printf(“Enter a number:“);scanf(“%d“,n);printf(“Output:“);dos=n%10;printf(“%d“,s);_;while(n!=0);printf(“/n“);(分数:2.00)填空项 1:_50.有以下程序#includestdiohmain()int a=1,2,3,4,5,6,*k3,i=0;while(i3)ki=int*p1=*(p=printf(“%d/n“,c);(分数:2.00
22、)填空项 1:_53.下列程序运行后的输出结果是_。#includestdio.hmain()char s20;scanf(“%s“,s);printf(“%s“,s);运行程序,输入 HOW ARE YOU。(分数:2.00)填空项 1:_54.在宏定义#define PI 3.14159 中,用宏名 PI 代替一个 1。(分数:2.00)填空项 1:_二级 C 语言笔试-462 答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.下列叙述中正确的是( )。A对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB对长度为 n 的有序
23、链表进行对分查找,最坏情况下需要的比较次数为 n/2C对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 log2nD对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为 nlog2n(分数:1.00)A.B.C. D.解析:解析 二分法查找只适用于顺序存储的有序表,对于长度为 n 的有序线性表,最坏情况只需比较log2n 次。2.下列叙述中,不符合良好程序设计风格要求的是A) 程序的效率第一,清晰第 B) 程序的可读性好C) 程序中要有必要的注释 D) 输入数据前要有提示信息(分数:2.00)A. B.C.D.解析:解析 当今主导的程序设计风格是“清晰第一,效率第二
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 462 答案 解析 DOC
