ImageVerifierCode 换一换
格式:DOC , 页数:31 ,大小:87KB ,
资源ID:1326266      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326266.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言笔试-455及答案解析.doc)为本站会员(amazingpat195)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、二级 C语言笔试-455 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.在深度为 5的满二叉树中,叶子结点的个数为( )。A) 32 B) 31 C) 16 D) 15(分数:1.00)A.B.C.D.2.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.3.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分

2、数:2.00)A.B.C.D.4.在软件开发中,需求分析阶段产生的主要文档是_。A) 可行性分析报告B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划(分数:2.00)A.B.C.D.5.对关系 S和关系 R进行集合运算,结果中既包含关系 S中的所有元组也包含关系 R中的所有元组,这样的集合运算称为( )。 A) 并运算 B) 交运算 C) 差运算 D) 除运算(分数:2.00)A.B.C.D.6.数据库技术的根本目标是要解决数据的A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:2.00)A.B.C.D.7.结构化程序设计的 3种基本结构是( )。A) 过程、

3、子程序和分程序 B) 顺序、选择和重复C) 递归、堆栈和队列 D) 调用、返回和转移(分数:2.00)A.B.C.D.8.下列叙述中错误的是A) 一个 C语言程序只能实现一种算法B) C程序可以由多个程序文件组成C) C程序可以由一个或多个函数组成D) 一个 C函数可以单独作为一个 C程序文件存在(分数:1.00)A.B.C.D.9.下列叙述中正确的是A) C语言编译时不检查语法 B) C 语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义 D) C 语言的函数可以嵌套调用(分数:1.00)A.B.C.D.10.有以下程序段int j; float y; char name50;sca

4、nf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 777abc后,y 的值为_。A) 55566.0 B) 566.0 C) 7777.0 D) 566777.0(分数:2.00)A.B.C.D.11.下列选项中,不能用做标识符的是_。A) _1234_ B) _1_2 C) int_2_ D) 2_int_(分数:1.00)A.B.C.D.12.设变量 a是 int型,f 是 float型,i 是 double型,则表达式 10+a+i*f值的数据类型为( )。A) int B) float C) double D) 不确定(分数:1.00)A.B.C

5、.D.13.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)if(ab) a=b; c=a;if(c!=a) c=b;printf(“%d,%d,%d/n“,a,b,c);其输出结果是_。(A) 程序段有语法错(B) 3,5,3(C) 3,5,5(D) 3,5,7(分数:1.00)A.B.C.D.15.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,int y=0;while(x7x+;printf(“%d,%d“,y,x);程序的输出结果是( )。A) 0,7 B) 7,7 C) 0

6、,6 D) 1,6(分数:2.00)A.B.C.D.21.以下程序#includestdio.h#includestring.hmain()char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出是_。A) xyzabcABC B) zabcABCC) yzabcABC D) xyabcABC(分数:2.00)A.B.C.D.22.以下程序的输出结果是#includestdio.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x

7、,+*y,*(z+);main()int a=10,b=40,c=20;prt(B) #define N 100int numN;C) int num0100;D) int N=100;int numN;(分数:2.00)A.B.C.D.25.下列函数值的类型是( )。fun(doublex)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.26.算法具有五个特性,以下选项中不属于算法特性的是( )。A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B.C.D.27.若有定义

8、语句:int a23,*p3;,则以下语句中正确的是_。A) p=a; B) p0=a;C) p0=a12;D) p1=a;(分数:2.00)A.B.C.D.28.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是( )。A5 5 B10 5 C10 7 D5 8(分数:1.00)A.B.C.D.29.下列字符数组初始化语句中,不正确的是( )。 A) char c=goodmorning; B) char c20=“goodmorning“; C) char c=a,b,c,

9、d;D) char c=“goodmorning“;(分数:2.00)A.B.C.D.30.有以下程序#include stdio.hvoid fun(int *a,int n)/*fun函数的功能是将 a所指数组元素从大到小排序*/int t,i,j;for(i=0;in-1;j+)for(j=i+1;jn;j+)if(aiaj) t=ai;ai=aj;aj=t;main( )int c10=1,2,3,4,5,6,7,8,9,0,i;fun(c+4,6);for(i=0;i10;i+) printf(“%d,“,ci);printf(“/n“);程序的运行结果是A)1,2,3,4,5,6,

