全国计算机等级考试2019年二级C语言程序设计模拟试题1
(总分100, 做题时间120分钟)
选择题
(每题 1 分, 共 40 分)
1. 
下列叙述中正确的是(     )。
所谓算法就是计算方法
程序可以作为算法的一种描述方法
算法设计只需考虑得到计算结果
算法设计可以忽略算法的运算时间
    分值: 1
答案:B
A 项错误, 算法并不等同于计算方法, 是指对解题方案的准确而完整的描述; C 项错误, 算法设计需要考虑可行性、 确定性、 有穷性与足够的情报; D 项错误, 算法设计有穷性要求操作步骤有限且必须在有限时间内完成, 耗费太长时间得到的正确结果是没有意义的。 B 项正确, 程序可以作为算法的一种描述方法, 算法在实现时需要用具体的程序设计语言描述。 答案选择 B 选项。
2. 
程序流程图中带有箭头的线段表示的是(     )。
数组全部赋值为1
图元关系
数据流
控制流
调用关系
    分值: 1
答案:C
在程序流程图中: ①标有名字的带箭头线段表示控制流; ②矩形表示加工步骤; ③菱形表示逻辑条件。 答案选择 C 选项。
3. 
深度为 5 的完全二叉树的结点数不可能是(     )。
15
16
17
18
    分值: 1
答案:A
对于满二叉树, 第 n 层的叶子结点的数目等于 2(n-1) , 当树深度为 n 时, 共有 2n-1 个结点。 因此深度为 5 的完全二叉树的结点数在 2(5-1) -1+1~25 -1 之间, 即 16~31 之间。 答案选择 A 选项。
4. 
下列选项中不属于结构化程序设计原则的是(     )。
可封装
自顶向下
模块化
逐步求精
    分值: 1
答案:A
结构化程序设计的基本原则包括: ①模块化; ②自顶向下; ③逐步求精; ④限制使用 goto 语句。可封装是面向对象的设计思想。 答案选择 A 选项。
5. 
下列关于栈的叙述正确的是(     )。
栈按“先进先出” 组织数据
栈按“先进后出” 组织数据
只能在栈底插入数据
不能删除数据
    分值: 1
答案:B
栈是只允许在栈顶进行插入和删除运算的线性表, 按“先进后出” 组织数据。 答案选择 B 选项。
6. 
下面描述不属于软件特点的是(     )。
软件是一种逻辑实体, 具有抽象性
软件在使用中不存在磨损、 老化问题
软件复杂性高
软件使用不涉及知识产权
    分值: 1
答案:D
软件具有以下特点: ①软件是一种逻辑实体, 具有抽象性; ②软件没有明显的制作过程; ③软件在使用期间不存在磨损、 老化问题; ④软件对硬件和环境具有依赖性; ⑤软件复杂性高, 成本昂贵; ⑥软件开发涉及诸多的社会因素, 如知识产权等。 答案选择 D 选项。
7. 
计算机软件的构成是(     )。
源代码
程序和数据
程序和文档
程序、 数据及相关文档
    分值: 1
答案:D
计算机软件是程序、 数据及相关文档的完整集合。 答案选择 D 选项。
8. 
按照 C 语言规定的用户标识符命名规则, 不能出现在标识符中的是(     )。
下划线
大写字母
数字字符
连接符
    分值: 1
答案:D
C 语言中标识符由字母、 下划线或数字组成, 且开头必须是字母或下划线。 答案选择 D 选项。
9. 
设有表示学生选课的三张表, 学生 S(学号, 姓名, 性别, 年龄, 身份证号), 课程 C(课号, 课名),选课 SC(学号, 课号, 成绩), 则表 SC 的关键字(键或码) 为(     )。
课号, 成绩
学号, 成绩
学号, 课号
学号, 姓名, 成绩
    分值: 1
答案:C
学号是学生表 S 的主键, 课号是课程表 C 的主键, 所以选课表 SC 的关键字应该是与前两个表能够直接联系且能唯一定义的学号和课号。 答案选择 C 选项。
10. 
有两个关系 R 和 T 如下:

则由关系 R 得到关系 T 的操作是(     )。
投影
选择
    分值: 1
答案:A
关系 T 是由关系 R 的第 1、 3 列的元组组成, 这是对关系 R 进行投影运算的结果。 可以简单理解为:选择运算是对行(元组) 的操作, 投影运算是对列的操作。 投影运算是对列的操作。 投影是从表中选出指定的属性值组成新表, 是单目运算, 答案选择 A 选项。
11. 
以下叙述中正确的是(     )。
不同函数的形式参数不能使用相同名称的标识符
用户自己定义的函数只能调用库函数
实用的 C 语言源程序总是由一个或多个函数组成
在 C 语言的函数内部, 可以定义局部嵌套函数
    分值: 1
答案:C
一个 C 程序可以有一个或多个程序文件, 所以也可以有一个或多个函数, 选项 C 正确; 除了 main函数不能被其他函数调用之外, 用户自定义函数可以调用其他任意函数, 包括库函数和用户自定义函数, 选项 B错误; 函数是一个独立的模块, 不同函数之间的定义相互没有影响, 所以标识符可以相同, 选项 A 错误; 函数体内部只可以调用但是不可以定义其他函数, 选项 D 错误; 答案选择 C 选项。
12. 
以下叙述中错误的是(     )。
C 程序经过编译、 链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
用 C 语言编写的程序称为源程序, 它以 ASCII 代码形式存放在一个文本文件中
C 语言源程序经编译后生成后缀为.obj 的目标程序
    分值: 1
答案:B
B 项错误, 注释语句不会被翻译成二进制的机器指令。 C 源程序经过 C 编译程序编译之后生成后缀为.obj 的二进制文件(称为目标文件), 然后由“链接程序”(Link) 的软件把.obj 文件与各种库函数连接起来生成一个后缀为.exe 的可执行文件。 答案选择 B 选项。

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