全国计算机等级考试二级公共基础知识课后习题及答案.docx
《全国计算机等级考试二级公共基础知识课后习题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识课后习题及答案.docx(21页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试二级公共基础知识课后习题及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/31/1d6f5bba-5162-4bfd-af34-1684f8879abb/1d6f5bba-5162-4bfd-af34-1684f8879abb1.gif)
全国计算机等级考试二级公共基础知识课后习题及答案
全国计算机等级考试二级公共基础知识课后习题及答案1
第一章 数据结构与算法
一.选择题
1.算法的时间复杂度是指( )
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
2.算法的空间复杂度是指( )
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
3.下列叙述中正确的是( )
A. 线性表是线性结构B. 栈与队列是非线性结构
C. 线性链表是非线性结构D. 二叉树是线性结构
4.数据的存储结构是指( )
A. 数据所占的存储空间量
B. 数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式
D. 存储在外存中的数据
5.下列关于队列的叙述中正确的是( )
A. 在队列中只能插入数据B. 在队列中只能删除数据
C. 队列是先进先出的线性表D. 队列是先进后出的线性表
6.下列关于栈的叙述中正确的是( )
A. 在栈中只能插入数据B. 在栈中只能删除数据
C. 栈是先进先出的线性表D. 栈是先进后出的线性表
8.在深度为5的满二叉树中,叶子结点的个数为( )
A. 32 B. 31 C. 16 D. 15
9.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )
A. N+1 B. N C .(N+1)/2 D. N/2
10.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1 .则T的叶子结点数为
A. 8 B. 7 C . 6 D. 5
二.填空题
1. 对长度为n的有序线性表中进行二分查找,需要的比较次数为( )
2. 设一棵完全二叉树共有700个结点,则在该二叉树中有( )个叶子结点
3. 设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为( )
4. 在最坏情况下,冒泡排序的时间复杂度为( )
5. 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有( )个元素
第一章参考答案
一.选择题
1.C 2. D 3. A 4. B 5. C 6. D 7. B 8. B 9. B 10. A
二. 填空题
1) log2n 2) 350 3) DEBFCA 4) N(N-1)/2 5) 3
第二章 程序设计基础
一. 选择题
1.结构化程序设计主要强调的是( )
A. 程序的规模B. 程序的易读性
C. 程序的执行效率D. 程序的可移植性
2.对建立良好的程序设计风格,下面描述正确的是( )
A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法
C. 充分考虑程序的执行效率D. 程序的注释可有可无
3.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送( )
A. 调用语句B. 命令C. 口令D. 消息
4.信息隐蔽的概念与下述哪一种概念直接相关?
( )
A. 软件结构定义B. 模块独立性
C. 模块类型划分D. 模块耦合度
5.下面对对象概念描述错误的是( )
A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态属性
二.填空题
1.结构化程序设计的三种基本逻辑结构为顺序、选择和( )
2.源程序文档化要求程序应加注释。
注释一般分为序言性注释和( )
3.在面向对象方法中,信息隐蔽是通过对象的( )性来实现的
4.类是一个支持集成的抽象数据类型,而对象是类的( )
5.在面向对象方法中,类之间共享属性和操作的机制称为( )
第二章参考答案
一.选择题
1.B 2. A 3. D 4. B 5. A
二.填空题
1) 重复(或循环) 2) 功能性 3) 封装 4) 实例 5) 继承 转贴
第三章 软件工程基础
一. 选择题
1.在软件生命令周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )
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.下列工具中为需求分析的常用工具的是( )
A. PAD B. PFD C. N-S D. DFD
8.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )A.详细设计 B.需求分析 C.总体设计 D.编程调试
9.软件调试的目的是( )
A. 发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能
10.软件需求分析阶段的工作,可以分为四个方面:
需求获取,需求分析,编写需求规格说明书,以及( )
A.阶段性报告 B.需求评审 C.总结 D.都不正确
二.填空题
1.软件是程序、数据和( )的集合.
2.Jackson方法是一种面向( )的结构化方法
3.软件工程研究的内容主要包括( )技术和软件工程管理
4.数据流图的类型有( )和事务型
5.软件开发环境是全面支持软件开发全过程的( )集合。
第三章参考答案
一.选择题
1.D 2. D 3. A 4. A 5. C 6. B 7. D 8. C 9. B 10. B
二.填空题
1) 文档 2) 数据流 3) 软件开发 4) 变换型 5) 软件工具 转贴
第四章 数据库设计基础
一.选择题
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是( )
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
2.下述关于数据库系统的叙述正确的是( )
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
3.数据库系统的核心是( )
A. 数据库 B.数据库管理系统 C.数据模型 D.软件工具
4.用树形结构来表示实体之间联系的模型称为( )
A. 关系模型 B.层次模型 C.网状模型 D.数据模型
5.关系表中的每一横行称为一个( )
A. 元组 B.字段 C.属性 D.码
6.按条件f对关系R进行选择,其关系代数表达式是( )
A. R|×|R B. R|×|R C. σf(R) D. πf(R)
7.关系数据管理系统能实现的专门关系运包括( )
A.排序、索引、统计B.选择、投影、连接
C.关联、更新、排序 D.显示、打印、制表
8.在关系数据库中,用来表示实体之间联系的是( )
A.树结构 B.网结构 C.线性表 D.二维表
9.数据库设计包括两个方面的设计内容,它们是( )
A.概念设计和逻辑设计 B.模式设计和内模式设计
C.内模式设计和物理设计 D.结构特性设计和行为特性设计
10 将E-R图转换到关系模式时,实体与联系都可以表示成( )
A.属性 B.关系 C.键 D.域
二. 填空题
1.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体”项目主管”与实体”项目”的联系属于( )的联系.
2.数据独立性分为逻辑独立性和物理独立性.当数据的存储结构改变时,其逻辑结构可以不变。
因此,基于逻辑结构的应用程序不必修改,称为( )
3.数据库系统中实现各种数据管理功能的核心软件称为( )
4.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、( )和自定义完整性.
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个( )转贴于
第四章参考答案
一.选择题
1.A 2. A 3. B 4. B 5. A 6. C 7. B 8. D 9. A 10. B
三. 填空题
1) 一对多(或1:
N) 2) 逻辑独立性 3) 数据库管理系统 4) 参照完整性 5) 关系 转贴于
一、选择题
(1)下列关于栈的叙述正确的是
A)栈是非线性结构 B)栈是一种树状结构 C)栈具有先进先出的特征 D)栈具有后进先出的特征
(2)结构化程序设计所规定的三种基本控制结构是
A)输入、处理、输出 B)树形、网形、环形C)顺序、选择、循环 D)主程序、子程序、函数
(3)结构化程序设计的一种基本方法是A)筛选法 B)递归法 C)归纳法 D)逐步求精法
(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:
A)选择 B)投影 C)连接 D)并
二、填空题
1.对于输入为N个数进行快速排序算法的平均时间复杂度是( )
2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是( )
3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试( )
4.关系型数据库管理系统中存储与管理数据的基本形式是( )
C语言程序设计
一、选择题
(1)以下程序的输入结果是
main()
{ inti=010,j=10,k=x10;
printf("%d,%d,%d",i,j,k);
}
A)8,10,16B)8,10,10C)10,10,10D)10,10,16
(2)指针s所指字符串的长度
char*s=""NameAddress";
A)说法不合法B)19C)18D)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)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较
(6)以下说法中正确的是
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分
(7)以下程序段的输出结果是
intx=3;
do
{ printf("%3d",x-=2);}
while(!
(--x));
A)1B)30C)1-2D)死循环
(8)设有如下定义:
char*aa[2]={"abcd","ABCD"};
则以下说法中正确的是
A)aa数组元素的值分别是"abcd"和"ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符'a'和'A'的地址
(9)设有以下定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)
(10)以下程序的输出结果是
fut(int**s,intp[2][3])
{**s=p[1][1];}
main()
{ inta[2][3]={1,3,5,7,9,11},*P;
p=(int*)malloc(sizeof(int));
fut(&p,a);
print("%",*p);
}
A)1B)7C)9D)11
二、填空题
(1)表示条件:
10
(2)下列程序的输出结果是()
#include
main()
{ charb[]="ABCDEFG";
char*chp=&b[7];
while(--chp>&b[0])
putchar(*chp);
putchar("");
}
(3)下列程序的输出结果是( )
intast(intx,intY,int*cp,int*dp)
{ *cp=x+y;
*dp=x-y;
}
main()
{ inta,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
print("%d%dn",c,d);
}
(4)阅读程序:
main()
{ charstr1[]="howdoyoudo",str2[10];
char*p1=str1,*p2=str2;
scanf("%s",p2);
printf("%s",p2);
printf("%s",p1);
}
运行上面的程序,输入字符串HOWDOYOUDO则程序的输出结果是()
(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。
请填空。
#include
main()
{ FILE*fp;
charch,fname[10];
printf("Inputthenameoffile");
gets(fname);
gets(fname);
if((fp=[5])==NULL)
{ printf("Cannotopen");exit(0);}
printf("Enterdata");
while((ch=getchar())!
='#')
fputc([6],fp);
fclose(fp);
}
三、上机操作题
1.改错题
下列给定程序中,函数fun的功能是:
逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:
若a中的字符串为:
aBCDeFgH,b中的字符串为:
ABcd,则c中的字符串应为:
aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
voidfun(char*p,char*q,char*c)
{ intk=1;
while(*p!
=*q)
{ if(*p!
<*q)c[k]=*q;
elsec[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
}
main()
{ chara[10]="aBCDeFfH",b[10]="ABcd",c[80]={"0"};
fun(a,b,c);
printf("Thestringa:
");puts(a);
ptintf("Thestringb:
");puts(b);
printf("Theresult:
");puts(c);
2.编程题
请编写函数fun,它的功能是:
求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
voidfun(int*a,int*n)
{
}
main()
{ intaa[1000],n,k;
clrscr();
fun(aa,&n);
for(k=0;k if((k+1)%10==0)printf("");
elseprintf("%5d",aa[k]);
}
二级(C语言程序设计)样题参考答案
一、选择题
(1)D
(2)C(3)D(4)B
二、填空题
(1)[1]O(Nlog2N)
(2)[2]功能模型
(3)[3]软件外部功能
(4)[4]二维表
C语言程序设计
一、选择题
(1)A
(2)D(3)B(4)A(5)C(6)C(7)C(8)D(9)D(10)C
二、填空题
(1)[1](x>10&&x<100)//x<0
或(10或x<0//(x>10&&x<100)
或0>x//(10(并且括号有无都可以)
(2)[2]GFEDCB
(3)[3]71
(4)[4]HOWhowdoyoudo(说明:
HOW和how之间有无空格均可)
(5)[5]fopen(fname,"w")
(说明:
"w"内以w开头的字符串均可)
[6]ch
∙
(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
A)GEDHFBCAB)DGEBHFCA
C)ABCDEFGHD)ACBFEDHG正确答案:
B
(2)树是结点的集合,它的根结点数目是
A)有且只有1B)1或多于1
C)0或1D)至少2正确答案:
A
(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2
D)任意顺序正确答案:
B
(4)在设计程序时,应采纳的原则之一是正确答案:
D
A)不限制goto语句的使用B)减少或取消注解行
C)程序越短越好D)程序结构应有助于读者理解
(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)对象成分B)变量成分C)语句成分
D)传输成分
正确答案:
D
∙一、选择题
(1)下列数据结构中,按先进后出原则组织数据的是
A)线性链表 B)栈C)循环链表
D)顺序表正确答案:
B
(2)具有3个结点的二叉树有
A)2种形态 B)4种形态
C)7种形态 D)5种形态
正确答案:
D
(3)设有下列二叉树:
对此二叉树前序遍历的结果为
A)ZBTYCPXA B)ATBZXCYP
C)ZBTACYXP D)ATBZXCPY
正确答案:
B
(4)结构化程序设计主要强调的是正确答案:
D
A)程序的规模 B)程序的效率
C)程序设计语言的先进性 D)程序易读性
(5)程序的3种基本控制结构是
A)过程、子过程和分程序
B)顺序、选择和重复
C)递归、堆栈和队列
D)调用、返回和转移
正确答案:
B
(6)下列叙述中,不属于测试的特征的是
A)测试的挑剔性 B)完全测试的不可能性
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)"年龄在18~25之间"这种约束是属于数据库当中的
A)原子性措施 B)一致性措施
C)完整性措施 D)安全性措施
正确答案:
C
∙(11)以下说法错误的是
A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式
B)计算机只能处理由0和1的代码构成的二进制指令或数据
C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件
D)每一种高级语言都有它对应的编译程序
正确