10、7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,(分数:2.00)A.B.C.D.31.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为( )。#includestdio.h#includestring.hmain()int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)strcpy(string,str0);else strcpy(string,str1);if(strcmp(s

11、tr2,string)0)strcpy(string,str2);printf(“%s“,string);A) bcdefgh B) m C) abcdefg D) bcdefgh或 abcdefg(分数:2.00)A.B.C.D.32.有以下程序:main()int a=1,b=3,c=5,*p;int *p1=y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.39.有以下程序:#includestdio.hmain()FTLE*fp;int a10=1,2,3,i,n;fp=fopen(“d1.dat“,“w“;

12、for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。A) 12300 B) 123C) 1 D) 321(分数:2.00)A.B.C.D.40.有以下程序:#include stdio.h#include strine.hstruct STUchar name10;int hum;void f(char * name,iht num)struct STU s2 = “

13、SunDan“ ,20044 , “ Penghua“ ,20045;num= s0. nnm;strepy(name,s0, name);main( )struct STU s2 = “YangSan“ ,20041 , “LiSiGao“ ,20042, * P;p = f(p-name,p-hum);printf(“% s %d /n“ ,p- name,p-num);程序运行后的输出结果是( )。A) SunDan 20042 B) SunDan 20044C) LiSiGuo 20042 D) YangSan 20041(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数

14、:34.00)41.在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_43.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接碟块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_45.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。(分数:2

15、.00)填空项 1:_46.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, 1 负责数据的模式定义与数据的物理存取构建。(分数:4.00)填空项 1:_47.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_48.若 a是 int型变量,则下列表达式的值为_。(a=2*3,a*2),a+4(分数:2.00)填空项 1:_49.以下程序的输出结果是_。 #includestdio.h void swap(int*a,int*b) int*t; t=a;a=b;b=c;main() int i=3,j=5,*p=int i=0,j =0,s =0;

16、while(i + 4)if(i =2 i =4) continue;j=0;do s+ = aij; j+; while(j4);pdnff(“ % d/n“ ,s);(分数:2.00)填空项 1:_53./13在内存中占 1个字节,“/12“在内存中占 1 个字节。(分数: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:_5

17、5.设有下列程序:#includestdio.h#includestring.hmain()int i;char s10,t10;gets(t);for(i=0;i2;i+)gets(s);if(strcmp(t,s)0)strcpy(t,s);print f(“%s/n“,t);程序运行后,从键盘上输入(CR代表回车符): DEFCRBADEFCRQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_二级 C语言笔试-455 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.在深度为 5的满二叉树中,叶子结点的个数为( )。A)

18、 32 B) 31 C) 16 D) 15(分数:1.00)A.B.C. D.解析:解析 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。这就是说,在满二叉树中,每层上的结点数都达到最大值,即在满二叉树的第 k层上有 2k-1个结点,且深度为 m的满二叉树有 2m-1个结点。由此可知,本题中叶子结点的个数为 25-1=16。2.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.

19、解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况,它们之间没有内在联系。3.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A.B. C.D.解析:解析 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的,是按先进后出的原则组织数据的。4.在软件开发中,需求分析阶段产生的主要文档是_。A) 可行性分析报告B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划(分数:

20、2.00)A.B. C.D.解析:解析 软件需求规格说明书是需求分析阶段最后的成果,它是作为需求解析的一部分而制定的可交付文档。在概要设计阶段,需要编写的文档有:概要设计说明书、数据库说明书、集成测试计划等。5.对关系 S和关系 R进行集合运算,结果中既包含关系 S中的所有元组也包含关系 R中的所有元组,这样的集合运算称为( )。 A) 并运算 B) 交运算 C) 差运算 D) 除运算(分数:2.00)A. B.C.D.解析:解析 关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。6.数据库技术的根本目标是要解决数据的A) 存储问题 B) 共享问题 C

21、) 安全问题 D) 保护问题(分数:2.00)A.B. C.D.解析:解析 数据库产生的背景就是计算机的应用范围越来越广泛,数据量急剧增加,对数据共享的要求越来越高。共享的含义是多个用户、多种语言、多个应用程序相互覆盖地使用一些公用的数据集合。在这样的背景下,为了满足多用户、多应用共享数据的要求,就出现了数据库技术,以便对数据库进行管理。因此,数据库技术的根本目标就是解决数据的共享问题。7.结构化程序设计的 3种基本结构是( )。A) 过程、子程序和分程序 B) 顺序、选择和重复C) 递归、堆栈和队列 D) 调用、返回和转移(分数:2.00)A.B. C.D.解析:解析 程序的 3种基本控制结

