全国计算机等级考试二级公共基础知识课后习题及答案

更新时间:2024-06-16 04:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

全国计算机等级考试二级公共基础知识课后习题及答案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的有序线性表中进行二分查找,需要的比较次 棵完全二叉树共有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.下列工具中为需求分析的常用工具的是( D ) A. PAD B. PFD C. N-S D. DFD

8.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( C) A.详细设计 B.需求分析 C.总体设计 D.编程调试 9.软件调试的目的是( B )

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进行选择,其关系代数表达式是( C ) 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图转换到关系模式时,实体与联系都可以表示成( ) 二、填空题 

 1.对于输入为N个数进行快速排序算法的平均时间复杂度是( )

2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是( )

3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,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)并 

其中黑盒测试法主要是用于测试( ) 

4.关系型数据库管理系统中存储与管理数据的基本形式是( ) 

C语言程序设计 一、选择题

(1)以下程序的输入结果是 main( )

{ int i=010,j=10,k=x10;  printf(\}

A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,16 

(2)指针s所指字符串的长度  char *s=\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)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 

(6)以下说法中正确的是

A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分



(7)以下程序段的输出结果是 int x=3; do

{ printf(\while(!(- -x));

A)1 B)30 C)1 -2 D)死循环 

(8)设有如下定义:

char *aa[2]={\则以下说法中正确的是

A)aa数组元素的值分别是\和\

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符'a'和'A'的地址 

(9)设有以下定义:

int a[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)+2 D)*(*(a+1)+2) 

(10)以下程序的输出结果是 fut( int * *s,int p[2][3]) { * *s=p[1][1]; } main( )

{ int a[2][3]={1,3,5,7,9,11},*P;  p=(int * )malloc(sizeof(int));  fut(&p,a);  print(\}

A)1 B)7 C)9 D)11 二、填空题

(1)表示条件:10 (2)下列程序的输出结果是( ) #include main( )

{ char b[ ]=\ char *chp=&b[7];  while(- -chp>&b[0])  putchar(*chp);  putchar(\} 

(3)下列程序的输出结果是( )

 int ast( 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(\} 

(4)阅读程序:  main( )

{ char str1[ ]=\ char *p1=str1,*p2=str2;  scanf(\ printf(\ printf(\}

运行上面的程序,输入字符串 HOW DO YOU DO 则程序的输出结果是( ) 

(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。请填空。 #include main( ) { FILE * fp;

 char ch,fname [10];

 printf(\ gets(fname);  gets(fname);  if((fp=[5])= =NULL)

 { printf(\ printf(\ while((ch=getchar())!='#')  fputc([6],fp);  fclose(fp); }

三、上机操作题 1.改错题

下列给定程序中,函数fun的功能是:逐个比较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) c[k]= *q;  else c[k]= *p;  if(*p) p++;  if(*q) q++;  k++;  } } main( )

{ char a[10]=\ fun (a,b,c);

 printf(\ ptintf(\ printf(\

2.编程题

请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:

# include < conio.h> # include < stdio.h> void fun ( int *a, int *n) { } main( )

{ int aa[1000],n,k;  clrscr( );  fun (aa,&n);

 for (k=0;k if((k+1)= = 0) printf (\ \

 else printf(\} 

二级(C语言程序设计)样题参考答案 一、选择题

(1)D (2)C (3)D (4)B 二、填空题 (1)[1]O(Nlog2 N) (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] 7 1

(4)[4]HOW how do you do (说明:HOW和how之间有无空格均可)

(5)[5]fopen(fname,\

(说明:\内以w开头的字符串均可) [6] ch

本文来源:https://www.bwwdw.com/article/niz3.html

Top