【计算机类职业资格】二级C语言笔试-339及答案解析.doc

上传人:registerpick115 文档编号:1326142 上传时间:2019-10-17 格式:DOC 页数:30 大小:88.50KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-339及答案解析.doc_第1页
第1页 / 共30页
【计算机类职业资格】二级C语言笔试-339及答案解析.doc_第2页
第2页 / 共30页
【计算机类职业资格】二级C语言笔试-339及答案解析.doc_第3页
第3页 / 共30页
【计算机类职业资格】二级C语言笔试-339及答案解析.doc_第4页
第4页 / 共30页
【计算机类职业资格】二级C语言笔试-339及答案解析.doc_第5页
第5页 / 共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

24、. 解析:解析 本题考查的知识点是:while 循环的简单应用。函数 fun()中,前一个 while 循环的作用是:如果形参指针 t 所指内容不为 0,则让 t 增 1,直到它指向 0。后一个 while 循环的作用是:将 s 所指内容赋给 t 所指地址,然后两者同时增 1,直到赋给 t 的内容为 0。由此可见,函数 fun()的作用就是将形参 s 所指字符串连接到形参 t 所指字符串末尾,相当于库函数中的 strcat()。主函数中使用 fun()将数组aa 中的字符串连接到了数组 ss 中原有字符串之后,所以执行完后,ss 中的字符串为“accbbxxyy“。故最终输出的结果是:accb

25、bxxyy,bbxxyy,应该选择 D。4.下列程序的输出结果是( )。#includestdio.hmain()int a23=1,2,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.解析:解析 第 1 次执行 for 循环,p10=p10-1=3;第 2 次执行 for 循环,p11=P11-1=4;第 3 次执行 for 循环,p12=1,最后输出的是 a01)+a11+a12=2+4+1

26、=7。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) 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. 解析:解析 本题考查 switch 语句,首先,x=1 符合条件 casel,执行 switch(y)语句,y=0 符合 c

27、ase 0 语句,执行 a+并跳出 switch(y)语句,此时 a=1。因为 case 1 语句后面没有 break 语句,所以向后执行 case2 语句,执行 a+,b+,然后跳出 switch(x),得 a=2,b=1。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.解析:解析 因为函数 sub()只是简

28、单地返回两个参数的乘积,所以表达式 sub(int)sub(k+j,j),k+i)展开后就是:(int)(k+j) *j)*(k+i)=(3+2)*2)*(3+1)=10*4=40。所以程序运行后的输出结果是 40,应该选择 A。7.变量 a 中的数据用二进制表示的形式是 01011101,变量 b 中的数据用二进制表示的形式是 11110000。若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是( )。Aab Ba|b Ca char h; T;则下面叙述中正确的是( )A) 可用 S 定义结构体变量 B) 可以用 T 定义结构体变量C) S 是 struct 类型的变量 D)

29、 T 是 struct S 类型的变量(分数:1.00)A. B.C.D.解析:解析 S 是自定义的一种结构体类型,T 是 S 类型声明的一个变量。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.解析:解析 本题考查循环辅助控制语句 break 和 continue,前者退出整个 for 循环,后者跳过本次循环没有执行完的若干条语句,开始下一次循环操作,建议读者采用本

30、书推荐的列表法分析。10.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 _。A) p=1; B) *q=2 C) q=p D) *p=5(分数:2.00)A.B.C.D. 解析:解析 本题中 n 是 int 型变量,p 是指向 int 型的指针变量,q 是指向指针的指针变量,故正确答案为 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.若有如下程

31、序:sub(int a,int b,int *z)*z=a+b;return;main()int a1,b=2,c3,d,e;sub(a,b, 则程序运行后的输出结果是 ( )A) 3 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

32、,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. 解析:解析 本题考查双重函数调用及 for 循环使用,fun 函数中第一个 for 循环语句的作用是给数组a 赋值。当第一次调用 fun 函数时,把实参 1 传给形参,输出 a 数组的元素为 1,3,5;第二次调用 fun函数时,由于数组 a 为静态局部变量,故输出 a 数组的元素为-1,3,7。14.下面不属于软件设计原则的是A) 抽象 B) 模块化 C) 自底向上 D) 信息隐蔽(分数:2.00)A.B.C. D.解析:解析 软件设计遵循软件工程的基本目标和原则,建立了适

33、用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们具有抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测试的一种。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) 7

34、5310246 B) 01234567 C) 76310462 D) 13570246(分数:1.00)A. B.C.D.解析:解析 主函数中定义了一个整型数组 x,并初始化。接着执行了一个二重 for 循环,该二重循环的作用是将数组的前 4 个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后 4 个元素按从小到大的顺序排序,故最后依次输出数组的元素值为 75310246,所以,4 个选项中选项 A 符合题意。16.以下关于 long、inc 和 short 类型数据占用内存大小的叙述中正确的是( )。A) 均占 4 个字节 B) 根据数据的大小来决定所占内存的字节数C) 由

35、用户自己定义 D) 由 C 语言编译系统决定(分数:2.00)A.B.C.D. 解析:解析 在 ANSI 标准中,lonq、int 和 short 分别占用 4 个字节、2 个字节和 2 个字节。但实际上对于某些 C 编译系统,int 和 shorc 都占用 4 个字节,所以说各种类型数据占用内存大小是由选择何种 C编译系统决定的。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.

