国家二级C语言机试(选择题)模拟试卷78
(总分80, 做题时间90分钟)
1. 选择题
1. 
数据结构主要研究的是数据的逻辑结构、数据的运算和(    )。
A 数据的方法
B 数据的存储结构
C 数据的对象
D 数据的逻辑存储
    分值: 2
答案:B
解析:数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
2. 
一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是(    )。
A DBACEF
B CBEFDA
C FDAEBC
D DFABEC
    分值: 2
答案:B
解析:由于该二叉树的前序遍历结果是ABCEDF,显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBEFDA。
3. 
在数据处理中,其处理的最小单位是(    )。
A 数据
B 数据项
C 数据结构
D 数据元素
    分值: 2
答案:B
解析:数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数据处理的最小单位是数据项。
4. 
在数据库系统的内部结构体系中,索引属于  (    )。
A 模式
B 内模式
C 外模式
D 概念模式
    分值: 2
答案:B
解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
5. 
以下(    )不属于对象的基本特征。
A 继承性
B 封装性
C 分类性
D 多态性
    分值: 2
答案:A
解析:对象具有特征:标识惟一性,指对象是可区分的;分类性,指可以将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为;封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法;模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。
6. 
数据库系统的核心是(    )。
A 数据模型
B 软件开发
C 数据库设计
D 数据库管理系统
    分值: 2
答案:D
解析:数据库管理系统DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。:DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。
7. 
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(    )。
A 软件矛盾
B 软件危机
C 软件耦合
D 软件产生
    分值: 2
答案:B
解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入门难以控制软件发展的局面,即所谓的“软件危机”。
8. 
关系模型允许定义3类数据约束,下列不属于数据约束的是(  )。
A 实体完整性约束
B 参照完整性约束
C 属性完整性约束
D 用户自定义的完整性约束
    分值: 2
答案:C
解析:关系模型允许3类数据约束,它们是: 实体完整性约束 该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基本要求。 参照完整性约束:该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么就为空值。 用户定义的完整性约束:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
9. 
关系表中的每一行记录称为一个(    )。
A 字段
B 元组
C 属性
D 关键码
    分值: 2
答案:B
解析:在关系表中,每一列称为一个属性,对应表中的一个字段;每一行称为一个元组,对应表中的一条记录。
10. 
在数据库管理技术的发展中,数据独立性最高的是(    )。
A 人工管理
B 文件系统
C 数据库系统
D 数据模型
    分值: 2
答案:C
解析:在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。
11. 
以下叙述错误的是(    )。
A C语言区分大小写
B C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改
C 整数和实数都能用C语言准确无误地表示出来
D 在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示
    分值: 2
答案:C
解析:本题涉及C语言最基本的3个概念:①C语言是区分大小写的,q和Q是两个不同的变量;②变量的实质就是在内存中占据一定的存储单元,存储单元里存放的是该变量的值,变
量的值可以根据需要进行修改;③整数在允许的范围内可以准确的表示出来,但不可能表示无限度的实数。正整数可用二进制、十进制、八进制和十六进制表示。
12. 
有以下程序段:    int i,n;    for(i=0;i<8;i++)    { n=rand()%5;    switch(n)    {case 1:    case 3:printf(''%d\n'',n);break;    case2:    case 4:printf(''%d\n'',n);continue;    case 0:exit(0);    }    printf(''%d\n",n);}    以下关于程序段执行情况的叙述,正确的是(    )
A for循环语句固定执行8次
B 当产生的随机数n为4时结束循环操作
C 当产生的随机数n为1和2时不做任何操作
D 当产生的随机数n为0时结束程序运行
    分值: 2
答案:D
解析:当产生的随机数n为0时,执行“case 0:exit(0)”这条语句,结束程序的运行。
13. 
可在C程序中用作用户标识符的一组标识符是 (    )。
A void define WORD
B as_b3 _123 If
C For -abc case
D 2c DO SIG
    分值: 2
答案:Bprintf函数和scanf函数的格式说明都使用什么字符开始
解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线,关键字不能用作用户标识符。
14. 
若变量已正确定义并赋值,则以下符合C语言语法的表达式是(  )。
A a=a+7;
B a=7+b+c,a++
C int(12.3%4)
D a=a+7=c+b
    分值: 2
答案:B
解析:选项A是一个C语句,不是表达式;选项B是利用一个逗号表达式给a赋值;选项C中的“%”求余运算符要求两个运算对象都必须是整型;选项D中,不能用表达式给表达式赋值,但是变量可以给自身赋值,例如:a=a+1。
15. 
有以下程序段    char ch;int k;    ch='a':k=12;    printf("‰c,%d,'',ch,ch,k);    printf(''k=%d\n",k);    已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是(    )。
A 因变量类型与格式描述符的类型不匹配输出无定值
B 输出项与格式描述符个数不符,输出为零值或不定值
C a,97,12k=12
D a,97,k=12
    分值: 2
答案:D
解析:在用基本输出函数printf时,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数,多余的输出项不予输出;如果格式说明个数多于输出项个数,则对于多余的格式项输出不定值或0。
16. 
下列叙述中错误的是(    )。
A 计算机不能直接执行用C语言编写的源程序
B C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D 后缀为.obj和.exe的二进制文件都可以直接运行
    分值: 2
答案:D
解析:C源程序经过程序编译之后生成一个后缀为“.obi”的二进制文件(称为目标文件),然后由称为“连接程序”的软件包文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe”的可运行文件。
17. 
有以下程序#include<stdio.h>void main(){ int a=1,b=0;printf(''%d,'',b=(a++)+(a++));printf(''%d\n'',a+b);}程序运行后的输出结果是(    )。
A 4,6
B 2,5
C 3,5
D 2,6
    分值: 2
答案:B
解析:在主函数中定义了两个整型变量a和b,并把它们的初值分别设置为1和0;在第二条语句中,首先计算b=a+a,然后a自增两次,因此第二句结束时,b=2,a=3,然后第三句,a+b=5。
18. 
若有代数式,(其中e仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是(    )。
A sqrt(abs(n^x+e^x))
B sqrt(fabs(pow(n,x)+pow(x,e)))
C sqrt(fabs(pow(n,x)+exp(x)))
D sqrt(fabs(pow(x,n)+exp(x)))
    分值: 2
答案:C
解析:n和e的x幂次方,要分别调用C语言的数学库函数“double pow(n,x)”和“doubleexp(x)”因为这两个函数的返回值都为double型,对两者的和计算绝对值,调用库函数“doublefabs(pow(n,x)+exp(x))”,求出和的绝对值,再调用开平方函数“double sqrt(fabs(pow(n,x)+exp(x)))”,这样计算出的结果就是题干中表达式的值。
19. 
设有定义:int k=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是(  )。
A k++
B k+=1
C ++k
D k+1
    分值: 2

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