【计算机类职业资格】二级C语言笔试-339及答案解析.doc
《【计算机类职业资格】二级C语言笔试-339及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-339及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-339 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:35,分数:45.00)1.设计数据库的存储结构属于( )。A) 需求分析 B) 概念设计C) 逻辑设计 D) 物理设计(分数:1.00)A.B.C.D.2.以下叙述中错误的是( )。A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B) 在程序结束时,应当用 fclose 函数关闭已打开的文件C) 在利用 fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D) 不可以用 FILE 定义指向二进制文件的文件指针(分数:1.00)A.B.C.D.3.有以下程序#i
2、nclude stdio.hvoid fun(char *t, char *s)while(*t!=0) t+;while( (*t+ = *s+ )!=0 );main()char ss10=“acc“,aa10=“bbxxyy“;fun(ss, aa); printff“%s,%s/n“, ss,aa);程序的运行结果是A) accxyy, bbxxyy B) acc, bbxxyyC) accxxyy, bbxxyy D) accbbxxyy, bbxxyy(分数:1.00)A.B.C.D.4.下列程序的输出结果是( )。#includestdio.hmain()int a23=1,2,
3、3,4,5,6,(*p)3,i;p=a;for(i=0;i3;i+)if(i2)p1i=p1i-1;elsep1i=1;printf(“%d/n“,a01+a11+a12);A) 8 B) 7 C) 12 D) 9(分数:2.00)A.B.C.D.5.有以下程序#include stdio.hmain()int x=1,y=0,a=0,b=0;switch(X)case 1:switch(y)case 0:a+; break;case 1:b+; break;case 2:a+;b+;break;case 3:a+;b+;printf(“a=%d,b=%d/n“,a,b);程序的运行结果是A)
4、 a=1,b=0 B) a=2,b=2 C) a=1,b=1 D) a=2,b=1(分数:1.00)A.B.C.D.6.若有如下程序:float sub(int a,int b)return(a*b); main()int i=1,j=2,k=3;printf(“%4.0f/n“,sub(int)sub(k+j,j),k+i);则程序运行后的输出结果是( )。A) 40 B) 32 C) 16.0 D) 编译出错(分数:1.00)A.B.C.D.7.变量 a 中的数据用二进制表示的形式是 01011101,变量 b 中的数据用二进制表示的形式是 11110000。若要求将 a 的高 4 位取反
5、,低 4 位不变,所要执行的运算是( )。Aab Ba|b Ca char h; T;则下面叙述中正确的是( )A) 可用 S 定义结构体变量 B) 可以用 T 定义结构体变量C) S 是 struct 类型的变量 D) T 是 struct S 类型的变量(分数:1.00)A.B.C.D.9.下列程序的输出结果是_。main()int x,y;for(x=1,y=1;x10;x+)if(y5)break;if(y%31)y+=3;continue;y-=5;printf(“%d/n“,x);A) 2 B) 3C) 4 D) 5(分数:1.00)A.B.C.D.10.设有定义:int n=0,
6、*p=,则以下选项中,正确的赋值语句是 _。A) p=1; B) *q=2 C) q=p D) *p=5(分数:2.00)A.B.C.D.11.若有以下定义和语句:int u=010,v=0x10,w10;printf(“%d,%d,%d/n“,u,v,w);则输出结果是 ( )A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10(分数:1.00)A.B.C.D.12.若有如下程序:sub(int a,int b,int *z)*z=a+b;return;main()int a1,b=2,c3,d,e;sub(a,b, 则程序运行后的输出结果是 ( )A) 3
7、 B) 4 C) 5 D) 6(分数:1.00)A.B.C.D.13.下面程序的输出是( )。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);A) 1,2,3,1,5,9,B) 1,3,5,1,3,5,C) 1,3,5,0,4,8,D) 1,3,5,-1,3,7,(分数:1.00)A.B.C.D.14.下面不属于软件设计原则的是A) 抽象 B) 模块化 C) 自底向上
8、D) 信息隐蔽(分数:2.00)A.B.C.D.15.有以下程序:main()int x=1,3,5,7,2,4,6,0),i,j,k;for(i=0;i3;i+)for(j=2;i=i;j-)if( xj+1xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i3;i+)for(j=4;j7-i;j+)if(xjxj+1) k=xj;xj=xj+1;xj+1=k; for(i=0;i8;i+) printf(“%d“,xi);printf(“/n“);程序运行后的输出结果是( )。A) 75310246 B) 01234567 C) 76310462 D) 13570246(分
9、数:1.00)A.B.C.D.16.以下关于 long、inc 和 short 类型数据占用内存大小的叙述中正确的是( )。A) 均占 4 个字节 B) 根据数据的大小来决定所占内存的字节数C) 由用户自己定义 D) 由 C 语言编译系统决定(分数:2.00)A.B.C.D.17.下列程序的运行结果是#include“stdio.h“main()int x=-9,y=5,z=8;if(xy)if(y0)z=0;else z+=1;printf(“%d/n“,z);A) 6 B) 7 C) 8 D) 9(分数:1.00)A.B.C.D.18.是构成 C 语言程序的基本单位。A) 函数 B) 过程
10、 C) 子程序 D) 子例程(分数:1.00)A.B.C.D.19.下列关于栈的描述中错误的是( )。A) 栈是先进先出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入与删除操作中,不需要改变栈底指针(分数:2.00)A.B.C.D.20.在 Windows 环境下,下列叙述中正确的是A) 在“开始“菜单中可以增加项目,也可以删除项目B) 在“开始“菜单中不能增加项目,也不能删除项目C) 在“开始“菜单中可以增加项目,但不能删除项目D) 在“开始“菜单中不能增加项目,但可以删除项目(分数:1.00)A.B.C.D.21.若有程序段:int c11,c22,c3;c3=10/c2
11、 * cl;则执行后,c3 中的值是 ( )A0B0.5C1D2(分数:1.00)A.B.C.D.22.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。A) 阶段性报告 B) 需求评审 C) 总结 D) 都不正确(分数:2.00)A.B.C.D.23.软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指( )。A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程(分数:1.00)A.B.C.D.24.若有定义“int a=10,b=9,c=8;”,顺序执行下列语句后,变量 b 中的值是_
12、。c=(a-=(b-5);c=a% 11)+(b=3);A) 2 B) 3 C) 4 D) 5(分数:1.00)A.B.C.D.25.下列程序的输出结果为( )。 main() union un char*name; int age; int pay; s; s.name=“zhaoming“: s.age=32; s.pay=3000; printf(“%d/n“,s.age); A) 32 B) 3000 C) 0 D) 不确定(分数:2.00)A.B.C.D.26.设有定义 int n1=0,n2,*p=*z=y-x:main()int a, b, c;sub 10,5,sub(7,a,
13、sub(a, b, printf(“%d,% d,/%d/n“, a, b, c);A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(分数:2.00)A.B.C.D.33.以下定义语句中正确的是A. char a=A b=B; B. float a=b=10.0;C. int a=10,*b= D. float *a,b=(分数:1.00)A.B.C.D.34.人员基本信息一般包括:身份证号、姓名、性别、年龄等,其中可以作为主关键字的是A) 身份证号 B) 姓名 C) 性别 D) 年龄(分数:1.00)A.B.C.D.35.请选出正确的程序段_。A)
14、 int*p scanf(“%d“,p); B) int*s,k;*s=100;C) int*s,k; char *p,c; s= p= *p=a; D) int *s,k;char *p,e;s=p=s=p;*s=1;(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:35.00)36.以下程序的输出结果是 【17】 。#includestdio.hmain()int s=1,2,3,4,i;int x=0;for(i=0;i4;i+)x=sb(s,x);printf(“%d“ ,x);printf(“/n“);sb(s1,y)int *s1,y;static int i1=3
15、;y=s1i1;i1-;return(y);(分数:1.00)填空项 1:_37.数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项、数据结构、数据流; 【5】 和处理过程。(分数:2.00)填空项 1:_38.下面程序的运行结果是 【17】 。int f(int a,int n)if(n1)return a0+f(printf(“%d/n“,s);(分数:2.00)填空项 1:_39.下列程序可以判断输入的年份是不是闰年。#include main()int 【11】 ,leap;scanf(“%d“,if(year%4)leap=0;else if(year%lO0)【12】
16、;else if(year%400)leap=0;elseleap=1;if( 【13】 )printf(“%d 年是闰年“,year);elseprintf (“ %d 年不是闰年/n“, year);(分数:4.00)填空项 1:_40.常用的黑盒测试方法有等价类划分法、 1 和错误推测法 3 种。(分数:4.00)填空项 1:_41.下面程序输出的结果是_。 int m=17; int fun(int x,int y) int m=3; return(x*y-m); main() int a=5,b=7; printf(“%d/n”,fun(a,b)/m); (分数:2.00)填空项 1
17、:_42.数据流图的类型有 【4】 和事务型。(分数:2.00)填空项 1:_43.下列程序的运行结果是_。 #include string.hchar *ss(char *s)return s+strlen(s)/2; main()char *p,*str=“abcdefgh“;p=ss(str); printf(%s/n“,p);(分数:3.00)填空项 1:_44.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1 时,表示输入结束(链表头结点的 data 域不放数据,表空的条件是 ph-next=NULL),请填空。#include stdio
18、.hstruct list int data;struct list *next;struct list *creatlist( )struct list *p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list);p=q=ph;printf(“Input an integer number;entre-1 to end:/n“);scanf(“%d“,a);while(a!=-1)p=(struct list*)malloc(sizeof(struct list);_=a;q-next=p;_=p;scanf(“%d“,a);p-n
19、ext=/0;return(ph);main( )stuct list * head;head=creatlist();(分数:4.00)填空项 1:_45.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是 【10】 。main()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%x/“,p+9);(分数:2.00)填空项 1:_46.若 a=10,b=20,则表达式!(ab)的值是 【7】 。(分数:2.00)填空项 1:_47.以下程序的运行结
20、果是_。#includestdio.hmain()int fun(); fun(); fun()static int a3=0, 1, 2; int i; for(i=0; i3; i+)ai+=ai; for(i=0; i3; i+)printf(“%d, “, ai); printf(“/n“);(分数:2.00)填空项 1:_48.一棵二叉树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后序遍历结果为_。(分数:2.00)填空项 1:_49.若有定义 int a=10,b=9,c=8;,接着顺序执行下列语句,变量 b 中的值是 【8】 。c=(a-=(b-5);c=(a
21、%11)+(b=3);(分数:1.00)填空项 1:_50.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【2】 。(分数:2.00)填空项 1:_二级 C 语言笔试-339 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:35,分数:45.00)1.设计数据库的存储结构属于( )。A) 需求分析 B) 概念设计C) 逻辑设计 D) 物理设计(分数:1.00)A.B.C.D. 解析:解析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径
22、、确定数据的存放位置。2.以下叙述中错误的是( )。A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B) 在程序结束时,应当用 fclose 函数关闭已打开的文件C) 在利用 fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D) 不可以用 FILE 定义指向二进制文件的文件指针(分数:1.00)A.B.C.D. 解析:解析 顺序文件只能从头读写,二进制文件可以随机读写,选项 A 正确:文件在使用后应关闭,当程序结束时,应当把打开的文件关闭,选项 B 正确:用 fread()函数可以一次性地读取同类型的很多数据,选项 C 正确;在 C 语言中指向各种文件的文
23、件指针都是通过 FILE 来定义的,故选项 D 是错误的。所以 4 个选项中选 D3.有以下程序#include stdio.hvoid fun(char *t, char *s)while(*t!=0) t+;while( (*t+ = *s+ )!=0 );main()char ss10=“acc“,aa10=“bbxxyy“;fun(ss, aa); printff“%s,%s/n“, ss,aa);程序的运行结果是A) accxyy, bbxxyy B) acc, bbxxyyC) accxxyy, bbxxyy D) accbbxxyy, bbxxyy(分数:1.00)A.B.C.D
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 339 答案 解析 DOC