36、解析:解析 if.else 语句的执行过程如下,首先计算 if 后面一对圆括号内表达式的值,若表达式的值为非 0,执行 if 子句,然后跳过 else 子句,去执行 if 语句后的下一条语句;若表达式的值为 0,跳过if 子句,去执行 else 子句,接着去执行 if 语句后的下一条语句。 C 语言的语法规定,else 子句总是与前面最近的不带 else 的 if 匹配,与书写格式无关,本题目的后一个 if else 相当于嵌套在第一个 if 子句里,相当于 xy*z=y-x:main()int a, b, c;sub 10,5,sub(7,a,sub(a, b, printf(“%d,% d

37、,/%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.解析:解析 sub()函数的作用是将形参 y 和 x 的差赋给了 z 指向的那个内存地址,所以在 sub(0.,5, B. float a=b=10.0;C. int a=10,*b= D. float *a,b=(分数:1.00)A.B.C. D.解析:解析 选项 A 中定义两个变量 a 和 b,并赋初值,C 语言中可以同时定义多个变量,但变量之间必须用“,”隔开,显然,选项 A 中少了一个逗号“,”,故选项 A 不正确;选项 B

38、 中定义变量时用了连续的赋值语句,这在定义变量是不正确的,故选项 B 不正确,选项 D 定义一个指针,然后定义了一个变量并让这个变量的初值为该指针变量,显然这这时的指针变量还没初始化就被赋值给变量,是不对的,故选项D 不正确,所以,4 个选项中选项 C 符合题意。34.人员基本信息一般包括:身份证号、姓名、性别、年龄等,其中可以作为主关键字的是A) 身份证号 B) 姓名 C) 性别 D) 年龄(分数:1.00)A. B.C.D.解析:解析 主关键字是表中区别不同的记录的标识,在该表中只有身份证号具有这个作用,所以用其作为主关键字。35.请选出正确的程序段_。A) int*p scanf(“%d

39、“,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.解析:解析 本题的 A 和 B 犯了一个同样的错误,即指针变量 p 定义后并没有指向具体的变量,因此不能进行赋值操作。另外,在选项 D 中,s 是 int 指针变量,p 是 char 型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量 p 的值赋给整型指针变量 s。二、填空题(总题数:15,分数:35.00)36.以下程序的输出结果是 【17】 。#

40、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;y=s1i1;i1-;return(y);(分数:1.00)填空项 1:_ (正确答案:4321)解析:解析 考查静态存储类的局部变量的使用。解题要点 静态存储类的局部变量其生存期为整个程序的运行期间,作用域却只是定义它的函数或局部范围。考点链接 局部变量和全局变量的作用域。37.数据字典是各类数据描述的集合,它通常包括 5 个部分,即

41、数据项、数据结构、数据流; 【5】 和处理过程。(分数:2.00)填空项 1:_ (正确答案:数据存储)解析:解析 数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。38.下面程序的运行结果是 【17】 。int f(int a,int n)if(n1)return a0+f(printf(“%d/n“,s);(分数:2.00)填空项 1:_ (正确答案:6)解析:解析 经过分析

42、将递归函数写成其数学表达式如下:39.下列程序可以判断输入的年份是不是闰年。#include main()int 【11】 ,leap;scanf(“%d“,if(year%4)leap=0;else if(year%lO0)【12】 ;else if(year%400)leap=0;elseleap=1;if( 【13】 )printf(“%d 年是闰年“,year);elseprintf (“ %d 年不是闰年/n“, year);(分数:4.00)填空项 1:_ (正确答案:year leap=1 leap)解析:40.常用的黑盒测试方法有等价类划分法、 1 和错误推测法 3 种。(分数

43、:4.00)填空项 1:_ (正确答案:边界值分析法)解析:解析 黑盒测试方法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑盒测试方法有等价类划分法、边界值分析法和错误推测法 3 种。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:_ (正确答案:1)解析:解析 本题考查局部变量和全局变量的区别:局部变量是指作甩域在函数级和块级的变量,全局变量是指作

44、用域在程序级和文件级的变量。42.数据流图的类型有 【4】 和事务型。(分数:2.00)填空项 1:_ (正确答案:变换型)解析:解析 典型的数据流图的类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务型数据流。43.下列程序的运行结果是_。 #include string.hchar *ss(char *s)return s+strlen(s)/2; ma

45、in()char *p,*str=“abcdefgh“;p=ss(str); printf(%s/n“,p);(分数:3.00)填空项 1:_ (正确答案:efgh)解析:解析 本题考核的知识点是通过指针引用字符串函数“的作用是让形参指针 s 指向该字符串的右半部分主函数中首先定义了一个字符型指针变量 p 和字符型指针 str;并初始化为“abcdefgh”,然后调用函数 ss,将实参 str 传给形参 s,因此可知该函数返回的指针,指向 str 所指的字符串“abcdefgh”的右半部分,即指向字符串“efgh”,所以最后输出指针 p(指针 p 的值为调用函数 ss(sD)的返回值)所指向的

46、字符串为“efgh。44.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1 时,表示输入结束(链表头结点的 data 域不放数据,表空的条件是 ph-next=NULL),请填空。#include stdio.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-next=/0;return(ph);main( )stuct list * head;head=creatlist();(分数:4.00)填空项 1:_ (正确答案:p-dataq)解析:解析 本题考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1