1、全国计算机等级考试二级公共基础知识课后习题集答案全国计算机等级考试二级公共基础知识课后习题及答案1第一章数据结构与算法 一.选择题 1.算法的时间复杂度是指() A.执行算法程序所需要的时间 B.算法程序的长度 C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数 2.算法的空间复杂度是指() A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间 3.下列叙述中正确的是() A.线性表是线性结构 B.栈与队列是非线性结构 C.线性链表是非线性结构 D.二叉树是线性结构 4.数据的存储结构是指() A.数据所占的存储空间量 B.
2、数据的逻辑结构在计算机中的表示 C.数据在计算机中的顺序存储方式 D.存储在外存中的数据 5.下列关于队列的叙述中正确的是() A.在队列中只能插入数据 B.在队列中只能删除数据 C.队列是先进先出的线性表 D.队列是先进后出的线性表 6.下列关于栈的叙述中正确的是() A.在栈中只能插入数据 B.在栈中只能删除数据 C.栈是先进先出的线性表 D.栈是先进后出的线性表 8.在深度为5的满二叉树中,叶子结点的个数为() A.32B.31C.16D.15 9.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为() A.N+1B.NC.(N+1)/2D.N/2 10.设树T的度为4,其中
3、度为1,2,3,4的结点个数分别为4,2,1,1.则T的叶子结点数为 A.8B.7C.6D.5 二.填空题 1.对长度为n的有序线性表中进行二分查找,需要的比较次数为() 2.设一棵完全二叉树共有700个结点,则在该二叉树中有()个叶子结点 3.设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为() 4.在最坏情况下,冒泡排序的时间复杂度为() 5.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有()个元素第一章参考答案 一选择题 1C2.D3.A4.B5.C6.D7.B8.B9.B10.A 二.填空题 1)log
4、2n2)3503)DEBFCA4)N(N-1)/25)3第二章程序设计基础 一.选择题 1.结构化程序设计主要强调的是() A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 2对建立良好的程序设计风格,下面描述正确的是() A.程序应简单、清晰、可读性好 B符号名的命名只要符合语法 C充分考虑程序的执行效率 D程序的注释可有可无 3在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送() A调用语句 B命令 C口令 D消息 4信息隐蔽的概念与下述哪一种概念直接相关?() A软件结构定义 B模块独立性 C模块类型划分 D模块耦合度 5下面对对象概念描述错误的是(
5、) A任何对象都必须有继承性 B对象是属性和方法的封装体C对象间的通讯靠消息传递 D操作是对象的动态属性 二填空题 1结构化程序设计的三种基本逻辑结构为顺序、选择和() 2源程序文档化要求程序应加注释。注释一般分为序言性注释和() 3在面向对象方法中,信息隐蔽是通过对象的()性来实现的 4类是一个支持集成的抽象数据类型,而对象是类的() 5在面向对象方法中,类之间共享属性和操作的机制称为()第二章参考答案 一选择题 1B2.A3.D4.B5.A 二填空题 1)重复(或循环)2)功能性3)封装4)实例5)继承转贴 第三章软件工程基础 一.选择题 1.在软件生命令周期中,能准确地确定软件系统必须做
6、什么和必须具备哪些功能的阶段是() A.概要设计B.详细设计C.可行性研究D.需求分析 2.下面不属于软件工程的3个要素的是() A.工具B.过程C.方法D环境 3.检查软件产品是否符合需求定义的过程称为() A.确认测试B.集成测试C.验证测试D.验收测试 4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是() A.控制流B.加工C.数据存储D.源和潭 5.下面不属于软件设计原则的是 A.抽象B.模块化C.自底向上D.信息隐蔽 6.程序流程图(PFD)中的箭头代表的是() A.数据流B.控制流C.调用关系D.组成关系 7.
7、下列工具中为需求分析的常用工具的是() A.PADB.PFDC.N-SD.DFD 8.在结构化方法中,软件功能分解属于下列软件开发中的阶段是() A.详细设计B.需求分析C.总体设计D.编程调试 9.软件调试的目的是() A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能 10.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及() A.阶段性报告B.需求评审C.总结D.都不正确 二.填空题 1.软件是程序、数据和()的集合. 2.Jackson方法是一种面向()的结构化方法 3.软件工程研究的内容主要包括()技术和软件工程管理 4.数据流图的类型
8、有()和事务型 5.软件开发环境是全面支持软件开发全过程的()集合。 第三章参考答案 一选择题 1D2.D3.A4.A5.C6.B7.D8.C9.B10.B 二填空题 1)文档2)数据流3)软件开发4)变换型5)软件工具转贴 第四章数据库设计基础 一选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是() A.数据库系统B.文件系统C.人工管理D.数据项管理 2.下述关于数据库系统的叙述正确的是() A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能
9、管理更多的数据 3.数据库系统的核心是() A.数据库B.数据库管理系统C.数据模型D.软件工具 4.用树形结构来表示实体之间联系的模型称为() A.关系模型B.层次模型C.网状模型D.数据模型 5.关系表中的每一横行称为一个() A.元组B.字段C.属性D.码 6.按条件f对关系R进行选择,其关系代数表达式是() A.R|RB.R|RC.f(R)D.f(R) 7关系数据管理系统能实现的专门关系运包括() A.排序、索引、统计 B.选择、投影、连接C.关联、更新、排序 D.显示、打印、制表 8在关系数据库中,用来表示实体之间联系的是() A.树结构B.网结构C.线性表D.二维表 9数据库设计包
10、括两个方面的设计内容,它们是() A.概念设计和逻辑设计B.模式设计和内模式设计 C.内模式设计和物理设计D.结构特性设计和行为特性设计 10将E-R图转换到关系模式时,实体与联系都可以表示成() A.属性B.关系C.键D.域 二填空题 1.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体”项目主管”与实体”项目”的联系属于()的联系. 2.数据独立性分为逻辑独立性和物理独立性.当数据的存储结构改变时,其逻辑结构可以不变。因此,基于逻辑结构的应用程序不必修改,称为() 3.数据库系统中实现各种数据管理功能的核心软件称为() 4.关系模型的完整性规则是对关系的某种约束条件,包括实体完
11、整性、()和自定义完整性. 5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个()转贴于 第四章参考答案 一选择题 1A2.A3.B4.B5.A6.C7.B8.D9.A10.B 三.填空题 1)一对多(或1:N)2)逻辑独立性3)数据库管理系统4)参照完整性5)关系转贴于一、选择题 ()下列关于栈的叙述正确的是 A)栈是非线性结构B)栈是一种树状结构 C)栈具有先进先出的特征D)栈具有后进先出的特征 ()结构化程序设计所规定的三种基本控制结构是 A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数 ()结构化程序设计的一种基本方法是 A)筛选法B)递
12、归法C)归纳法D)逐步求精法 ()如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择B)投影C)连接D)并 二、填空题 .对于输入为N个数进行快速排序算法的平均时间复杂度是() .在面向对象方法学中,直接反映了用户对目标系统的要求的模型是() .软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试() .关系型数据库管理系统中存储与管理数据的基本形式是() C语言程序设计 一、选择题 (1)以下程序的输入结果是 main( ) int i=010,j=10,k=x10; printf(
13、%d,%d,%d ,i,j,k); A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16 (2)指针s所指字符串的长度 char *s= Name Address ; A)说法不合法 B)19 C)18 D)15 (3)C语言中最简单的数据类型包括 A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型 (4)为表示关系x大于等于y大于等于z,应使用C语言表达式 A)(x=Y)&(Y=z) B)(x=Y)AND(y=z) C)(x=Y=z) D)(x=Y)&(Y=z) (5)下列对C语言字符数组的描述中错误的是 A
14、)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 (6)以下说法中正确的是 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 (7)以下程序段的输出结果是 int x=3; do printf(%3d,x-=2); while(!(- -x); A)1 B)30 C)1 -2 D)死循环 (8)设有如下定义
15、: char *aa2=abcd,ABCD; 则以下说法中正确的是 A)aa数组元素的值分别是abcd和ABCD B)aa是指针变量,它指向含有两个数组元素的字符型一维数组 C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D)aa数组的两个元素中各自存放了字符a和A的地址 (9)设有以下定义: int a43=1,2,3,4,5,6,7,8,9,10,11,12; int (*prt)3=a, * p=a0; 则下列能够正确表示数组元素a12的表达式是 A)*(* prt + 1)2) B)*(*(p+5) C)(* prt + 1)+2 D)*(*(a+1)+2) (1
16、0)以下程序的输出结果是 fut( int * *s,int p23) * *s=p11; main( ) int a23=1,3,5,7,9,11,*P; p=(int * )malloc(sizeof(int); fut(&p,a); print(% ,*p); A)1 B)7 C)9 D)11 二、填空题 (1)表示条件:10 (2)下列程序的输出结果是( ) #include main( ) char b =ABCDEFG; char *chp=&b7; while(- -chp&b0) putchar(*chp); putchar( ); (3)下列程序的输出结果是( ) int a
17、st( int x,int Y,int * cp,int * dp) * cp=x+y; * dp=x-y; main( ) int a,b,c,d; a=4;b=3; ast(a,b,&c,&d); print(% d % d n,c,d); (4)阅读程序: main( ) char str1 =how do you do,str210; char *p1=str1,*p2=str2; scanf(% s,p2); printf(%s,p2); printf(%s ,p1); 运行上面的程序,输入字符串 HOW DO YOU DO 则程序的输出结果是( ) (5)以下程序由终端键盘输入一个
18、文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。请填空。 #include main( ) FILE * fp; char ch,fname 10; printf(Input the name of file ); gets(fname); gets(fname); if(fp=5)= =NULL) printf(Cannot open ); exit(0); printf(Enter data ); while(ch=getchar()!=#) fputc(6,fp); fclose(fp); 三、上机操作题 1.改错题 下列给定程序中,函数fun的功能是:逐个
19、比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为:aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include void fun (char *p, char *q, char *c) int k=1; while(*p! = *q) if ( *p! *q) ck= *q; else ck= *p; if(*p) p+; if(*q) q+
20、; k+; main( ) char a10=aBCDeFfH,b10=ABcd,c80= 0; fun (a,b,c); printf(The string a:);puts (a); ptintf(The string b:);puts (b); printf(The result :);puts(c); 2.编程题 请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试
21、题程序: # include # include void fun ( int *a, int *n) main( ) int aa1000,n,k; clrscr( ); fun (aa,&n); for (k=0;k if(k+1)%10= = 0) printf ( ); else printf(%5d,aak); 二级(C语言程序设计)样题参考答案 一、选择题 (1)D (2)C (3)D (4)B 二、填空题 (1)1O(Nlog2 N) (2)2功能模型 (3)3软件外部功能 (4)4二维表 C语言程序设计 一、选择题 (1)A (2)D (3)B (4)A (5)C (6)C (
22、7)C (8)D (9)D (10)C 二、填空题 (1)1 (x10&x100)/x0 或(10 或x10&xx/(10 (并且括号有无都可以) (2)2GFEDCB (3)3 7 1 (4)4HOW how do you do (说明:HOW和how之间有无空格均可) (5)5fopen(fname,w) (说明:w内以w开头的字符串均可) 6 ch (1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A)GEDHFBCA B)DGEBHFCAC)ABCDEFGH D)ACBFEDHG 正确答案: B (2)树是结点的集合,它的根结点数目是
23、A)有且只有1 B)1或多于1C)0或1 D)至少2 正确答案: A (3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2D)任意顺序 正确答案: B (4)在设计程序时,应采纳的原则之一是 正确答案: DA)不限制goto语句的使用 B)减少或取消注解行C)程序越短越好 D)程序结构应有助于读者理解 (5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分 B)变量成分 C)语句成分D)传输成分 正确答案: D 一 、选择题(1)下列数据结构中,按先进后出原则组织数据的是A)线性链表B
24、)栈 C)循环链表D)顺序表 正确答案: B (2)具有3个结点的二叉树有A)2种形态B)4种形态C)7种形态D)5种形态 正确答案: D (3)设有下列二叉树:对此二叉树前序遍历的结果为A)ZBTYCPXAB)ATBZXCYPC)ZBTACYXPD)ATBZXCPY 正确答案: B (4)结构化程序设计主要强调的是 正确答案: DA)程序的规模B)程序的效率C)程序设计语言的先进性 D)程序易读性 (5)程序的3种基本控制结构是A)过程、子过程和分程序B)顺序、选择和重复C)递归、堆栈和队列D)调用、返回和转移 正确答案: B (6)下列叙述中,不属于测试的特征的是A)测试的挑剔性B)完全测
25、试的不可能性C)测试的可靠性D)测试的经济性 正确答案: C (7)需求分析中开发人员要从用户那里了解A)软件做什么B)用户使用界面C)输入的信息D)软件的规模 正确答案: A (8)下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是A)选择B)连接 C)投影D)并 正确答案: B (9)下列叙述中,正确的是 A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B)用E-R图只能表示实体集之间一对一的联系C)用E-R图只能表示实体集之间一对多的联系D)用E-R图表示的概念数据模型只能转换为关系数据模型 正确答案: C (10)年龄在1825之间这种约束是属于数据库当中的A)原子性措施B)一致性措施C)完整性措施D)安全性措施 正确答案: C (11)以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1