1、国家二级 C 语言机试(选择题)模拟试卷 80 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下面关于算法的叙述中,正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的有穷性是指算法必须能在执行有限个步骤之后终止C.算法的空间复杂度是指算法程序中指令(或语句)的条数D.以上三种描述都正确2.下列二叉树描述中,正确的是( )。(分数:2.00)A.任何一棵二叉树必须有一个度为 2 的结点B.二叉树的度可以小于 2C.非空二叉树有 0 个或 1 个根结点D.至少有 2 个根结点3.如果进栈序列为 A,B,C,D,则
2、可能的出栈序列是( )。(分数:2.00)A.C,A,D,BB.B,D,C,AC.C,D,A,BD.任意顺序4.下列各选项中,不属于序言性注释的是( )。(分数:2.00)A.程序标题B.程序设计者C.主要算法D.数据状态5.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式6.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:2.00)A.便于用户,开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析7.下列不属于软件工程
3、 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境8.数据库系统在其内部具有 3 级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。(分数:2.00)A.外模式B.概念模式C.内模式D.存储模式9.将 E-R 图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系C.记录D.码10.某二叉树中度为 2 的结点有 10 个,则该二叉树中有( )个叶子结点。(分数:2.00)A.9B.10C.11D.1211.以下叙述中正确的是( )。(分数:2.00)A.C 程序中注释部分可以出现在程序中任意合适的地方B.C 程序的书写格式是固
4、定的,每行只能写一条语句C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.在对 C 语言程序进行编译时,可以发现注释行中的拼写错误12.下面的程序在编译时产生错误,其出错原因是 ( )。 #includestdioh main() int 1_case;float printF; printf(请输入 2 个数:); scanf(df,B.#includestdio.h main() * programming * printf(programming!h);C.#includestdio.h main() *programming * printf(programming!n
5、);D.includestdioh main() *programming* printf(programming!n);17.设变量均已正确定义,若要通过 scanf(dcdc,B.for(i=0;i10;i+) fread(bi,sizeofstruct a),1,fp);C.for(i=0;i10;i+) fread(b+i,sizeof(struct a),1,fp);D.for(i=0;i5;i+=2) fread(b+i,sezeof(struct a),2,fp);国家二级 C 语言机试(选择题)模拟试卷 80 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数
6、:40,分数:80.00)1.下面关于算法的叙述中,正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的有穷性是指算法必须能在执行有限个步骤之后终止 C.算法的空间复杂度是指算法程序中指令(或语句)的条数D.以上三种描述都正确解析:解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤后结束。2.下列二叉树描述中,正确的是( )。(分数:2.00)A.任何一棵二叉树必须有一个度为 2 的结点B.二叉树的度可以小于 2 C.非空二叉树有 0 个或 1 个根结点D.至少有 2 个根结点解析:解析:二叉树是由 n0
7、个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空集合,根可以有空的左子树或空的右子树。二叉树不是树的特殊情况,它们是两个概念。 二叉树具有如下两个特点: 非空二叉树只有一个根结点; 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。3.如果进栈序列为 A,B,C,D,则可能的出栈序列是( )。(分数:2.00)A.C,A,D,BB.B,D,C,A C.C,D,A,BD.任意顺序解析:解析:栈的操作原则为后进先出。选项 B 中出栈顺序可按“A 进,B 进,B 出,C 进,D 进,D 出,C 出,A 出”实现。4
8、.下列各选项中,不属于序言性注释的是( )。(分数:2.00)A.程序标题B.程序设计者C.主要算法D.数据状态 解析:解析:注释一般为序言性注释和功能性注释。序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。5.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.内模式 B.外模式C.概念模式D.逻辑模式解析:解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。 外模式,或子模式,或用户模式
9、,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一部分。内模式,或存储模式,或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。6.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:2.00)A.便于用户,开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:解析:软件需求规格说明书有以下几个方面的作用: 便于用户、开发人员进行理解和交流;
10、 反映出用户问题的结构,可以作为软件开发工作的基础和依据; 作为确认测试和验收的依据。7.下列不属于软件工程 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析:软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。8.数据库系统在其内部具有 3 级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。(分数:2.00)A.外模式B.概念模式 C.内模式D.存储模式解析:解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应
11、用公共数据视图。它不涉及具体的硬件环境与平台,与具体的软件环境也无关。9.将 E-R 图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系 C.记录D.码解析:解析:E-R 图由实体、实体的属性和实体之间的联系 3 个要素组成,关系模型的逻辑结构是一组关系模式的集合,将 E-R 图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。如表4-1 所示。10.某二叉树中度为 2 的结点有 10 个,则该二叉树中有( )个叶子结点。(分数:2.00)A.9B.10C.11 D.12解析:解析:根据二叉树的性质 3:对任何一棵二叉树,度为 0 的结点(即叶
12、子结点)总是比度为 2 的结点多一个。11.以下叙述中正确的是( )。(分数:2.00)A.C 程序中注释部分可以出现在程序中任意合适的地方 B.C 程序的书写格式是固定的,每行只能写一条语句C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.在对 C 语言程序进行编译时,可以发现注释行中的拼写错误解析:解析:本题考查的是 C 语言程序设计的初步知识。选项 A,程序中“*”表示注释部分,注释只是给人看的,对程序的编译和运行不起作用,可以在程序中的任何位置;选项 B,C 语言的书写格式自由,一行可以写多条语句,一条语句也可以写在不同行上;选项 C,一个 C 程序中必须有且只能有一个
13、由“main”命名的主函数,其他函数由用户自行命名;选项 D,程序的注释仅仅是提供阅读之用,并不参与程序的编译,所以编译也就不会发现注释行中的错误。12.下面的程序在编译时产生错误,其出错原因是 ( )。 #includestdioh main() int 1_case;float printF; printf(请输入 2 个数:); scanf(df,B.#includestdio.h main() * programming * printf(programming!h); C.#includestdio.h main() *programming * printf(programming
14、!n);D.includestdioh main() *programming* printf(programming!n);解析:解析:选项 A 中,main()函数后面的分号是错误的,C 语言在函数名后面不能有分号;在 C 语言中注释内容必须放在“*”和“*”之间,“#”和“*”必须成对出现,按语法规定在注释之间不可再嵌套“*”和“*”,选项 C 的程序段中注释语句之间有嵌套;C 语言用#include 命令行来实现文件包含的功能。#include 命令行的形式为:#include“文件名”,选项 D 中的 include 前面少了一个#符号。17.设变量均已正确定义,若要通过 scanf
15、(dcdc,B.for(i=0;i10;i+) fread(bi,sizeofstruct a),1,fp); C.for(i=0;i10;i+) fread(b+i,sizeof(struct a),1,fp);D.for(i=0;i5;i+=2) fread(b+i,sezeof(struct a),2,fp);解析:解析:数据块输入出函数的调用形式为:fread(buffer,size,count,fp)。 ffead 函数参数说明:“buffer”是一个指针,对 fread 来说,它是读入数据的存放地址。对 fwrite 来说,是要输出数据的地址。“size”是要读写的字节数;“count”是要进行读写多少个 size 字节的数据项;“fp”是指文件型指针。选项 B 中 bi是一个数组,不是指针,需改为&bi。注意:完成一次读操作(fread()后,如果没有关闭流(fclose(),则指针(FILE *fp)自动向后移动前一次读写的长度,不关闭流则继续下一次读操作,接着上次的输出继续输出。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1