第一篇:2018年3月计算机二级C语言练习题三
2018年3月计算机二级C语言练习题三
第1章 程序设计基本概念
1.2 算法
1[单选题] 线性表常采用的两种存储结构是()。
A.散列方法和索引方式
B.链表存储结构和数组
C.顺序存储结构和链式存储结构
D.线性存储结构和非线性存储结构
参考答案:C
参考解析:线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。
2[单选题] 程序设计的任务包括()。
A.编写程序代码并上机调试
B.确定所用数据结构
C.确定所用算法
D.以上选项均正确
参考答案:D
参考解析:程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。程序设计的任务包括选项A)、B)、c)等方面。
3[填空题]
在最坏情况下,堆排序需要比较的次数为_________。
参考解析:O(nlog2n)
【解析】在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)。
4[单选题] 下列关于栈的描述中,正确的是()。
A.在栈中只能插入元素
B.在栈中只能删除元素
C.只能在一端插入或删除元素
D.只能在一端插入元素,而在另一端删除元素
参考答案:C
参考解析:栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素:栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
5[单选题] 在一棵二叉树中,叶子结点共有30个,度为1的结点共有40个,则该二叉树中的总结点数共有()个。
A.89
B.93
C.99
D.100
参考答案:C
参考解析:根据二叉树性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。所以该二叉树度为2的结点有29个,故总结点数=30个叶子结点+29个度为2的结点+40个度为1的结点=99个结点。
6[填空题]
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作__________。
参考解析:队头
【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
7[单选题] 下列关于栈叙正确的是()。
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
参考答案:A
参考解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
8[单选题] 下列叙述中正确的是()。
A.有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构
参考答案:B
参考解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。
9[单选题] 某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)()。
A.3
B.4
C.6
D.7
参考答案:D
参考解析:叶子节点就是度为0的结点,比度为2的结点多一个,即度2的没有,这样度为1的结点就是6个,故深度为7(1度就是结点连着1个子树,二叉树最多俩子树,即左右子树)。根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,因而这个二叉树的深度为7。
10[填空题]
一颗二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】。
参考解析:【2】DEBFCA
【解析】根据二叉树的中序遍历原则可知D为二叉树的最左边的叶子结点,根据二叉树的前序遍历原则可知A是二叉树的根结点,就可以确定二叉树的结构,所以二叉树的后序遍历结果为:DEBFCA。
11[单选题] 下列叙述中正确的是()。
A.算法就是程序
B.设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性
D.以上三种说法都不对
参考答案:D
参考解析:所谓算法是指解题方案的准确而完整的描述。是一一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
12[单选题] 下列关于线性链表的叙述中,正确的是()。
A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上三种说法都不对
参考答案:C
参考解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
13[单选题] 下列关于二叉树的叙述中,正确的是()。
A.叶子结点总是比度为2的结点少一个
B.叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍
D.度为2的结点数是度为1的结点数的两倍
参考答案:B
参考解析:由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。
14[单选题] 下列叙述中正确的是()。
A.循环队列是队列的一种顺序存储结构
B.循环队列是队列的一种链式存储结构
C.循环队列是非线性结构
D.循环队列是一直逻辑结构
参考答案:A
参考解析:为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构。
15[单选题] 一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为()。
A.4
B.6
C.10
D.16
参考答案:D
参考解析:由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数。25个节点,5个子节点,其中子节点(度为0的节点)个数-度为2的节点个数=1,所以度为2的节点个数为4。节点度数有0,1,2,所以度为1的节点数为25-4-5=16,选项D正确。
(试卷来源:厚学网)
第二篇:2018年3月计算机二级C语言练习题
2018年3月计算机二级C语言练习题(1)
第1章 程序设计基本概念
1.1 程序和程序设计
1[单选题] 以下叙述中错误的是()。
A.C语言源程序经编译后生成后缀为.obj的目标程序
B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中
D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
参考答案:D
参考解析:并不是源程序中的所有行都参加编译。在条件编译形式下,相关内容只在满足一定条件时才进行编译。选项D)中的非执行语句不在其范围内。
2[单选题] 下列描述中正确的是()。
A.算法是指对解题方案的准确而完整的描述
B.算法的有穷性是指算法程序的长度是有限的
C.算法是否有效与拥有的情报无关
D.算法的基本特征有可行性、确定性和有穷性
参考答案:A
参考解析:算法是指对解题方案的准确而完整的描述。算法具有4个特征:可行性、确定性、有穷性和拥有足够的情报。有穷性指算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。
3[单选题] 下列数据结构中属于非线性结构的是()。
A.队列
B.线性表
C.二叉树
D.栈
参考答案:C
参考解析:线性结构满足两个条件:有且只有一个根结点;每个结点最多只有一个前件,也最多只有一个后件。栈、队列、线性表都属于线性结构,二叉树是一种非线性结构,因为除叶子结点外,每个结点都有两个后件,不满足线性结构的条件。
4[单选题] 4个元素A、B、C、D依次入栈,入栈过程中允许栈顶元素出栈,假设某一时刻栈的状态是C(栈顶)、B、A(栈底),则不可能的出栈顺序是()。
A.D、C、B、A
B.C、B、D、A
C.C、A、D、B
D.C、D、B、A
参考答案:C
参考解析:栈的特点是先进后出,所以后入栈的最先出栈。在栈的状态是c(栈顶)、B、A(栈底)时,D未入栈,栈顶元素可以出栈,但A不可能比B先出栈,所以c选项错误。
5[单选题] 下面概念中,不属于面向对象方法的是()。
A.对象
B.继承
C.类
D.过程调用
参考答案:D
参考解析:类是指具有共同属性、共同方法的对象的集合,所以类是对象的抽象,对象是对应类的一个实例。继承是指能够直接获得已有的性质和特征,而不必重复定义它们。所以选项A、B、C属于面向对象方法,选项D属于面向过程方法。
6[单选题] 下列选项中属于软件生命周期开发阶段任务的是()。
A.可行性研究
B.需求分析
C.详细设计
D.软件维护
参考答案:C
参考解析:软件生命周期可分为软件定义、软件开发和软件运行维护3个阶段。软件开发期包括概要设计、详细设计、实现和测试4个阶段。
7[单选题] 软件设计中衡量模块独立性的度量标准是()。
A.抽象和信息隐蔽
B.局部化和封装化
C.内聚性和耦合性
D.激活机制和控制方法
参考答案:C
参考解析:耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
8[单选题] 下列不属于过程设计工具中图形工具的是()。
A.N—S
B.PAD
C.程序流程图
D.DFD
参考答案:D
参考解析:常用的过程设计工具有图形工具(程序流程图、N-S图、PAD图、HIPO)、表格工具(判定表)、语言工具(PDL)。
9[单选题] 下列叙述中错误的是()。
A.数据库管理系统是数据库的核心
B.数据库系统由数据库、数据库管理系统、数据库管理员三部分组成
C.数据共享最好的是数据库系统阶段
D.数据库中的数据独立于应用程序而不依赖于应用程序
参考答案:B
参考解析:数据库管理系统是数据库系统的核心,它位于用户和操作系统之间,属于系统软件。数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台五部分组成。数据库技术的发展经历了3个阶段,人工管理、文件系统和数据库系统,数据共享最好的是数据库系统阶段,数据库中的数据独立于应用程序而不依赖于应用程序。
10[单选题] 在下列选项中,哪个不是一个算法一般应该具有的基本特征()。
A.无穷性
B.可行性
C.确定性
D.有穷性
参考答案:A
参考解析:作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。本题答案为A)。
11[单选题] 下列关于栈的叙述中正确的是()。
A.在栈中只能插入数据,不能删除数据
B.在栈中只能删除数据,不能插入数据
C.栈是先进后出(FILO)的线性表
D.栈是先进先出(FIFO)的线性表
参考答案:C
参考解析:栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”的或后进先出的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。本题答案是C)。
(试卷来源:厚学网)
第三篇:2010年3月计算机c语言考试题
#include
#defineN80
voidfun(int*w, intp, intn)
{
}
main()
{inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
inti,p,n=15;void NONO();
printf(“The original data:n”);
for(i=0;i printf(“nnEnterp:”);scanf(“%d”,&p); fun(a,p,n); printf(“nThe data after moving:n”); for(i=0;i printf(“nn”); NONO(); } void NONO() {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。FILE *rf,*wf;int a[N], i, j, p, n; rf = fopen(“K:k1124003520in.dat”,“r”); wf = fopen(“K:k1124003520out.dat”,“w”); for(i = 0;i < 5;i++){ fscanf(rf, “%d %d”, &n, &p); for(j = 0;j < n;j++)fscanf(rf, “%d”, &a[j]); fun(a, p, n); for(j = 0;j < n;j++)fprintf(wf, “%3d”, a[j]);fprintf(wf, “n”); } fclose(rf);fclose(wf); } */ 背景:我09年毕业后,和北京的一家代为签订了就业协议。但是此单位不提供北京户口,也不接收档案。这样,我的档案被打回原籍。我家当地的人事局(承德的某县城),一直到今日,有两年多了吧。期间,没有交过任何费用,人事局也不收费。但是我大学的有些同学的档案每年都要交钱,好像是办了个人事代理吧。有以下几个问题: 1.人事代理有什么用处?我要不要花钱去办这个东西? 2.人事代理可以给做转正定级,这个转正定级有什么用处么?会影响到今后的什么? 3.如果我的档案继续放在人事局,会不会成为死档? 1.人事代理是指由政府人事部门所属的人才服务中心,按照国家有关人事政策法规要求,接受单位或个人委托,在其服务项目范围内,为多种所有制经济尤其是非公有制经济单位及各类人才提供人事档案管理、职称评定、社会养老保险金收缴、出国政审等全方位服务,是实现人员使用与人事关系管理分离的一项人事改革新举措。人事代理的方式有委托人事代理,可由单位委托,也可由个人委托;可多项委托,将人事关系、工资关系、人事档案、养老保险社会统筹等委托区人才服务中心管理,也可单项委托,将人事档案委托区人才服务中心管理。 如果你觉得这些对你不重要的话 可以不办。 2.“干部身份”就是所谓的“转正定级”手续。高校毕业生毕业后需持由当地毕业生就业主管部门或人社系统开具的报到证(派遣证)到接收单位工作,工作满一年并填写《大中专毕业生转正定级表》之后方可获得干部身份。报到证连同转正定级表一起,就成了“干部身份”的代名词。转正定级为干部是国企和事业单位的称呼。办理转正定级手续后就具备了国家干部身份,如果变动工作调入国有单位,转正定级将作为享受有关待遇的主要依据。转正定级在档案管理的意义上用处很大:不作转正定级,档案中就没有转正定级表,按档案不全处理。机关、事业单位和规范的大企业不收此档案,也就不能录用。大城市办理引进人才解决当地户口时也不收此档案,也就无法办理。一句话,反需要审查档案的,你都过不去。这有利于规范用人单位的人事管理,有利于办理对象的职业发展,同时也是确认办理对象的干部身份的必要手续。凡本科及以上(大专也算)学生毕业见习1年后需进行转正定级而成为干部。档案里面会装上转正定级表和干部登记表。转正定级是异地调动必备条件。 这个我觉得还是很重要的。 3.你的档案应该在县人才中心吧,也有可能在承德人才市场,最好查一下,档案要是丢了,哭都没有用。 2018年3月计算机二级C语言考试操作题冲刺题 一、程序填空题 [填空题] 下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为“baacda”,c中的字符为a,执行后S所指字符串为“baaaacdaa”。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: 参考解析: 【参考答案】 【解题思路】 填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘ ’。 填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。 填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c。 二、程序修改题 [简答题] 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构! 参考解析: 【参考答案】(1)int k=0; (2)while(*p||*q) 【考点分析】 本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。 【解题思路】 (1)变量k存放数组e的下标,因此应初始化为0。 (2)while循环语句的循环条件是判断两个字符串是否到达结尾。 三.程序设计题 [简答题] 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为:“****A*BC*DEF*G*******”.删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 参考解析: 【参考答案】 【考点分析】 本题考查:删除字符串尾部+号;删除的主要思想是把不删除的字符保留起来。 【解题思路】 对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号‘ ’。具体操作为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为*号,直到找到非*号字符为止,最后在该字符后面加上结束符号‘ ’。 (内容来源:厚学网)第四篇:2011年9月计算机二级C语言笔试试题思路版)
第五篇:2018年3月计算机二级C语言考试操作题冲刺题