




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、选择题(1)(10)每小题 2 分,(11)(50)每小题 1 分,共 60 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选 项涂写在答题卡相应位置上,答在试卷上不得分。 (1)数据的存储结构是指_D_。 A)存储在外存中的数据B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示 答案:D 评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据 的物理结构)。 (2)下列关于栈的描述中错误的是_B_。 A)栈是先进后出的线性表 B)栈只能顺序存储 C)栈具有记忆作用 D)对栈的插入与删除操作中,不需要改变栈底指针 答案:B 评析:栈是一种特殊的线性表,又称先进后出表(FILOFirst In Last Out)。 (3)对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 _D_。 A)冒泡排序为 n2B)冒泡排序为 n C)快速排序为 nD)快速排序为 n(n 一 1)2 答案:D 评析:假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n2 遍的从前往后扫 描和 n2 遍的从后往前扫描,需要比较次数为 n(n-1)2。快速排序法的最坏情况比较次数 也是 n(n-1)2。 (4)对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_C_。 A)log2nB)n2C)nD)n+l 答案:C 评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性 表中,则需要与线性表中所有的元素进行比较。对长度为 n 的线性表进行顺序查找,在最坏 情况下需要比较 n 次。 (5)下列对于线性链表的描述中正确的是_A_。 A)存储空间不一定是连续,且各元素的存储顺序是任意的 B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的 答案:A 评析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与 数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 (6)下列对于软件测试的描述中正确的是_C_。 A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 答案:C 评析:关于软件测试的目的,Grenford JMyers 再The Art of Software Testing一书中给 出了深刻的阐述,整体来说,软件测试的目的就是尽可能多地发现程序中的错误。 (7)为了使模块尽可能独立,要求_B_。 A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 答案:B 评析: 模块独立性是指每个模块只完成系统要求的独立的子功能, 并且与其他模块的联系最 少且接口简单。软件设计,应尽量做到高内聚,低耦合,有利于提高模块的独立性。 (8)下列描述中正确的是_D_。 A)程序就是软件 B)软件开发不受计算机系统的限制 C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合 答案:D 评析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文 档的完整集合。 (9)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指_D_。 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 答案:D 评析: 数据独立性是数据与程序间的互不依赖性, 即数据库中数据独立于应用程序而不依赖 于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。 选项 A、B、C 三种说法都是错误的。 (10)用树形结构表示实体之间联系的模型是_C_。 A)关系模型B)网状模型C)层次模型D)以上三个都是 答案:C 评析:层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。 (11)算法具有五个特性,以下选项中不属于算法特性的是_B_。 A)有穷性B)简洁性C)可行性D)确定性 答案:B 评析:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。 (12)以下选项中可作为 c 语言合法常量的是_A_。 A)-80B)-080C)-8e10D)-800e 答案:A 评析:c 语言的常量分为整型常量、实型常量和字符型常量。选项 A 属于实型常量中的十进 制小数形式的表示法,是合法的。 (13)以下叙述中正确的是_C_。 A)用 C 程序实现的算法必须要有输入和输出操作 B)用 C 程序实现的算法可以没有输出但必须要输入 C)用 C 程序实现的算法可以没有输入但必须要有输出 D)用 C 程序实现的算法可以既没有输入也没有输出 答案:C 评析:算法的特性中包括“有零个或多个输入”及“有一个或多个输出”这两个特性。一个算法 得到的结果就是算法的输出, 没有输出的算法是没有意义的, 所以一个算法必须至少有一个 输出。 (14)以下不能定义为用户标识符的是_D_。 A)MainB)_0C)_intD)sizeof 答案:D 评析:C 语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是 字母或下划线。注意:大写字母和小写字母被认为是两个不同的字符。A 中 Main 与主 i 函 数名 main 不同。 (15)以下选项中不能作为合法常量的是_B_。 A)1234e04B)1234e04C)1234e+4 D)1234e0 答案:B 评析:指数形式的实型常量要求字每 e(或 E)之前必需有数字,且 e 后面的指数必须为整数, 所以本题中选项 B 非法。 (16)数字字符 0 的 ASCII 值为 48,若有以下程序 main() char a=”1,b=”2; printf(“c,”,b+); printf(“dn”,b-a); ) 程序运行后的输出结果是_C_。 A) 3,2B)50,2C)2,2D)2,50 答案:C 评析 l 执行语句“printf(“c,ll,b+);”后,b 的值变成字符 3,执行“printf(“dn”,b-a);”, 即3-1。 (17)有以下程序 main( ) int m=12, n=34; printf(“dd”,m+,+n); printf(“ddn”,n+,+m); 程序运行后的输出结果是_A_。 A)12353514B)12353513C)12343514D)12343513 答案:A 评析:执行“printf(“dd”m+,+n);”后,输出的是 m 和 n+l 的值 1235,接着执行 “printf(“ddn”,n+,+m);”输出 n 和 m+l 的值 3514。 (18)有定义语句:int b;char c10; ,则正确的输入语句是_B_。 A) scanf(“ds“,B) scanf(“ds“, C) scanf(“ds“,b,C);D) scanf(“ds“,b, 答案:B 评析:scanf 函数中的“格式控制”后面应当是地址,而不是变量名。对于变量,通过地址运算 符“ printf(“dddn”,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是_A_。 A) m=123n=456p=789B) m=123 n=456 p=789 C) m=123,n=456,p=789D) 123 456 789 答案:A 评析:根据本题的数据输入形式“scanf(“m=dn=dp=d” a=d109; b=a printf(”d,dn”,a,b); 程序运行后的输出结果是_B_。 A)6,lB)2,lC)6,0D)2,0 答案:B 评析:本题中“a=d109;”的值为 25109=2; “b=a if(i+=1 程序运行后的输出结果是_D_。 A)l 2 3B)2 34C) 2 2 3D)2 3 3 答案:D 评析:执行“i+=1 int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d);f=fl(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“d,d,dn”,e,f,g); ) 程序运行后的输出结果是_A_。 A)4,3,7B)3,4,7C)5,2,7D)2,5,7 答案:A 评析:函数 n 的功能是返回两个数中比较大的值,f2 的功能是返回两个数中比较小的值。 (27)已有定义:char a=”xyz”,b=x,y,z;,以下叙述中正确的是_。 A)数组 a 和 b 的长度相同B)a 数组长度小于 b 数组长度 C)a 数组长度大于 b 数组长 sizeof 度D)上述说法都不对 答案:C 评析: c 语言规定0为字符串结束标志。 所以“char a=“xyz”的数组长度为 4, 而“b=x, y,z;”的数组长度为 3,数组长度与 strlen 函数所求的长度不同,本题是指数组占内存 空间的大小。 (28)有以下程序 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(p=n;i)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=O;i,则输出结果是_B_。 A)产生错误信息 B)l0C)l 2D)l 0 2 O3 02 0 0 00 O3 0 答案:B 评析:二维数组 a,通过 a32=0将数组中的各个元素初始化为 0,指针变量 ptr,指向包 含 2 个元素的一维数组。a00:l,a10=2,故本题的输出选 B。 (33)有以下程序 prt(int *m, int n) int i; for(i=0;i=8)break; if(a2=1)a+=5;continue; a-=3; printf(“dn”,b); 程序运行后的输出结果是_B_。 A) 3B)4C) 5D) 6 答案:B 评析:break 和 continue 的区别是:continue 语句只结束本次循环,而不是终止整个循环的 执行;而 break 语句则是结束整个循环过程, 不再判断执行的条件是否成立。 (42)有以下程序 main() char s=”l 59,*p; p=s; printf(“c”,*p+);printf(“c”,*p+); 程序运行后的输出结果是_A_。 A)15B)16C)12D)59 答案:A 评析:本题通过“p=s”将指针变量 p 指向字符数组 s,在第一次输出时,由于+和*为同一优 先级,“*p+”相于“*(p+)”。p 指向 s1,输出为 s1的值。 (43)有以下函数 fun(char*a,char*b) while(*a!=0)b+; return(*a-*b); 该函数的功能是_D_。 A)计算 a 和 b 所指字符串的长度之差 B)将 b 所指字符串连接到 a 所指字符串中 C)将 b 所指字符串连接到 a 所指字符串后面 D)比较 a 和 b 所指字符串的大小 答案:D 评析:字符串的比较规则是对两个字符串自左至右逐个字符相比(按 ASCII 码值大小比较), 直到出现不同的字符或遇到0为止, 相等, 则返回 0, 否则返回第一个不等字符串的 ASCII 码的差值。 (44)有以下程序 main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;inext=q-next;B)p-next=p-next-next; C)p-next=r;D)p=q-next; 答案:D 评析: 要想将 q 所指结点从链表中删除, 同时保持链表的连续, 必需使 p 结点的 next 指向 r, 在四个选项中,只有选项 D 不能做到。 (48)以下对结构体类型变量 td 的定义中,错误的是_C_。 A) typedef struct aaB) struct aa int n; int n; float m;float m; AA;td; AAtd;struct aa td; C) structD) struct int n; int n; float m;float m; aa;td; struct aa td; 答案:C 评析:选项 c 中的 aa 本身就为结构体变量名,所以不能再用它来定义结构体变量,故此种 定义方法是错误的: (49)以下与函数 fseek(f1),0L,SEEK_SET)有相同作用的是_D_。 A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp) 答案:D 评析:fseek 函数用于改变文件的位置指针。 本题中“fseek(fp,0L,SEEK_SET)”的作用是将位置指针移到文件头。 feof 的作用是判断文件是否结束,已指到文件的末尾,则返回值为非零,否则为零。 ftell 的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。 fgets 的作用是指定文件读入二个字符串。 (50)有以下程序 #include void WriteStr(char *fn, char *str) FILE *fp; fp=fopen(fp,”w”);fputs(str, fp);fclose(fp); main() WriteStr(“t1.dat”,”start”); WriteStr(“tl.dat”,”end”); 程序运行后,文件 t1dat 中的内容是_B_。 A)startB)endC)startendD)endrt 答案:B 评析:两次使用“写入”的方式打开同一个文件,在第二次打开时,文件指针指向文件头,所 以此次写入的数据覆盖了文件原有的数据,故本题中 t1dat 的内容为 end。 二、填空题(每空 2 分,共 40 分) 请将每空的正确答案写在【1】至【20】序号的横线上,答在试卷上不得分。 (1)某二叉树中度为 2 的结点有 18 个,则该二叉树中有一_【1】_ 一个叶子结点。 答案: 【1】19 评析:二叉树的性质 3:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的 结点多一个。本题中度为 2 的结点数为 18,故叶子结点数为 18+1=19 个。 (2)在面向对象方法中,类的实例称为_【2】_. 答案: 【2】对象 评析;将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的 集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则 是其对应类的一个实例。 (3)诊断和改正程序中错误的工作通常称为_【3】_. 答案: 【3】程序调试 评析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能 多地发现软件中的错误。 先要发现软件的错误, 然后借助于一定的调试工具去找出软件错误 的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。 (4)在关系数据库中,把数据表示成二维表,每一个二维表称为_【4】_。 答案: 【4】关系 评析:在关系数据库中,把数据表示成二维表,而一个二维表就是一个关系。 (5)问题处理方案的正确而完整的描述称为_【5】_。 答案: 【5】算法 评析:所谓算法是指解题方案的准确而完整的描述。 (6)以下程序运行时,若从键盘输入:10 20 30,输出的结果是_【6】_. #include main() int i=0,j=0,k=0; scanf(“d*dd”, printf(“dddn”i,j,k); 答案: 【6】10300(j 没有跳过! ) 评析:在 scanf 格式控制符中,如果在后有一个“*”附加说明符,表示跳过它指定的列数。 本题中“d*dd”表示将 10 赋给 i, *d 表示读入整数但不赋给任何变量, 然后再读入 整数 30 赋给变量 j,那么变量 k 并没有重新赋值,仍为初始值 0。所以输出的结果为 10300。 (7)以下程序运行后的输出结果是_【7】_。 #define S(x) 4*x*x+l main() int i=6,j=8; printf(“d11,S(i+j); 答案: 【7】81 评析;带参数的宏定义是按#define 命令行中指定的字符串从左到右进行转换。本题中替换 的式子为:4*i+j*i+j+l,代入 i,j 的值得 81。 (8)以下程序运行后的输出结果是_【8】_。 main() int a=3,b=4,c=5,t=99; if(b1); printf(“d d dn”,a,b,C); 答案: 【9】10 20 0 评析:本题中“(ab1)”的运算顺序为先算括号算术运算符关系运算符逻 辑运算符。其中 ab=10,ab=0,所以 abl 值也是 0,故整个表达式 的结果为 0,所以输出的 a,b,c 的值为 10 20 0。 (10)以下程序运行后的输出结果是_【10】_。 main() char c1,c2; for(c1=0,c2=9;c1, 则输出结果是_。 #include main() char a,b; a=getchar();scanf(“d”, a=a-a+0;b=b*2; printf(“ccn”,a,b); 答案: 【11】1 B 评析:c 语言使字符型数据和整型数据之间可以通用。题中执行“a=getchar();”后,a 的值 B, 在内存中的表现形式为 ASCII 码 66;执行“scanf(“d” main() int aa4=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i void fun(char *s, int p, int k) int i; for(i=p;i main() char ch=”abc”,x34; int i; for(i=0;ik=+i; p+; q-k=i+; q; q-k=i; for(i=0;ik=+i; ,由于是“前加”,所以 mOk=1执行 p+ 后 p=m+l;执行 q-k=i+; ,由于是“后加”,所以 m4k=1,然后使得 i 加上 1,即 i=2, q后,q=m+3: p=m+l,q=m+3,条件 p!=q 成立,执行 p-k=+i; ,由于是“前加”,所以 i=3,m0k=3, 执行 p+后 p=m+2;执行 q-k=i+; ,由于是“后加”,所以 m4k=3,i=4,q后,q=m+2; p=m+2,q=m+2,条件 p!=q 不成立,则执行 q-k=i;即 m2k=4;故输出的值为 13431。 (18)以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文, 时,函数返回字符串:yes!,否则函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省苏州市葛江中学2026届九年级英语第一学期期末达标测试试题含解析
- 华山医院教学体系建设与实践
- 安徽省当涂县2026届九上化学期中考试模拟试题含解析
- 广联达教育培训
- 涉企收费迎检汇报
- 广东省深圳市南山区南山实验学校2026届九年级化学第一学期期中教学质量检测试题含解析
- 学院就业工作总结报告
- 组织部工作总结
- 江苏省无锡市南长实验中学2026届化学九上期中达标检测试题含解析
- 2026届广东省中学山市黄圃镇马新初级中学九年级化学第一学期期中质量检测试题含解析
- 2025年时事政治考试100题及答案
- 护理员安全培训内容课件
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 饮食营养与健康课件
- 地下车库系统环氧地坪施工组织设计
- 2022年浙江省公务员录用考试《申论》试卷及参考答案
- 医共体成员单位人力资源工作制度
- YY∕T 0953-2020 医用羧甲基壳聚糖(高清正版)
- 生物医学工程导论课件
- 宠物市场调研报告
评论
0/150
提交评论