【计算机类职业资格】二级C语言笔试-419及答案解析.doc
《【计算机类职业资格】二级C语言笔试-419及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-419及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-419 及答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:63.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冗余性(分数:1.00)A.B.C.D.4.下列叙述中正确的是( )。A) 在面向对象的程序设计中,各个对象之间具有密切的关系B) 在面向对象的程序设计中,各个对象都是公用的C) 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D) 上述 3 种说法都不对(分数: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.在数据管理技术发展的三个阶段中,数据共享最好的是_。A) 人工管理阶段 B) 文件系统阶段C) 数据库系统阶段 D) 三个阶段相同(分数:2.00)A.B.C.D.8.下列说法不正确的是( )。A) C 程序是以函数为基本单位的,整个程序由函数组成B) C 语言程序的一条语句可以写在不同的行上C) C 程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D) C 程序的每个语句都以分号结束(分数:2.00)A.
4、B.C.D.9.C 语言的基本单位是( )。A) 函数 B) 过程 C) 子程序 D) 子函数(分数:2.00)A.B.C.D.10.下列关于单目运算符、的叙述中正确的是 _。A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C) 它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D) 它们的运算对象可以是 char 型变量、int 型变量和 float 型变量(分数:2.00)A.B.C.D.11.以下选项中可作为 C 语言合法常量的是A) -80 B) -080 C)
5、-8e1.0 D) -80.0e(分数:1.00)A.B.C.D.12.表达式 3.6-5/2+1.2+5%2 的值是_。(A) 4.3(B) 4.8(C) 3.3(D) 3.8(分数:1.00)A.B.C.D.13.下列叙述中正确的是( )。A) 在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B) 实型变量中允许存放整型数C) 若 a 和 b 类型相同,在执行了赋值 ab 后,b 中的值将放入 a 中,但 b 中的值不变D) 在 c 程序中,求余运算符“%”两边的类型相同时才能进行运算(分数:1.00)A.B.C.D.14.两次运行下列的程序,如果从键盘上分别输入 3 和 1,
6、则输出结果是( )。main()int x;scanf(“%d“,if(x+2)printf(“%d“,x);else printf(“%d/n“,x-);A) 4 和 2 B) 4 和 1 C) 4 和 0 D) 3 和 1(分数:1.00)A.B.C.D.15.有以下程序main()int k=5,n=0;doswitch(k)case1: case3: n+=1;k-; break;default: n=0;k-;case2:case4: n+=2;k-;break;printf(“%d“,n);while(k0n5);程序运行后的输出结果是_。(A) 235(B) 0235(C) 02
7、356(D) 2356(分数:1.00)A.B.C.D.16.有如下程序:#include stdiohmain()float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序的输出结果是( )。A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.17.以下不构成无限循环的语句或者语句组是( )。An=0;do+n;while(n=0);Bn=0;while(1)n+;Cn=10:while(n);n-;Dfor(
8、n=0,i=1;i+)n+=i;(分数:1.00)A.B.C.D.18.若有定义:“int a23;”则对 a 数组的第 i 行第 j 列元素的正确引用为( )。A*(*(a+i)+j) B(a+i)jC*(a+i+j) D*(a+i)+j(分数:1.00)A.B.C.D.19.下面程序的输出是( )。main()int t=1;fun(fun(t);fun(int h)static int a3=1,2,3;int k;for(k=0;k3;k+)ak+=ak-h;for(k=0;k3;k+)printf(“%d“,ak);printf(“/n“);return(ah);A1,2,3,1,5
9、,9,B1,3,5,1,3,5,C1,3,5,0,4,8,D1,3,5,-1,3,7,(分数:1.00)A.B.C.D.20.以下叙述中错误的是_。A) 改变函数形参的值,不会改变对应实参的值B) 函数可以返回地址值C) 可以给指针变量赋一个整数作为地址值D) 当在函数的开头包括头文件 stdio.h 时,可以给指针变量赋 NULL(分数:2.00)A.B.C.D.21.下列选项中,能正确定义数组的语句是A) intnum02008; B) intnum;C) int N=2008; D) #defineN 2008int numN; int numN;A.B.C.D.22.以下函数 find
10、max 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN -2147483647int findmax(int x,int n)int i,max;for(i=0;in;i+)max=MIN;if(maxxi)max=xi;return max;造成错误的原因是A) 定义语句 int i,max;中 max 未赋初值B) 赋值语句 max=MIN;中,不应给 max 赋 MIN 值C) 语句 if(maxxi)max=xi;中判断条件设置错误D) 赋值语句 max=MIN;放错了位置(分数:2.00)A.B.C.D.23.已有定义:char a
11、=“xyz“,b=x,y,z;,以下叙述中正确的是_。A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度C) a 数组长度大于 b 数组长度 D) 上述说法都不对(分数:1.00)A.B.C.D.24.下列定义数组的语句,正确的是( )。 A) int N=10;int xN;B) #define N 10 int xN; C) int x010; D) int x;(分数:2.00)A.B.C.D.25.下列叙述中,错误的是( )。A) 在同一 C 程序文件中,不同函数中可以使用名字相同的变量B) 在 main()函数体内定义的变量是全局变量C) 形参是局部变量,函数调
12、用完成即失去意义D) 若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用(分数:1.00)A.B.C.D.26.变量 m 的值为 8,m 的地址为 1010,若欲使 p 为指向 m 的指针变量,则下列赋值正确的是 ( )。A) p=(int*)malloc(sizeof(int);*p=n; return *p;int a;a=fun(10); printf(“%d/n“,a+fun(10);程序的运行结果是_。A) 0 B) 10 C) 20 D) 出错(分数:2.00)A.B.C.D.30.下列选项中,能够满足“若字符串 s1 等于字符串 s2,则执行 ST”要求的是(
13、 )。 A) if(strcmp(s2,s1)=0)ST; B) if(s1=s2)ST; C) if(strcpy(s1,s2)=1)ST; D) if(s1-s2=0)ST;(分数:2.00)A.B.C.D.31.若二维数组 a 有 m 列,则在 aij前的元素个数为( )。A) i*m+j-1 B) i*m+j C) j*m+1 D) i*m+i+1(分数:2.00)A.B.C.D.32.对于下列字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;A) 10 B) 1C) 6 D) 7(分数:1.00)A.B.C.D.33.若有定义 int(
14、*pt)3;,则下列说法不正确的是( )。A) int(*pt)3是一个数组指针B) 指针 pt 指向一个有 3 个整型变量的数组C) 定义了一个名为*pt、具有三个元素的整型数组D) 定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组(分数:2.00)A.B.C.D.34.函数调用 strcat(strcpy(str1,str2),str3)的功能是( )。A) 将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后B) 将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后C) 将字符串 str2 复制到字符串 str1
15、 后再将字符串 str3 连接到字符串 str1 之后D) 将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中(分数:2.00)A.B.C.D.35.以下叙述中正确的是_。(A) 预处理命令行必须位于源文件的开头(B) 在源文件的一行上可以有多条预处理命令(C) 宏名必须用大写字母表示(D) 宏替换不占用程序的运行时间(分数:2.00)A.B.C.D.36.若已定义:int a9,*p=a;并在以后的语句中未改变 p 的值,下列选项中不能表示 a1地址的表达式是( )。A) p+1 B) a+1 C) a+ D) +p(分数:1.00)A.B.C.
16、D.37.下列程序的运行结果为( )。#define MAX(x,y)(x)(y)?(x):(y)main()int a=2,b=3,c=1,d=3,t;printf(“%d/n“,(MAX(a+b,c+d)*100);A) 500 B) 5 C) 4 D) 400(分数:2.00)A.B.C.D.38.下列程序中 c 的二进制值是( )。char a=2,b=4,c;c=ab2:A) 00000011 B) 00010100 C) 00011100 D) 00011000(分数:2.00)A.B.C.D.39.读取二进制文件的函数调用形式为:fread(buffer, size, count
17、, pf);,其中 buffer 代表的是_。A) 一个文件指针,指向待读取的文件B) 一个整型变量,代表待读取的数据的字节数C) 一个内存块的首地址,代表读入数据存放的地址D) 一个内存块的字节数(分数: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
18、+e+d-e-f;printf( “% d,% d,% d /n“ ,e,f,g);程序运行后的输出结果是( )。A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:33.50)41.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_42.线性表的存储结构主要分为顺序存储结构和链式存储结构,队列是一种特殊的线性表,循环队列是队列的 1 存储结构。(分数:2.00)填空项 1:_43.数据库系统的主要特点为数据集成性、数据的高和低冗余性、数据独立性和
19、数据统一管理和控制。(分数:2.00)填空项 1:_44.一个关系表的行称为 1。(分数:2.00)填空项 1:_45.下列表达式用于判断 y 是否为闰年。闰年的判断条件是:年号能被 4 整除但不能被 100 整除或年号能被 400 整除,请填空 1。(分数:4.00)填空项 1:_46.若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量 b 中的值是_。c=(a-=(b-5);c=(a%11)+(b=3);(分数:4.00)填空项 1:_47.与表达式 a+=b 等价的另一书写形式是 1。(分数:1.50)填空项 1:_48.以下主程序运行后的输出结果是U /U。mai
20、n()int i, m=0, n=0, k=0;for(i=9; i=ii; i+)switch(i/10)case 0:m+; n+; break;case 10:n+; break;default:k+; n+;printf(“% d % d % d/n“, m, n, k);(分数:2.00)填空项 1:_49.在循环中,continue 语句与 break 语句的区别是: 1 语句只是结束本次循环,然后进行循环的条件判定。(分数:2.00)填空项 1:_50.以下程序的定义语句中,x1的初值是U /U,程序运行后输出的内容是U /U。#include stdio.hmain()int
21、x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,161,*p4,i;for(i=0;i4;i+)piint*p1=*(p=printf(“%d/n“,c);(分数:2.00)填空项 1:_55.以下程序段的输出结果是_。int i=9;printf(“%0/n“,i);(分数:2.00)填空项 1:_二级 C 语言笔试-419 答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:63.00)1.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件
22、)、结点由两部分组成:数据域和指针域。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冗余性(分数:1.00)A.B.C.D. 解析:解析 文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在 3 个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。4.下列叙述中正确的是( )。A) 在面向对象的程序设计中,各个对象之间具有密切的关系B) 在面向对象的程序设计中,各个对象都是公用的C) 在面向对象的程
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 419 答案 解析 DOC