22、构包括顺序、选择和重复(循环),这 3种结构就足以表达出各种其他形式的结构。8.下列叙述中错误的是A) 一个 C语言程序只能实现一种算法B) C程序可以由多个程序文件组成C) C程序可以由一个或多个函数组成D) 一个 C函数可以单独作为一个 C程序文件存在(分数:1.00)A. B.C.D.解析:解析 一个 C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个 C语言程序可以实现多种算法。9.下列叙述中正确的是A) C语言编译时不检查语法 B) C 语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义 D) C 语言的函数可以嵌套调用(分数:1.00)A.B.C.D. 解析:

23、解析 C 语言相对其他高级语言来说,放宽了语法检查,但并不是不检查语法。C 语言的程序是由函数构成的。函数不能嵌套定义,但可以嵌套调用。10.有以下程序段int j; float y; char name50;scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 777abc后,y 的值为_。A) 55566.0 B) 566.0 C) 7777.0 D) 566777.0(分数:2.00)A.B. C.D.解析:解析 本题考查的重点是 scanf函数的用法。程序中第一个格式化字符串“%2d”表示读入一个两位的整数,因此就将键盘输入的前两位数赋到第一个

24、变量 j中,即 j的值为 55;后一个格式化字符串为“%f”,再将后续读入的数字赋给浮点变量 y,因此 y的值为 566.0,即到读到空格时结束。11.下列选项中,不能用做标识符的是_。A) _1234_ B) _1_2 C) int_2_ D) 2_int_(分数:1.00)A.B.C.D. 解析:解析 合法标识符的命名规则是:标识符可以由字母、数字、下画线三种字符组成,并且第一个字符必须为字母或者是下画线,同时,标识符不可以与任意一个关键字同名。在选项 D中,以数字 2开头,不符合标识符的命名规则。12.设变量 a是 int型,f 是 float型,i 是 double型,则表达式 10+

25、a+i*f值的数据类型为( )。A) int B) float C) double D) 不确定(分数:1.00)A.B.C. D.解析:解析 根据混合运算规则,如果有一个数据是 double型,则其他数据类型先转化为 double型,运算的结果最终也是 double型。13.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)if(ab) a=b; c=a;if(c!=a) c=b;printf(“%d,%d,%d/n“,a,b,c);其输出结果是_。(A) 程序段有语法错(B) 3,5,3(C) 3,5,5(D) 3,5,7(分数:1.00)A.B. C.D.解析:

26、15.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,int y=0;while(x7x+;printf(“%d,%d“,y,x);程序的输出结果是( )。A) 0,7 B) 7,7 C) 0,6 D) 1,6(分数:2.00)A. B.C.D.解析:解析 本题考查 while循环。y 的值在 while循环的控制表达式中加 1,在循环体内减 1,所以总的 y值不变,且控制条件+y 永远非零。当 x加到 7时不满足循环条件,结束循环。21.以下程序#includestdio.h#includestring.hma

27、in()char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出是_。A) xyzabcABC B) zabcABCC) yzabcABC D) xyabcABC(分数:2.00)A.B.C.D. 解析:评析 strcat(p1,P2)将字符串 abcABC放到了*pl 所指向的存储单元中;strcpy 在本题将 abcABC复制到 str+2所指向的存储单元中,即覆盖原 str数组中的字符 z及其后的所有字符,故 str的值为“xyabcABC”。22.以下程序的输出结果是#inc

28、ludestdio.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt(B) #define N 100int numN;C) int num0100;D) int N=100;int numN;(分数:2.00)A.B. C.D.解析:解析 C 语言不允许对数组进行动态定义,选项 D错误;选项 A没有指定数组元素的个数;选项C中定义格式错误;正确答案为选项 B,其中 N是符号常量。25.下列函数值的类型是( )。fun(doublex)float y;y=3*

