《计算机等级考试二级C语言模拟试卷及其答案22419.pdf》由会员分享,可在线阅读,更多相关《计算机等级考试二级C语言模拟试卷及其答案22419.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.实用文档.2021 年 9 月计算机等级考试二级 C 语言模拟试卷及其答案.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.实用文档.转贴于:计算机二级考试_考试大 全国计算机等级考试二级 C 语言模拟试卷答案 一、选择题 (1)D 评析:算法的控制结构给出了算法的根本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原那么。一个算法一般都可以用顺序、选择、循环三种根本控制结构组合而成。(2)B 评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。(3)B.实用文档.评析:中序遍历是指首先遍历左子树
2、,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树的一种二叉树遍历算法。(4)D 评析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或答复某一要求的信息,它统一了数据流和控制流。(5)A 评析:确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确实定的各种需求,以及软件配置是否完全、正确。(6)D 评析:常见的需求分析方法有:结构化分析方法和面向对象的分析方法。结构化分析的常用工具有
3、:数据流图(DFD)、数据字典(DD)、判定树和判定表等。(7)C 评析:在软件设计过程中,必须遵循软件工程的根本原那么:这些原那么包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。(8)B 评析:内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径。(9)D 评析:在关系数据库中,用二维表来表示实体之间联系。(10)B 评析:关系是由假设干个不同的元组所组成,因此关系可视为元组的集合,将 E-R 图转换到关系模式时,实体与联系都可以
4、表示成关系。(11)D 评析:C 语言的程序是由主函数 main()开始运行,由主函数来调用其他函数,所以 D是错误的。(12)A.实用文档.评析:在 C 语言中,模运算(即取余运算%)的运算对象必须是整型数据(常量、变量或表达式)。(13)C 评析:C 语言中的关键字有 32 个关键字(参见 C 语言教程),此题中只有 C 符合题意。(14)C 评析:for 语句的一般形式为:for(表达式 1;表达式 2;表达式 3)语句,循环结束的条件是i+b?a:b 这个条件表达式中,c+ab为真,所以用 a 的值作为整个表达式的值,而 a 的值为 5,所以整个表达式的值为 5。(30)B 评析:在
5、C 中对文件操作必须先翻开文件,待文件操作完毕后要关闭文件。对文件以读的方式进行翻开操作时,同时会执行文件的检查文件是否存在,不存在将会返回空的文件指针,如果对文件以写的方式翻开时,文件不存在,将会自动创立文件,因此在 C 中翻开文件前不必对其检查文件是否存在,故答案为 B。(31)B 评析:p 是指针,p+8 是地址值,D 是错的;*p 是 p 的目标变量,即 a0,值为 1,所以*p+9 的值是 10,而*p+=9 值是重新给 a0赋了值(1+9);所以 A 和 C 也是错的。p+8 是地址值,指向 a8,那么*(p+8)的值就是 a8的值,即 9。(32)C 评析:A 和 B 两个表达式
6、都已越界了;*t2是目标变量,即一个整数,而不是地址值。(33)B 评析:在 main 函数中定义了一个 struct abc 类型的数组,同时分别利用1,2,3及4,5,6对数组中两个元素进行初始化。在该结构体,依次对其中的 a,b,c 三个变量进行初始化。故s0.a=1,s1.b=5,所以此题输出为 6。(34)A 评析:题中的外循环只执行了 2 次:第 1 次:a10=3,a11=4,所以 s=7;第 2 次:a20=5,a21=6,a22=0,所以 s=7+5+6+0=18。(35)A 评析:在答案 A 中:p=p-next;s-next=p;p-next=s;s 确实已插到了链表的末
7、尾,但它的 next 却并没有为 NULL,而是指向了它的直接前趋 p,这样它就不是一个单向链表(单向链表最后一个结点的 next 指针一定是一个 NULL)。(36)B 评析:strcpy(字符数组 1,字符串 2)其作用是将字符串 2 复制到字符数组 1 中去。注:(1)字符数组 1 必须定义得足够大;(2)“字符数组 1必须写成数组名的形式;(3)复制时连同字符串后面的0一起复制到字符数组 1 中。(37)A.实用文档.评析:getchar()函数是从键盘接受一个字符输入;当用户键入的字符不是回车符时,会进入一个多分支选择语句,根据 c-2的值进行分支选择;putchar()是在屏幕上打
8、印一个字符,最后的结果应当为 668977。(38)B 评析:sizeof 函数计算类型所占的字节数。共用体变量所占的内存长度等于最长的成员的长度。(39)B 评析:函数的递归调用就是在调用一个函数的过程中又出现直接或间接地调用该函数本身。fun 函数共被调用 6 次,即 fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0)。其中 fun(5)是 main 函数调用的。(40)C 评析:函数 feof 是用来判断文件是否已读到末尾,如果已读到末尾那么返回非零值,否那么返回 0。二、填空题 (1)【1】循环链表 评析:在链表的运算过程中,采用链接方式即循环链表的结构
9、把空表与非空表的运算统一起来。循环链表具有两个特点:在循环链表中增加了一个表头结点,其数据域为任意或根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。循环链表中最后一个结点的指针不是空,而是指向表头结点。(2)【2】软件开发 评析:基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。(3)【3】结构化设计 评析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计
10、就是采用最正确的可能方法设计系统的各个组成局部以及各个成分之间的内部联系的技术。也就是说,结构.实用文档.化设计是这样一个过程,它决定用哪些方法把哪些局部联系起来,才能解决好某个具体且有清楚定义的问题。(4)【4】参照完整性 评析:关系模型允许定义三类数据约束,它们是实体完整性、参照完整性以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。实体完整性约束要求关系的主键中属性值不能为空,这是数据库完整性的最根本要求,因为主键是惟一决定元组的,如为空那么其惟一性就成为不可能的了。参照完整性约束是关系之间相关联的根本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联
11、关系中实际存在的元组,要么是空值。自定义完整性是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。(5)【5】概念 评析:数据模型按不同的应用层次分为三种类型,它们是概念数据模型、逻辑数据模型和物理数据模型。概念数据模型简称概念模型,是一种面向客观世界、面向用户的模型;它与具体的数据库管理系统无关。(6)【6】3 评析:这里:b-5=4,a-=4 之后 a 的值为 6,并把它赋给 c。此时 b 的值并未被改变。在第 2 个表达式中,也只有赋值表达式 b=3 改变了 b 的值。所以两行语句执行完毕,b 的值应该为 3。(7)【7】1.0/(i*i)或(double
12、)1/(i*i)评析:表达式 1+1/(2*2)+1/(3*3)+.+1(n*n)可写为 1/(1*1)+1/(2*2)+1/(3*3)+.+1(n*n)n 即:1(ii)i=1 对应的 C 语言的表达式 s=s+1.0/(i*i)。注:必须要写成 1.0 的形式,否那么 1/(i*i)返回值为其值截尾取整,即恒为 0。(8)【8】0.实用文档.评析:函数 getchar()是从键盘得到用户输入的一个字符。用户输入的第 1 个字符是 a,不管后面输入的是什么 ch 的值都是a,因此条件(ch=getchar()=e为假,这个循环不会被执行。(9)【9】p5 或*(p+5)评析:98 是数组 w
13、 的第 5 个元素(最开始的为第 0 个),而通过*p=w 已经将 p 指向了数组 w,要想不移动指针 p 而引用 98,可以有以下两种写法:p5、*(p+5)。(10)【10】void fun(double b1022)评析:此题答案:void fun(double b1022)。(11)【11】3 评析:i=1 时,f(1)=1,j=j+f(1)=0+1=1;i=2 时,f(2)=f(1)+1=1+1=2,j=j+f(2)=1+3=3;此时循环结束,程序运行后的输出结果是 3。(12)【12】246 评析:循环 for(cc=1;cc(c+d)?(a+b):(c+d)*10。在这个条件表达式中,(a+b)(c+d)为真,所以用(a+b)的值作为整个表达式的值(否那么用(c+d)*10 的值作为整个表达式的值),而(a+b)的值为 7。所以整个表达式的值为 7。