全国计算机等级考试《二级C语言程序设计》模拟试卷三
[单选题]1.下列叙述中正确的是()。
A.算法的效率只与问题的规模有关,(江南博哥)而与数据的存储结构无关
B.算法的时间复杂度是指执行算法所需要的计算工作量
C.数据的逻辑结构与存储结构是一一对应的
D.算法的时间复杂度与空间复杂度一定相关
参考答案:B
参考解析:采用不同的存储结构,数据处理效率是不同的,A项错误;算法的时间复杂度是指算法在计算机内执行时所需时间的度量,空间复杂度是指算法在计算机内执行时所需存储空间的度量,二者不一定相关,B项正确,D项错误;数据的逻辑结构在计算机存储空间的存放形式称为数据的存储结构,二者并非一一对应,C项错误。答案选择B选项。
[单选题]2.栈和队列的共同点是()。
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
参考答案:C
参考解析:栈和队列都是操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。答案选择C选项。
[单选题]3.对于现实世界中事物的特征,在实体-联系模型中使用()。
A.属性描述
B.关键字描述
C.二维表格描述
D.实体描述
参考答案:A
参考解析:在实体-联系模型中,用属性来描述现实世界中事物的特征。答案选择A选项。
[单选题]4.下列关于队列的叙述中正确的是()。
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
参考答案:C
参考解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列是按“先进先出”的原则组织数据的。答案选择C选项。
[单选题]5.下列选项中属于面向对象设计方法主要特征的是()。
A.继承
B.自顶向下
C.模块化
D.逐步求精
参考答案:A
参考解析:面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程序设计方法的主要原则有自顶向下、逐步求精、模块化、限制使用goto语句。BCD三项是结构化程序的主要特征。答案选择A选项。
[单选题]6.关系表中的每一横行称为一个()。
A.元组
B.字段
C.属性
D.码
参考答案:A
参考解析:关系表中的每一行称为一个元组。每一列称为一个字段,又称一个属性。惟一标识元组的最小属性值称为该表的键或码。答案选择A选项。
[单选题]7.下面对软件测试和软件调试叙述错误的是()。
A.严格执行测试计划,排除测试的随意性
B.软件调试的目的是改正软件错误
C.软件测试不需考虑测试成本
D.正确的执行测试用例
参考答案:C
参考解析:软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试的目的:发现程序中的错误。测试必须对整个软件总体进行评估。软件测试需要考虑测试成本,软件测试成本也要计入软件开发成本中去。答案选择C选项。
[单选题]8.在数据库中,数据模型包括数据结构、数据操作和()。
A.数据约束
B.数据类型
C.关系运算
D.查询
参考答案:A
参考解析:在数据库系统中的数据模型有三个要素:数据结构、数据操作和数据的约束条件。答案选择A选项。
[单选题]9.负责数据库中查询操作的数据库语言是()。
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
参考答案:C
参考解析:数据库语言包括:①数据定义语言,负责数据的模式定义与数据的物理存取构建;②数据操纵语言,负责数据的操纵,包括增删改查等操作;③数据控制语言,负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。答案选择C选项。
[单选题]10.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。
A.记录
B.行
C.属性
D.元组
参考答案:C
参考解析:进行自然连接时要求两个关系具有相同列,即属性。答案选择C选项。
[单选题]11.以下叙述正确的是()。
A.计算机只接收由0和1代码组成的二进制指令或数据
B.计算机只接收由0和1代码组成的十进制指令或数据
C.计算机可直接接收并运行C源程序
D.计算机可直接接收并运行任意高级语言编写的源程序
参考答案:A
参考解析:二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高低,晶体管的导通和截止等;二进制数运算简单,大大简化了计算中运算部件的结构,故选项A正确、B错误。计算机能直接执行的只有机器语言程序。选项C、D错误。答案选择A选项。
[单选题]12.下列叙述中错误的是()。
A.一个C语言程序只能实现一种算法
B.C程序可以由多个程序文件组成
C.C程序可以由一个或多个函数组成
D.一个C函数可以单独作为一个C程序文件存在
参考答案:A
参考解析:一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法,答案选择A选项。
[单选题]13.以下合法的转义字符是()。
A.'\x41'
B.'\0x41'
C.'\X41'
D.'\0X41'
参考答案:printf函数输出整数时不能使用A
参考解析:转义字符以反斜杠'\'开头,后面跟一个字符或一个八进制或十六进制数表示。十六进制转义字符是由反斜杠'\'和字母x及随后的1~2个十六进制数字构成的字符序列。答案选择A选项。
[单选题]14.表达式a+=a-=a=9的值是()。
A.0
B.-9
C.18
D.9
参考答案:A
参考解析:a+=a-=a=9计算顺序为a+=(a-=(a=9)),首先a=9,a-=9,即a=a-9=9-9=0;最后a+=0,即a=a+0=0+0=0。答案选择A选项。
[单选题]15.以下选项中,当x为大于1的奇数时,值为0的表达式是()。
A.x%2==0
B.x/2
C.x%2!=0
D.x%2==1
参考答案:A
参考解析:当x为大于1的奇数,x%2==1,则表达式x%2==0为假(即值为0),答案选择A选项。
[单选题]16.若有定义语句:
int x=12,y=8,z;
在其后执行语句:
z=0.9+x/y;
则z的值为()。
A.1
B.1.9
C.2
D.2.4
参考答案:A
参考解析:由于x,y,z都是整型数据,所以x除以y的值为整型数值1,之后1和0.9相加得到1.9,再转换为整型数1赋给整型变量z。答案选择A选项。
[单选题]17.有以下程序段
int m=33,n=66;
m=m^n; n=n^m; m=m^n;
执行上述语句后,m和n的值分别是()。
A.m=66,n=33
B.m=33,n=66
C.m=66,n=66
D.m=33,n=33
参考答案:A
参考解析:^为按位异或运算,是双目运算符,参与运算的两个二进制位相同,则结果的该位为0;参与运算的两个二进制位不同,则结果的该位为1。首先将m和n表示成对应的二进制,33 = 00100001B,66 = 01000010B,执行m=m^n,得m = 00100001 ^ 01000010 = 01100011B;执行 n=n^m,得n = 01000010 ^ 01100011 = 00100001B = 33;执行 m=m^n,得m = 01100011 ^ 00100001 = 01000010B = 66;因此语句实现了m和n的交换。答案选择A选项。
[单选题]18.设有定义:double x=2.12;,以下不能完整输出变量x值的语句是()。
A.printf("x=%5.0f\n",x);
B.printf("x=%f\n",x);
C.printf("x=%lf\n",x);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论