2024年4月30日发(作者:)
全国计算机等级考试2019年二级C语言程序设计模拟试题3
(总分100, 做题时间120分钟)
选择题
(每题 1 分, 共 40 分)
1.
下列叙述中正确的是( )。
SSS_SINGLE_SEL
A
栈与队列都只能顺序存储
B
循环队列是队列的顺序存储结构
C
循环链表是循环队列的链式存储结构
D
栈是顺序存储结构而队列是链式存储结构
分值: 1
答案:B
栈是所有的插入与删除都限定在表的同一端进行的线性表; 队列是指允许在一
端进行插入, 而在另一端进行删除的线性表, 二者均即可以顺序存储也可以
链式存储。 为了充分地利用数组的存储空间, 把数组的前端和后端连接起
来, 形成一个环形的表, 称为循环队列, 因此循环队列是队列的一种顺序存
储结构。
2.
算法空间复杂度的度量方法是( )。
SSS_SINGLE_SEL
A
算法程序的长度
B
算法所处理的数据量
C
执行算法所需要的工作单元
D
执行算法所需要的存储空间
分值: 1
答案:D
算法的空间复杂度是指执行这个算法所需要的存储空间, 包括: ①输入数据
所占的存储空间; ②程序本身所占的存储空间; ③算法执行过程中所需要的
额外空间。
3.
设有栈 S 和队列 Q, 初始状态均为空。 首先依次将 A, B, C, D, E, F
入栈, 然后从栈中退出三个元素依次入队, 再将 X, Y, Z 入栈后, 将栈
中所有元素退出并依次入队, 最后将队列中所有元素退出, 则退队元素的顺
序为( )。
SSS_SINGLE_SEL
A
DEFXYZABC
B
FEDZYXCBA
C
FEDXYZCBA
D
DEFZYXABC
分值: 1
答案:B
栈是一种特殊的线性表, 它所有的插入与删除都限定在表的同一端进行。 队
列是指允许在一端进行插入, 而在另一端进行删除的线性表。 将 A, B,
C, D, E, F 入栈后, 栈中元素为 ABCDEF, 退出三个元素入队, 队列元
素为 FED, 将 X, Y, Z 入栈后栈中元素为 ABCXYZ, 全部入队后, 队列元
素为 FEDZYXCBA。
4.
某二叉树的前序序列为 ABCDEFG, 中序序列为 DCBAEFG, 则该二叉树的后序
序列为( )。
SSS_SINGLE_SEL
A
EFGDCBA
B
DCBEFGA
C
BCDGFEA
D
DCBGFEA
分值: 1
答案:D
二叉树遍历可以分为 3 种: ①前序遍历, 访问根节点在访问左子树和访问右
子树之前; ②中序遍历,访问根节点在访问左子树和访问右子树两者之间;
③后序遍历, 访问根节点在访问左子树和访问右子树之后。 二叉树的前序序
列为 ABCDEFG, A 为根节点。 中序序列为 DCBAEFG, 可知 DCB 为左子树节
点, EFG 为右子树节点。 同理 B 为 C 父节点, C 为 D 父节点, 且 CD 均
为 B 的同侧子树节点。 同理 E 为 F 根节点, F 为 G 根节点,且 FG 为 E
同侧子树节点。 二叉树的后序序列为 DCBGFEA。
5.
软件生命周期是指( )。
SSS_SINGLE_SEL
A
软件产品从提出、 实现、 使用、 维护到停止使用、 退役的过程
B
软件的需求分析、 设计与实现
C
软件的开发与管理
D
软件的实现和维护
分值: 1
答案:A
通常把软件产品从提出、 实现、 使用、 维护到停止使用、 退役的过程称为
软件生命周期。
6.
通常软件测试实施的步骤是( )。
SSS_SINGLE_SEL
A
集成测试、 单元测试、 确认测试
B
单元测试、 集成测试、 确认测试
C
确认测试、 集成测试、 单元测试
D
单元测试、 确认测试、 集成测试
分值: 1
答案:B
软件测试的实施过程主要有 4 个步骤: 单元测试、 集成测试、 确认测试
(验收测试) 和系统测试。
7.
下面不属于对象主要特征的是( )。
SSS_SINGLE_SEL
A
唯一性
B
多态性
C
可复用性
D
封装性
分值: 1
答案:C
对象的基本特点主要有: ①标识唯一性, 一个对象通常可由对象名、 属性和
操作三部分组成; ②分类性, 指可以将具有相同属性和操作的对象抽象成
类; ③多态性, 指同一个操作可以是不同对象的行为, 不同对象执行同一操
作产生不同的结果; ④封装性, 从外面看只能看到对象的外部特性, 对象的
内部对外是不可见的;⑤模块独立性好, 由于完成对象功能所需的元素都被封
装在对象内部, 所以模块独立性好。
8.
在数据库设计中, 描述数据间内在语义联系得到 E—R 图的过程属于
( )。
SSS_SINGLE_SEL
A
逻辑设计阶段
B
需求分析阶段
C
概念设计阶段
D
物理设计阶段
分值: 1
答案:C
数据库设计主要有需求分析、 概念设计、 逻辑设计和物理设计四个阶段。 概
念设计最常用的方法是E—R 方法, 它采用 E—R 模型, 将现实世界的信息
结构统一由实体、 属性以及实体之间的联系来描述。
9.
在数据库系统中, 用于对客观世界中复杂事物的结构及它们之间的联系进行描
述的是( )。
SSS_SINGLE_SEL
A
概念数据模型
B
逻辑数据模型
C
物理数据模型
D
关系数据模型
分值: 1
答案:C
数据模型按照不同的应用层次分为: ①概念数据模型, 着重于对客观世界复
杂事物的描述及对它们内在联系的刻画; ②逻辑数据模型, 是面向数据库系
统的模型, 着重于在数据库系统一级的实现; ③物理数据模型, 是面向计算
机物理实现的模型, 此模型给出了数据模型在计算机上物理结构的表示。
10.
有三个关系 R、 S 和 T 如下:
则由关系 R 和 S 得到关系 T 的操作是( )。
SSS_SINGLE_SEL
A
并
B
投影
C
交
D
选择
分值: 1
答案:A
用于查询的 3 个操作无法用传统的集合运算表示, 引入的运算为投影运算、
选择运算、 笛卡尔积。常用的扩充运算有交、 除、 连接及自然连接等。 A
项, 并: R∪ S 是将 S 中的记录追加到 R 后面, 与题目中结果相符。
11.
结构化程序由顺序、 选择、 循环三种基本结构组成, 以下相关叙述错误的是
( )。
SSS_SINGLE_SEL
A
三种基本结构不可以嵌套使用
B
顺序结构是按语句在程序中的先后顺序逐条执行, 没有分支, 没有转移
C
选择结构是根据不同的条件执行不同分支中的语句
D
循环结构是根据条件决定是否重复、 重复执行多少次循环体语句
分值: 1
答案:A
三种结构可以嵌套使用, A 项错误。 结构化程序主要由 3 种基本控制结构组
成, 顺序结构是最基本的算法结构, 当执行由这些语句构成的程序时, 将按
这些语句在程序中的先后顺序逐条执行, 没有分支, 没有转移, 没有步骤之
间的相互约束, 没有对某一步骤的多次使用, 完全按照步骤的原有次序依次
执行, B 项正确; 选择结构根据不同的条件去执行不同分支中的语句, C 项
正确; 循环结构就是根据各自的条件, 使同一组语句重复执行多次, D 项正
确。
12.
在 C 语言中, 以下选项中不能正确表示 10×1000 之值的是( )。
SSS_SINGLE_SEL
A
1. 0E4. 0
B
1. E4
C
10E3
D
1. 0e4
分值: 1
答案:A
实型常量用带小数点的数字表示, 其值有两种表达形式, 分别为十进制小数
形式和指数形式。 指数形式由十进制数加阶码标志“e” 或“E” 以及阶码
(只能为整数, 可以带符号) 组成。 指数形式中阶码必须是整型常量, 而
A 项中 4. 0 是浮点数, 所以 A 项不能正确表示 10×1000 之值, BCD 三项
都表示正确并且值为 10000。
13.
以下选项中, 合法的 C 语言常量是( )。
SSS_SINGLE_SEL
A
21. 84
B
‘CPP’
C
” \ 1. 0
D
2MB
分值: 1
答案:A
21. 84 是典型的浮点型数据, 故 A 选项正确; 字符常量是单引号括起来的
一个字符, 字符串常量是双引号括起来的字符序列, BC 两项错误; C 语言
常量不能直接用未加引号的字母、 数字组合, 故 D 项错误。
14.
有以下程序:
程序运行后的输出结果是( )。
SSS_SINGLE_SEL
A
10, 9
B
11, 10
C
010, 9
D
9, 10
分值: 1
答案:D
整型常量有 3 种表示方法, 分别是十进制数表示法、 八进制数表示法和十六
进制数表示法, 八进制整常量以 O 作为前缀。 自增和自减运算符的两种用
法: 前置运算, 运算符放在变量之前, 规则是先使变量的值增(或减) 1,
然后以变化后表达式的值参与其他运算; 后置运算, 运算符放在变量之后,
规则是变量先参与其他运算, 然后再使变量的值增(或减) 1。 x=010=8,
y=10, ++x 先自加后取值, 输出 9, y--先取值输出 10, 再自减 y=9。
15.
若有定义: int a; float b; double c; , 程序运行时输入: a=1,
b=2, c=3<回车>, 能把值 1 输入给变量a、 值 2 输入给变量 b、 值 3 输
入给变量 C 的输入语句是( )。
SSS_SINGLE_SEL
A
scanf("a=%d,b=%f,c=%lf",&a,&b,&c);
B
scanf("%d%f%lf",&a,&b,&c);
C
scanf("a=% d,b=% lf,c=%lf",&a,&b,&c);
D
scanf("a=%d,b=% f,c=%f",&a,&b,&c);
分值: 1
答案:A
格式字符 d, 输入十进制整数; 格式字符 f, 输入浮点数; 格式字符 if,
输入双精度浮点数。 除了格式说明字符和附加格式字符外, 如果还有其他字
符, 则在输入数据时要求按一一对应的位置原样输入这些字符。程序运行时输
入: a=1, b=2, c=3, 则 scanf函数格式控制串对应的应该是“a=%d,
b: %f, c: %if” 。
16.
有如下程序:
程序运行后的输出结果是( )。
SSS_SINGLE_SEL
A
Ta=1, b=2
B
Fa=0, b=2
C
Fa=1, b=1
D
Ta=0, b=1
分值: 1
答案:C
题目中判断 if条件是否成立, a++先取值为 0, 则(a++&&b++) 为 0,
且不计算 b++, 而后 a 自增得 a=1, if条件不成立执行 else 函数体, 输
出 F。 最后执行语句printf("a=%d, b=%d\ n", a, b); 按照格式
输出 a=1, b=1。
17.
以下不是合法 C 语言转义字符的是( )。
SSS_SINGLE_SEL
A
' \ c'
B
' \ a'
C
' \ b'
D
' \ r'
分值: 1
答案:A
C 语言中, ‘a’ 表示响铃, ‘b’ 表示退格, ‘r’ 表示回车不换
行。
18.
有以下程序:
程序运行后的输出结果是( )。
SSS_SINGLE_SEL
A
123
B
ABC
C
abc
D
012
分值: 1
答案:A
当满足 ch<' E' , 输出 ch-' A' , 即字符在 ASCII 码相减进行输出, %d
表示输出十进制整数。 循环开始 ch=' B' , print(“%d” , ch-' A' )
=1。
19.
以下能够实现计算 5! 的程序段是( )。
SSS_SINGLE_SEL
A
int fac=l,k=1;
d{k++;fac*=k;} while(k <5);
B
int fac=0,k=1;
do(fac*=k;k++;)while(k<5);
C
int fac=1,k=1;
do(k++;fac*=k;} while(k <=5);
D
int fac=1,k=0;
do(fac*=k;k++;} while(k < 5);
分值: 1
答案:A
do…while 循环语句一般形式为: do{循环体} while(表达式), 执行过程
为: 首先执行循环体, 之后判断表达式, 成立(非 0) 则再一次执行循环
体, 不成立(0) 则退出循环。 A 项, k=1, fac=1*1, 判断 k<5,条件成
立进行下一次循环, 直到 k=5, fac=1*2*3*4*5, k<5 不成立退出循环, 实
现计算 5!, 正确。 B 项, fae 从0 开始, 做乘法一直都是 0, 无法实
现 5!, 错误。 C 项, k=2, fac=1*2, 循环条件成立, 直到 k=6,
fac=1*2*3*4*5*6才因循环条件不成立退出循环, 实现 6!, 错误。 D 项:
k=0, fae=1*0=0, 之后做乘法一直为 0, 无法实现 5!, 错误。
20.
有以下程序:
程序运行后的输出结果是( )。
SSS_SINGLE_SEL
A
True
B
TrueFalse
C
False
D
TrueFalseTrue
分值: 1
答案:B
if(x=0x12) 此处是赋值语句“=” , 注意赋值操作符“=” 与相等操作符
“= =” 的区别。
21.
有以下程序段: char c1, c2, c3; scanf("%c%c%c", &c1, &c2,
&c3); 若要给 c1、 c2、 c3 分别输入字母 A、 B、 C, 则以下对输入形式
的描述正确的是( )。
SSS_SINGLE_SEL
A
字母 A、 B、 C 之问可以用空格分隔
B
字母 A、 B、 C 之间不能有分隔符
C
字母 A、 B、 C 之间可以用回车符分隔
D
字母 A、 B、 C 之间可以用 Tab 键分隔
分值: 1
答案:B
在使用 scanf 函数时要注意, 在用“%c” 格式输入字符时, 分隔符(空格
符、 制表符(Tab 键)、回车符) 和转义字符都将作为有效字符进行输入。
题目中要求以字符形式输入三个数据, 空格、 回车符、 Tab 键均会被视为有
效字符赋给对应变量, 所以字母 A、 B、 C 之间不能有分隔符。
22.
有以下程序:
程序运行后的输出结果是( )。
SSS_SINGLE_SEL
A
0
B
变量无定义, 输出不确定
C
-1
D
1
分值: 1
答案:A
A 项, 定义了一个临时指针, 实现两个指针地址的交换, 而传入了参数是二
个指针的副本, 即 a、b 地址的副本, 故交换了副本地址, 对 a、 b 无影
响。 B 项调用函数传入的是 i 与 j 地址, 函数体内交换是地址内元素, 临
时变量为整型变量, 能实现 i 与 j 值交换; C 项调用函数传入的是 i 与 j
地址, 函数体内交换是地址内元素, 临时变量为整型指针, 且已正确开辟内
存, 能实现 i 与 j 值交换; D 项与 B 项相同, 能实现 i 与 j 值交换。
23.
以下关于函数的叙述中正确的是( )。
SSS_SINGLE_SEL
A
函数调用必须传递实参
B
函数必须要有形参
C
函数必须要有返回值
D
函数形参的类型与返回值的类型无关
分值: 1
答案:D
函数参数有两种: 形式参数和实际参数, 前者函数定义时函数名后括号内是
形参列表, 每个形参由类型和名称两部分组成; 后者函数调用时函数名后括
号内是实参列表, 实参可以是常量、 变量或表达式。 函数如果没有形参也就
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714442872a2447407.html
评论列表(0条)