29、x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A. B.C.D.解析:解析 本题考查默认函数的函数值的类型。在函数调用时,尽管 y的类型是 float,x 的类型是double,但是因为函数定义时省去类型说明,系统默认函数值的类型为血型,所以计算后的 y的类型是int型。26.算法具有五个特性,以下选项中不属于算法特性的是( )。A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B. C.D.解析:解析 有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性是算法的五大特性。选项 B)错误。27.若有定义语

30、句:int a23,*p3;,则以下语句中正确的是_。A) p=a; B) p0=a;C) p0=a12;D) p1=a;(分数:2.00)A.B. C.D.解析:解析 本题考查的重点是指针数组与二维数组的关系。因为*p3定义成指针数组,从而指针数组中的任何元素都是一个地址,因此,选项 B是正确的。28.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是( )。A5 5 B10 5 C10 7 D5 8(分数:1.00)A. B.C.D.解析:解析 /n 和/分别为转义字符,各

31、占据一个字符的位置。29.下列字符数组初始化语句中,不正确的是( )。 A) char c=goodmorning; B) char c20=“goodmorning“; C) char c=a,b,c,d;D) char c=“goodmorning“;(分数:2.00)A. B.C.D.解析:解析 本题考查两个概念。用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。选项 A)中一个单引号内存放了若干个字符,是错误的;选项 B)和选项 D)中将一个字符串赋值给一个字符数组是允许的。30.有以下程序#include stdio.hvoid fu

32、n(int *a,int n)/*fun函数的功能是将 a所指数组元素从大到小排序*/int t,i,j;for(i=0;in-1;j+)for(j=i+1;jn;j+)if(aiaj) t=ai;ai=aj;aj=t;main( )int c10=1,2,3,4,5,6,7,8,9,0,i;fun(c+4,6);for(i=0;i10;i+) printf(“%d,“,ci);printf(“/n“);程序的运行结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5

33、,0,(分数:2.00)A.B.C.D. 解析:解析 在本题中,主函数在调用 fun( )函数进行排序时,传递的参数是 c+4和 6,fun( )函数实现的功能是将数组 c的第 5个元素开始的 6个元素依次进行从大到小的顺序排列。排序之后,数组 c的内容变为1,2,3,4,9,8,7,6,5,0。31.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为( )。#includestdio.h#includestring.hmain()int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)s

34、trcpy(string,str0);else strcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(“%s“,string);A) bcdefgh B) m C) abcdefg D) bcdefgh或 abcdefg(分数:2.00)A.B. C.D.解析:解析 本题考查字符比较函数和字符复制函数:strcmp(s1,s2);函数功能:比较字符串 str1和str2比较的是字符的 ASCII码的值当 str1str2 时,返回值为负数:当 str1=str2时,返回 0;当str1str2,返回值为正数

35、。32.有以下程序:main()int a=1,b=3,c=5,*p;int *p1=y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A. B.C.D.解析:解析 C 语言规定函数定义时若不声明函数值的类型,则默认为是整型。39.有以下程序:#includestdio.hmain()FTLE*fp;int a10=1,2,3,i,n;fp=fopen(“d1.dat“,“w“;for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat

36、“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。A) 12300 B) 123C) 1 D) 321(分数:2.00)A.B. C.D.解析:解析 本题考查的是 C语言对文件的操作。语句 fopen(“d1.dat“, “wv);用于打开文件 d1.dat,若文件不存在则建立一个新的文件,然后语句 for(i=0;j3;i+)fprintf(fp,“%d“,ai);向文件中写入数据 123/n。fp=fopen(“d1.dat“,“r“);以只读方式打开 d1.dat文件,fscanf(fp, “%d“, n);用于

37、将文件中的数据读入到变量 n中,最后输出 n的值为 123。40.有以下程序:#include stdio.h#include strine.hstruct STUchar name10;int hum;void f(char * name,iht num)struct STU s2 = “SunDan“ ,20044 , “ Penghua“ ,20045;num= s0. nnm;strepy(name,s0, name);main( )struct STU s2 = “YangSan“ ,20041 , “LiSiGao“ ,20042, * P;p = f(p-name,p-hum);

