二级C语言笔试-403
(总分100, 做题时间90分钟)
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 
下列数据结构中,属于非线性结构的是
   A) 带链队列    B) 循环队列    C) 带链栈    D) 二叉树
A  B  C  D 
    分值: 1
答案:D
[解析] 根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。根据各种结构的定义可知二叉树是一种非线性结构。
2. 
下列叙述中正确的是
   A) 数据的逻辑结构与存储结构是一一对应的
   B) 算法的时间复杂度与空间复杂度一定相关
   C) 算法的效率只与问题的规模有关,而与数据的存储结构无关
   D) 算法的时间复杂度是指执行算法所需要的计算工作量
A  B  C  D 
    分值: 1
答案:D
[解析] 根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示的,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
3. 
在结构化程序设计中,模块划分的原则是
   A) 各模块应包括尽量多的功能
   B) 各模块的规模应尽量大
   C) 各模块之间的联系应尽量紧密
   D) 模块内具有高内聚度、模块间具有低耦合度
A  B  C  D 
    分值: 1
答案:D
[解析] 耦合性和内聚性是模块独立的两个定性标准。一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。
4. 
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
   A) 浏览器    B) 操作系统    C) 编译程序    D) 汇编程序
A  B  C  D 
    分值: 1
答案:A
[解析] 操作系统属于系统软件,编译程序和汇编程序都属于支撑软件,而浏览器属于应用软件。
5. 
在E-R图中,用来表示实体集的图形是
   A) 矩形    B) 椭圆形    C) 菱形    D) 三角形
A  B  C  D 
    分值: 1
答案:A
[解析] E-R图中用矩形表示实体集,用椭圆形表示属性,用菱形表示联系。
6. 
结构化分析可以使用的工具是
   A) N-S图    B) DFD图    C) PAD图    D) 程序流程图
A  B  C  D 
    分值: 1
答案:B
[解析] 数据流图(DFD)、数据字典、判定表和判定树是结构化分析常用的工具。程序流程图、N-S图、PAD图是详细设计过程中常用的图形工具。
7. 
下面不属于软件设计原则的是
   A) 抽象    B) 模块化
   C) 自底向上    D) 信息隐蔽
A  B  C  D 
    分值: 1
答案:C
[解析] 软件设计遵循软件工程的原则,包括抽象、模块化、局部化、信息隐蔽、确定性、一致性、完备性和可验证性。
8. 
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中,数据独立性最高的阶段是
   A) 数据库系统    B) 文件系统    C) 人工管理    D) 数据项管理
A  B  C  D 
    分值: 1
答案:A
[解析] 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是数据库系统。数据库阶段用数据模型表示复杂的数据,有较高的数据独立性。数据库系统为用户提供了方便的用户接口,用户可使用查询语言或终端命令操作数据库,也可以用程序方式操作数据库。数据库管理系统提供了数据控制功能。
9. 
数据库设计包含四个阶段,它们是需求分析、______、逻辑设计和物理设计。
   A) 编码设计    B) 测试阶段    C) 运行阶段    D) 概念设计
A  B  C  D 
    分值: 1
答案:D
[解析] 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是需求分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。
10. 
有两个关系R,S如下图,由关系R通过运算得到关系S,则所使用的运算是
   
   A) 选择    B) 插入    C) 投影    D) 连接
A  B  C  D 
    分值: 1
答案:C
[解析] 专门的关系运算有3种:投影、选择和连接。选择运算是从关系中出满足给定条件的那些元组,其中的条件是以逻辑表达式给出的,值为真的元组将被选取,这种运算是从水平方向抽取元组。投影运算是从关系模式中挑选若干属性组成新的关系,这是从列的角度进行的运算,相当于对关系进行垂直分解。连接运算是二目运算,需要两个关系作为操作对象。
11. 
C语言规定,在一个源程序中,main函数的位置
   A) 必须在最开始    B) 必须在系统调用的库函数的后面
   C) 可以任意    D) 必须在最后
A  B  C  D 
    分值: 1
答案:C
[解析] 不论main()函数在整个过程中的位置如何,一个C程序总是从main()函数开始执行的。
12. 
下列可用于C语言用户标识符的一组是
   A) void, define, WORD    B) a3_3, _123, Car
   C) For, -abc, IF Case    D) 2a, DO, sizeof
A  B  C  D 
    分值: 1
答案:B
[解析] C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D);C语言中还规定标识符不能为C语言的关键字,而选项A)中void为关键字,故排除选项A)。
13. 
以下符合C语言语法的实型常量是
   A) 8E -2    B) 3.14.159E    C) E14    D) 2.2E0.5
A  B  C  D 
    分值: 1
答案:A
[解析] 实型常量又称为实数或浮点数,在C语言中可以表示为小数形式和指数形式。其中用“e或E+整数”表示以10为底的幂,字母e或E之前必须有数字,后面必须是整数。因此正
确答案为选项A)。
14. 
若函数中有定义语句:int a;,则
   A) 系统将自动给a赋初值为0    B) 系统将自动给a赋初值-1
   C) 这时a中的值无意义    D) 这时a中无任何值
A  B  C  D 
    分值: 1
答案:C
[解析] 用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中放任何值,此时变量中的值是不确定的,称变量值“无意义”。因此,本题的正确答案为C)。
15. 
以下不能正确表示代数式4cd/ab的C语言表达式是
   A) 4*c*d/a/b    B) c*d/a/b*4    C) c/a/b*d*4    D) 4*c*d/a*b
A  B  C  D 
    分值: 1
答案:D
[解析] C语言中算术运算符的结合性均为自左向右。选项D)中表达式的计算结果是4cdb/a,和题目要求的代数式不一致,因此选项D)不能正确表示题目所给代数式的内容。
16. 
下列关于单目运算符++,--的叙述中正确的是
   A) 它们的运算对象可以是任何变量和常量
   B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
   C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
   D) 它们的运算对象可以是char型变量、int型变量和float型变量
A  B  C  D 
    分值: 1
答案:D
[解析] ++(或--)的运算结果是使运算对象增1(或减1);运算对象可以是整型变量、实型变量,也可以是字符型变量,但不能是常量或表达式。++(或--)的结合方向是“自右向左”。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。