【计算机类职业资格】二级C语言笔试-405及答案解析.doc
《【计算机类职业资格】二级C语言笔试-405及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-405及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-405 及答案解析(总分:106.00,做题时间:90 分钟)一、选择题(总题数:40,分数:72.00)1.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.2.数据的存储结构是指( )。A) 数据所占的存储空间 B) 数据的逻辑结构在计算机中的存放形式C) 数据在计算机中的顺序存储方式 D) 存储在计算机外存中的数据(分数:2.00)A.B.C.D.3.下面描述中,不属于软件危机表现的是(
2、 )。 A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高(分数:2.00)A.B.C.D.4.软件生命周期是指 A) 软件产品从提出、实现、使用维护到停止使用退役的过程 B) 软件从需求分析、设计、实现到测试完成的过程 C) 软件的开发过程 D) 软件的运行维护过程(分数:2.00)A.B.C.D.5.算法的时间复杂度是指A) 执行算法程序所需要的时间 B) 算法程序的长度C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数(分数:2.00)A.B.C.D.6.下列数据结构中,能用二分法进行查找的是( )。A) 顺序存储的有序线性表
3、B) 结性链表C) 二叉链表 D) 有序线性链表(分数:2.00)A.B.C.D.7.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.B.C.D.8.以下叙述中正确的是_。A) C 语言比其他语言高级B) C 语言可以不用编译就能被计算机识别执行C) C 语言以接近英国国家的自然语言和数学语言作为语言的表达形式D) C 语言出现得最晚,具有其他语言的一切优点(分数:2.00)A.B.C.D.9.对如图所示的二叉树进行中序遍历的结果是(分数:2.00)A.B.C.D.10.下列说法不正确的是( )。A) 一个 C 语言源程序可以由一个函数组成也可以由多个函数组成B) mai
4、n()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C) C 语言程序是以函数为基本单位的D) 在 C 语言程序中,注释行只能位于一条语句的后面(分数:1.00)A.B.C.D.11.以下选项中,能用作用户标识符的是A) void B) 8_8 C) _0_ D) unsigned(分数:1.00)A.B.C.D.12.以下选项中,能用作用户标识符的是A) void B) 8_8C) _0_ D) unsigned(分数:1.00)A.B.C.D.13.执行语句 printf(“%u/n“,+12345)的输出结果是( )。A) 12345 B) 0 C) -1 D) 非定值(分数
5、:2.00)A.B.C.D.14.若要用下面的程序片段使指针变量 P 指向一个存储整型变量的动态存储单元int *p;p=_malloc(sizeof(int);则应填入_。A) int B) int* C) (*int) D) (int*)(分数:1.00)A.B.C.D.15.下列程序的输出结果是( )。main()int a,b,d=25;a=d/10%9;b=aA) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:2.00)A.B.C.D.16.下列能正确定义一维数组的选项是( )。A) int a5=0,1,2,3,4,5; B) char a=0,1,2,3,4,5;C)
6、char a=A,B,C; D) int a5=“0123“;(分数:2.00)A.B.C.D.17.下列程序的输出结果是( )。main()int a=4,b=5,c;if(aB) c=a*b;printf(“%d,%d,%d/n“,b,a,C);elsec=b/a;printf(“%d,%d,%d/n“,b,a,C);A) 4,5,12 B) 20C) 5,4,20 D) 12(分数:2.00)A.B.C.D.18.运行下列程序,若从键盘输入字母“a”,则输出结果是( )。Char c;c=getchar();if(c=aelse if(c=gelse printf(“input erro
7、r!/n“);putchar(C) ;A) f B) t C) e D) d(分数:2.00)A.B.C.D.19.有以下程序#includestdio.hmain()int y=9;for(y0;y-)if(y%3=0)printf(“%d“,-y);程序的运行结果是( )。A741 B963C852 D875421(分数:1.00)A.B.C.D.20.以下叙述中错误的是_。A) 改变函数形参的值,不会改变对应实参的值B) 函数可以返回地址值C) 可以给指针变量赋一个整数作为地址值D) 当在函数的开头包括头文件 stdio.h 时,可以给指针变量赋 NULL(分数:2.00)A.B.C.D
8、.21.下面程序main()int x=32;print(“%d/n“,x=x1);的输出是_。A) 100 B) 160 C) 120 D) 64(分数:2.00)A.B.C.D.22.现有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指定一个链表中连续的 3 个结点。(分数:1.00)A.B.C.D.23.若有说明语句 char c=/72;,则变量 cA) 包含 1 个字符 B) 包含 2 个字符C) 包含 3 个字符 D) 说明不合法,c 的值不确定(分数:2.00)A.B.C.D.24.有以下程序main() int a44=1,4,3,2,8,6,5,7,3,7,2,5
9、,4,8,6,1,i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)fof(k=j+1;k4;k+)if(ajiaki)t=aji;aki;aki=t;/*按列排序*/for(i=0;i4;i+)printf(“%d,aii);程序运行后的输出结果是(分数:2.00)A.B.C.D.25.以下程序的输出结果是_。main()int a44=1,3,5,2,4,6,3,5,7printf(“%d%d%d%d/n“,a03,a12,a21,a30);A) 0650 B) 1470 C) 5430 D) 输出值不定(分数:2.00)A.B.C.D.26.下列程序的输出结果是(
10、)。void f(int *x, int *y)int t;t=*x,*x=*y;*y=t;main( )int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=while(pq)f(p,q); p+ +; q-;for (i=0;i8;i+) printf(“%d,“,ai);A) 8,2,3,4,5,6,7,1 B) 5,6,7,8,1,2,3,4C) 1,2,3,4,5,6,7,8 D) 8,7,6,5,4,3,2,1(分数:2.00)A.B.C.D.27.对两个数组 a 和 b 进行下列初始化:char m=“1234567“;char n=1,2,3,4,5,6,7
11、;则下列叙述正确的是( )。A) 数组 m 与数组 n 完全相同B) 数组 m 与数组 n 长度相同C) 数组 m 比数组 n 长 1D) 数组 m 与数组 n 中都存放字符串(分数:2.00)A.B.C.D.28.在 C 语言中,函数返回值的类型最终取决于( )。A) 函数定义时在函数首部所说明的函数类型B) return 语句中表达式值的类型C) 调用函数时主调函数所传递的实参类型D) 函数定义时形参的类型(分数:2.00)A.B.C.D.29.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0;for(i=1;i=n;i+)f*=i;B) f=1;for(i=1;
12、in;i+)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.30.若在某函数内部有定义:int a34;则数组 a 中各元素( )。A) 可在程序的运行阶段得到初值 0 B) 可在程序的编译阶段得到初值 0C) 不能得到确定的初值 D) 可在程序的编译或运行阶段得到初值 0(分数:1.00)A.B.C.D.31.以下关于字符串的叙述中正确的是_。(A) C 语言中有字符类型的常量和变量(B) 两个字符串中的字符个数相同时才能进行字符串大小的比较(C) 可以用关系运算符对字符串的大小进行比较(
13、D) 空串一定比空格打头的字符串小(分数:2.00)A.B.C.D.32.若有程序fun(int a,int bstatic int c=0;c+=a+b;return c;main()int x=5,y=3,z=7,r,r=fun(y,x+y),z);r=fun(xy);printf(“%d/n“,r);上面程序的输出结果是_。A) 23 B) 15 C) 19 D) 18(分数:2.00)A.B.C.D.33.下列函数的功能是fun(char *Da,char *b)while(*b=*a)!=/0) a+;b+;A) 将 a 所指字符串赋给 b 所指空间B) 使指针 b 指向 a 所指字
14、符串C) 将 a 所指字符串和 b 所指字符串进行比较D) 检查 a 和 b 所指字符串中是否有/0(分数:2.00)A.B.C.D.34.以下不正确的定义语句是( )。A) double x5=2.0,4.0,6.0,8.0,10.0;B) int y5.3=0,1,3,5,7,9;C) charc/=1,2,3,4,5;D) char c2=/x10,/xa,/x8;(分数:1.00)A.B.C.D.35.若已包括头文件stdio.h和string.h,运行下列程序段时输出结果是( )。int i=0;char s110=“ABCD“,s210=“EFG“;strcat(s1,s2);wh
15、ile(s2i+!=/0)s2i=s1i;puts(s2);A) ABC B) ABCDEF C) EBCDEFG D) CBD(分数:2.00)A.B.C.D.36.若有下列说明,则( )不是对 strcpy 库函数的正确的调用。strcpy 库函数用于复制一个字符串:char*str1=“abed“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“;A) strcpy(str2,str1) B) strcpy(str3,str1)C) strcpy(str4,str1) D) strcpy(str5,str1)(分数:2.00)A.B.C.D.37.下面
16、的程序执行后,文件 test.t 中内容是_。#includestdio.hvoid fun(char *fname,char *st)FILE*myf; int i;myf=fopen(fname,“W“);for(i=0;istrlen(st);i+)foutc(stimyf;fclose(myf);main()fun(“test.t“,“new world“);fun(“test.t“,“hello,“);A) hello, B) new worldhello C) new world D) hello,rid(分数:2.00)A.B.C.D.38.变量 a 中的数据用二进制表示的形式是
17、 01011101,变量 b 中的数据用二进制表示的形式是 11110000。若要求将 a 的高位取反,低 4 位不变,所要执行的运算是A) ab B) a|b C) a printf(“/n%d“,c); A) 9 B) 10 C) 12 D) 2(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:34.00)41.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_42.在面向对象方法中,对象之间进行通信的构造称为 1。(分数:2.00)填空项 1:_43.程序流程图中
18、的菱形框表示的是 1。(分数:4.00)填空项 1:_44.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_45.树中度为零的结点称为 1。(分数:2.00)填空项 1:_46.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块),其中U /U的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_47.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于U /U的联系。(分数:
19、2.00)填空项 1:_48.人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字是 1。(分数:2.00)填空项 1:_49.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_50.下面程序的输出结果是_。main()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;printf(“%d/n“,a);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是_。#includestdio.hmain()int a=1,b=7;do b=b/2;a
20、+=b;while(b1);printf(“%d/n“,a);(分数:4.00)填空项 1:_52.已有定义:double*P;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型的动态存储单元 1。(分数:2.00)填空项 1:_53.有如下程序段:main(int argc,char *argv)int n,i=0;while(argv1i!=/0)n=fun();i+;printf(“%d/n“,n*argc);int fun()static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam,exe,若键入如下命令行:exam l
21、23回车则运行结果为U /U。(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。int f(int a,int n)if(n=1)return f(a,n-1)+an-1;else return 0;main()int aa5=1,2,3,4,5),s;s=f(aa,5);printf(“%d/n“,s);(分数:2.00)填空项 1:_55.一棵二又树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后序遍历结果为_。(分数:2.00)填空项 1:_二级 C 语言笔试-405 答案解析(总分:106.00,做题时间:90 分钟)一、选择题(总题数:40,分数:
22、72.00)1.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D. 解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况,它们之间没有内在联系。2.数据的存储结构是指( )。A) 数据所占的存储空间 B) 数据的逻辑结构在计算机中的存放形式C) 数据在计算机中的顺序存储方式 D) 存储在计算机外存中的数据(分数:2.00)A.B. C.D.解析:解析 数据的存储结构,又称为数据的物理结
23、构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。3.下面描述中,不属于软件危机表现的是( )。 A) 软件过程不规范 B) 软件开发生产率低 C) 软件质量难以控制 D) 软件成本不断提高(分数:2.00)A. B.C.D.解析:解析 软件危机主要表现在以下 6 个方面: 软件需求的增长得不到满足。 软件开发成本和进度无法控制。 软件质量难以保证。 软件不可维护或维护程序非常低。 软件的成本不断提高。 软件开发生产率的提高赶不上硬件的发展和应用需求的增长。4.软件生命周期是指 A) 软件产品从提出、实现、使用维护到停止使用退役的过程 B) 软
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 405 答案 解析 DOC
