二级C语言笔试-426
(总分103.5, 做题时间90分钟)
一、选择题
1.
猴子的B和人的B一样吗下列叙述中正确的是______。 A) 有一个以上根结点的数据结构不一定是非线性结构 B) 只有一个根结点的数据结构不一定是线性结构 C) 循环链表是非线性结构 D) 双向链表是非线性结构 A B C D
分值: 1
答案:B
[解析] 本题考查的知识点是数据结构。线性表的链式存储结构称为线性链表,是线性结构,而循环链表和双向链表都是在线性链表的基础上演化而来的,因此,选项C、D错误。线性结构必须有且只有一个根结点,因此,选项A错误。
2.
下面的描述中,符合结构化程序设计风格的是( )。 A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B) 模块只有一个入口,可以有多个出口 C) 注重提高程序的执行效率 D) 不使用goto语句 A B C D
分值: 1
答案:A
[解析] 结构化程序设计方法的四条原则是:自顶向下;逐步求精;模块化;限制使用goto语句。
“自顶向下”是指在程序设计时,先考虑总体,后考虑细节,先考虑全局目标,后考虑局部目标;“逐步求精”是指对复杂问题应设计一些子目标作过渡,逐步细节化;“模块化”是指一个复杂问题由若干稍简单的问题构成,解决这个复杂问题的程序也应由若干稍简单问题的小程序组成。
2012河北中考作文
3.
设计程序时,应采纳的原则之一是( )。
A) 程序的结构应有助于读者的理解 B) 限制GOTO语句的使用
C) 减少或取消注释行 D) 程序越短越好
A B C D
分值: 2
答案:A
弹性蛋白酶[解析] 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用GOTO语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。
4.
下列关于线性表的叙述中,不正确的是( )。
A) 线性表可以是空表
B) 线性表是一种线性结构
C) 线性表的所有结点有且仅有一个前件和后件
D) 线性表是由n个元素组成的一个有限序列
A B C D
分值: 2
答案:C
[解析] 线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件。所以选项C)是错误的。
5.
下列叙述中,不属于软件需求规格说明书的作用的是______。 A) 便于用户、开发人员进行理解和交流 B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据 C) 作为确认测试和验收的依据 D) 便于开发人员进行需求分析 A B C D
分值: 2
答案:D
[评析] 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。它不能方便开发人员进行需求分析。
6.
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是______。
A) 提高耦合性降低内聚性有利于提高模块的独立性
B) 降低耦合性提高内聚性有利于提高模块的独立性
C) 耦合性是指—个模块内部各个元素间彼此结合的紧密程度
D) 内聚性是指模块间互相连接的紧密程度
A B C D
分值: 2
答案:B
[知识点] 软件设计的基本原理
[评析] (1)内聚性:内聚性是—个模块内部各个元素间彼此结合的紧密程度的度量。(2)耦合性;耦合性是模块间互相连接的紧密程度的度量。因此选项c、D是错误的。在程序结构中,各模块的内聚性越强,则耦合性越弱。—般较优秀的软件设计,应尽量做到内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此选项A是错误的;应该降低耦合性提高内聚性,所以选项B是正确的。
磷酸氢镁7.
需求分析阶段的任务是( )。
A) 软件开发方法 B) 软件开发工具
C) 软件开发费用 D) 软件系统功能
A B C D
分值: 2
答案:D
[解析] 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。
8.
以下叙述中错误的是______。
A) 用户所定义的标识符允许使用关键字
B) 用户所定义的标识符应尽量做到“见名知意”
C) 用户所定义的标识符必须以字母或下划线开头
D) 用户所定义的标识符中,大、小写字母代表不同标识
A B C D
分值: 2
答案:A
[解析] 在C语言中,用户所定义的标识符不能使用关键字。
9.
下列方法中,属于白盒法设计测试用例的方法的是( )。
A) 错误推测 B) 因果图 C) 基本路径测试 D) 边界值分析
A B C D
分值: 2
答案:C
[解析] 白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
10.
下列叙述中错误的是______。
(A) 在数据库系统中,数据的物理结构必须与逻辑结构一致
(B) 数据库技术的根本目标是要解决数据的共享问题
(C) 数据库设计是指在已有数据库管理系统的基础上建立数据库
(D) 数据库系统需要操作系统的支持
A B C D
分值: 2
答案:A
11.
下列叙述中错误的是______。
(A) 一个C语言程序只能实现一种算法
(B) C程序可以由多个程序文件组成
(C) C程序可以由一个或多个函数组成
(D) 一个C函数可以单独作为一个C程序文件存在
mgmb
A B C D
分值: 1
答案:A
12.
设在C语言中,float类型数据占4个字节,则double类型数据占( )个字节。
A) 1 B) 2 C) 8 D) 4
A B C D
分值: 2
答案:C金霉素
[解析] 在C语言中各种数据类型在内存中所占的字节数和机器的指令周期有关,若int类型占2个字节,则 float类型数据占4个字节,double类型数据占8个字节。
13.
若w、x、y、z、m均为int型变量,则执行下列的语句后m的值是( )。
w=2,x=3,y=4,z=5;
m=(w<x)?w:x;
m=(m<z)?m:z;
m=(m<y)?m:y;
A) 2 B) 3 C) 5 D) 4
A B C D
分值: 1
答案:A
[解析] 条件表达式“a?b:c”的含义是:当a为真时,其值等于表达式b的值;当a为假时,其值等于表达式c的值。
表达式运算过程:第1个表达式:w=2<x=3为真,所以返回w的值,即m=w=2;第2
个表达式:m=2<z=5为真,所以返回m的值,即m=2;第3个表达式:w=2<y=4为真,所以返回m的值,即m=2。
14.
下列程序的执行结果是( )。
#include<stdio.h>
main()
int a,b,c;
a=b=2;
c=(a++)-1;printf("%d,%d",a,c);
c+=-a+++(++b);printf("%d,%d",a,c);
A) 3,14,1 B) 3,14,2 C) 2,04,1 D) 2,14,1
A B C D
分值: 2
答案:A
[解析] 本题主要考查自加运算符(++、--)的使用。①前缀变量“++i、--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;②后缀变量“i++、i--”,先使用此时的表达式的值参与运算,在使用i之后,再使i的值加1或者减1。
本题中计算表达式c=(a++)-1时先使用a的值进行计算,结果为c=2-1=1,然后将a的值加1,即执行完此语句后a的值是3;表达式c+=-a+++(++b)等价于c=c(-a++)+(++b),c=1+(-3)+3=1,此时a=4,b=3。