38、printf(“% s %d /n“ ,p- name,p-num);程序运行后的输出结果是( )。A) SunDan 20042 B) SunDan 20044C) LiSiGuo 20042 D) YangSan 20041(分数:1.00)A. B.C.D.解析:解析 main 函数中将定义的结构体类型指针变量 p指向结构体类型数组 s1,通过调用函数 f改变了指针变量 p所指向的结构体中成员变量 name的值,但并未改变其 num的值。这是因为函数 f中的形参 name是一个字符型指针变量,它指向了 main函数中指针变量 p所指向的结构体的成员变量 name,所以对函数 f中的形参*

39、name 的改变也就对 main函数中 p-name 的改变,而函数 f中对形参 num的改变不会影响 main函数中 p-?num 的值,因为此时传递给 num 的是一个值,而不是地址。二、填空题(总题数:15,分数:34.00)41.在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_ (正确答案:有穷性)解析:解析 算法的 4个基本特性:可靠性、确定性、有穷性和拥有足够的情报。其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于

40、1。(分数:2.00)填空项 1:_ (正确答案:线性结构)解析:解析 数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。43.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_ (正确答案:继承)解析:解析 在面向对象的程序设计方法中,某些属性和方法是可以共享的,由子类从父类中继承而来,这样提高了软件的可重用性。44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接碟块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(

41、分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:解析 由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。45.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。(分数:2.00)填空项 1:_ (正确答案:黑盒)解析:解析 软件测试的方法和技术是多种多样的,对于软件测试方法和技术,可以从不同角度加以分类。若从是否需要执行被测试软件的角度划分,可分为静态测试和

42、动态测试,若从功能划分,可以分为白盒测试和黑盒测试。46.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, 1 负责数据的模式定义与数据的物理存取构建。(分数:4.00)填空项 1:_ (正确答案:数据定义语言)解析:解析 在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建。47.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_ (正确答案:数据结构)解析:解析 Jackson 方法是一种结构化分析方法,它是一种面向数据结构的结构化方法。48.若 a是 int型变量,则下列表达式

43、的值为_。(a=2*3,a*2),a+4(分数:2.00)填空项 1:_ (正确答案:10)解析:解析 此题考查逗号表达式。逗号表达式的值是最后一个表达式的值,所以本题的返回值是a+4。前面已经给 a赋值 6,所以返回值 a+4=6+4=10。49.以下程序的输出结果是_。 #includestdio.h void swap(int*a,int*b) int*t; t=a;a=b;b=c;main() int i=3,j=5,*p=int i=0,j =0,s =0;while(i + 4)if(i =2 i =4) continue;j=0;do s+ = aij; j+; while(j4

44、);pdnff(“ % d/n“ ,s);(分数:2.00)填空项 1:_ (正确答案:92)解析:解析 本题考查循环的嵌套。当 i=0时执行 while语句,i+4 成立,这时 i=1,不执行 continue语句,继续执行 j=0;然后执行do-while语句,共循环 4次:a)j=0时,s=0+a10=5,j=j+1=1。b)j=1时,s=5+a11=5+6=11,j=j+1=2。c)j=2时,s=11+a12=11+7=18,j=j+1=3。d)j=3时,s=18+a13=18+8=26,j=j+1=4。终止循环。当 i=1时执行 while语句,i+4 成立,这时 i=2,执行 co

45、ntinue语句,结束本次循环。当 i=2时执行 while语句,i+4 成立,这时 i=3,不执行 continue语句,继续执行 j=0;然后执行do-while语句,共循环 4次:a)s=26+a30=26+15=41,j+1=1。b)s=41+a31=41+16=57,j+1=2。c)s=57+a32=57+17=74,j+1=3。d)s=74+a33=74+18=92,j+1=4。终止循环。i=3 时,执行 while语句,i+4 成立,这时 i=4,执行 continue语句,结束本次循环。当 i=4时,执行 while语句,i+4 不成立,结束 while循环。输出 s的结果 9

46、2。53./13在内存中占 1个字节,“/12“在内存中占 1 个字节。(分数:2.00)填空项 1:_ (正确答案:2)解析:解析 /13:表示八进制数 13表示的 ASCII字符,是一个字符,占一个字节;而“/12”是个字符串,除了八进制数 12表示的 ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志“/0”,所以共有两个字节。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:_ (正确答案:15)解析:解析 通过递归调用 f函数实现了数组各元素之和,即 a4+a2+a1+a0=15。55.设有下列程序:#includestdio.h#includestring.hmain()int i;char s10,t

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