【计算机二级C语言】卷003

选择题

【1】下列叙述中正确的是()。

A.算法的时间复杂度是指算法在执行过程中基本运算的次数
B.算法的时间复杂度是指算法执行所需要的时间
C.算法的时间复杂度是指算法执行的速度
D.算法复杂度是指算法控制结构的复杂程度
参考答案: A算法的时间复杂度是指执行算法所需要的计算工作量,其计算工作量是用算法所执行的基本运算次数来度量的。【2】下列叙述中正确的是()。A.循环队列是队列的一种链式存储结构
B.循环队列是队列的一种顺序存储结构
C.循环队列中的队尾指针一定大于队头指针
D.循环队列中的队尾指针一定小于队头指针
参考答案: B在实际应用中,队列的顺序存储结构一般采用循环队列的形式。当循环队列满或者为空时:队尾指针 = 队头指针。【3】某完全二叉树有256个结点,则该二叉树的深度为()。A.7
B.8
C.9
D.10
参考答案: C根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log 2 n] + 1。本题中完全二叉树共有256个结点,则深度为[log 2 256 ] + 1 = 8 + 1 = 9。【4】下列叙述中错误的是()。A.线性结构也能采用链式存储结构
B.线性结构一定能采用顺序存储结构
C.有的非线性结构也能采用顺序存储结构
D.非线性结构一定不能采用顺序存储结构
参考答案: D满二叉树与完全二叉树均为非线性结构,但可以按照层次进行顺序存储。【5】需求分析的主要任务是()。A.确定软件系统的功能
B.确定软件开发方法
C.确定软件开发工具
D.确定软件开发人员
参考答案: A需求分析是软件开发之前必须要做的准备工作之一。需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。故需求分析的主要任务是确定软件系统的功能。
【6】一个模块直接调用的下层模块的数目称为模块的()。A.扇入数
B.扇出数
C.宽度
D.作用域
参考答案: B扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。【7】将数据和操作置于对象统一体中的实现方式是()。A.隐藏
B.抽象
C.封装
D.结合
参考答案: C对象具有封装性,从外面看只能看到对象的外部特性,对象的内部对外是封闭的。即封装实现了将数据和操作置于对象统一体中。【8】采用表结构来表示数据及数据间联系的模型是()。A.层次模型
B.概念模型
C.网状模型
D.关系模型
参考答案: D关系模型采用二维表来表示,简称表。【9】在供应关系中,实体供应商和实体零件之间的联系是()。A.多对多
B.一对一
C.多对一
D.一对多
参考答案: A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。【10】如果定义班级关系如下:
班级(班级号,总人数,所属学院,班级学生)
则使它不满足第一范式的属性是()。A.班级号
B.班级学生
C.总人数
D.所属学院
参考答案: B对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级”关系的“班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。
【11】以下说法正确的是()。A.C语言只接受十进制的数
B.C语言只接受八进制、十进制、十六进制的数
C.C语言接受除二进制之外任何进制的数
D.C语言接受任何进制的数
参考答案: BC可以使用格式控制符%d, %u, %f等接受十进制的数,使用%o接受八进制的数,使用%x接受十六进制的数,本题答案选B。【12】以下说法错误的是()。A.由三种基本结构组成的结构化程序不能解决过于复杂的问题
B.由三种基本结构组成的结构化程序能解决一些简单的问题
C.由三种基本结构组成的结构化程序能解决递归问题
D.由三种基本结构组成的结构化程序能解决数学上有解析解的问题
参考答案: A顺序结构、选择结构、循环结构是三种基本结构,由三种基本结构所构成的程序称为结构化程序,由三种基本结构组成的算法可以解决任何复杂的问题,选项A错误,本题答案A
【13】以下说法错误的是()。A.C语言标识符中可以有多个字母、数字和下划线字符
B.C语言标识符中下划线字符可以出现在任意位置
C.C语言标识符不能全部由数字组成
D.C语言标识符必须以字母开头
参考答案: DC语言的合法的标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。选项D错误,本题答案D【14】以下说法错误的是()。A.C语言中的常量是指在程序运行过程中经常被用到的变量
B.C语言中的常量是指在程序运行过程中其值不能被改变的量
C.C语言中的常量可以用一个符号名来代表
D.C语言中的常量可以用宏来定义
参考答案: AC语言中的常量是指在程序运行过程中其值不能被改变的量,它可以用宏来定义,用一个符号名代表,选项A错误,选项B、C、D正确,本题答案A【15】若有定义:int a = 1234, b = -5678; 用语句 printf("%+-6d%+-6d", a, b); 输出,以下正确的输出结果是()。A.+1234 -5678(中间有一个空格,最后有一个空格)
B. +1234 -5678(最前面有一个空格,中间有一个空格)
C.+-1234+-5678(最前面和最后均无空格)
D.1234 -5678 (中间有两个空格,最后有一个空格)
参考答案: Aprintf函数参数包括格式控制字符串和输出参数,其中格式控制字符串中除了格式控制字符外,其他字符原样输出,本题中,在 % 和格式字符d之间, + 号表示输出的数字带正负号, - 号表示输出数据向左对齐,6表示表示输出宽度,如果输出数据的宽度不够6,那么左对齐,右边补空格,所以本题输出 + 1234 - 5678 ,
中间一个空格,最后一个空格,本题答案A
【16】若有定义:double a; float b; short c;
若想把1.2输入给变量a,3.4输入给变量b,5678输入给变量c,程序运行时键盘输入:
1.2 3.4 5678 < 回车 >
则以下正确的读入语句是()。A.scanf("%lf%lf%d", &a, &b, &c);
B.scanf("%lf%lf%hd", &a, &b, &c);
C.scanf("%lf%f%hd", &a, &b, &c);
D.scanf("%f%f%d", &a, &b, &c);
参考答案: Cscanf函数用于输入数据,第一个参数表示输入格式控制,本题变量a是double类型,使用格式控制符%lf,变量b是float类型,使用%f,变量c是short类型,使用%hd,选项C正确,本题答案C
【17】 有下列程序

#include <stdio.h>
void main() 
{
    int a = 1, b = 1, c = 1; 
    if (a-- || b-- && --c) 
        printf("%d,%d,%d\n", a, b, c);
    else
        printf("%d,%d,%d\n", a, c, b);
}

程序执行后的输出结果是() 。

上一篇:L1-003 个位数统计


下一篇:Android开发系列_手把手开发APP_003_ICON制作