国家二级C++机试(模板)模拟试卷5
国家二级(C语言)机试模拟试卷123(题后含答案及解析)
国家二级(C语言)机试模拟试卷123(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.在关系代数运算中,有5种基本运算,它们是( )。
A.并(∪)、差(-)、交(∩)、除(÷)和笛卡儿积(×)B.并(∪)、差(-)、交(∩)、投影(π)和选择(σ)C.并(∪)、交(∩)、投影(π)、选择(σ)和笛卡儿积(×)D.并(∪)、差(-)、投影(π)、选择(σ)和笛卡儿积(×)正确答案:D解析:并、差、笛卡儿积、投影和选择是5种基本的运算,其他运算即交、连接和除,均可以通过5种基本的运算来表达。
2.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。
A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式正确答案:A解析:数据库有两层映像,即外模式/模式和模式/内模式映像。
模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。
3.下列关于线性链表的描述中,正确的是( )。
Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。
A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部正确答案:D解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。
其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。
4.下面关于数据库三级模式结构的叙述中,正确的是( )。
A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个正确答案:B解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。
国家二级ACCESS机试选择题数据库基础知识模拟试卷5_真题含答案与解析)-交互57
国家二级ACCESS机试选择题(数据库基础知识)模拟试卷5(总分52, 做题时间90分钟)1. 选择题1.数据访问页可以简单地认为就是一个SSS_SINGLE_SELA 网页B 数据库文件C Word文件D 子表该题您未回答:х该问题分值: 2答案:A解析:数据访问页对象是ACCESS2003版本中用来将ACCESS数据库中的数据发布到网络上的数据库对象,不仅能发布数据,合法用户也能通过数据访问页对数据进行编辑。
数据访问页就是网页,格式编码为HTML,即超文本标记语言。
2.下列关于Access数据流特点的叙述中,错误的是SSS_SINGLE_SELA 可以支持Internet/Intranet应用B 可以保存多种数据类型的数据,包括多媒体数据C 可以通过编写应用程序来操作数据库的数据D 可以作为网状型数据库支持客户机/服务器应用系统该题您未回答:х该问题分值: 2答案:A解析:本题考查ACCESS数据库的基本特点。
ACCESS数据库的主要特点:能够利用各种图例快速获得数据;利用报表工具快速生成美观的数据报表;采用0LE技术,能方便的创建和编辑多媒体数据库。
支持ODBC标准的SQL数据库的数据;设计过程自动化,具有较好的集成开发功能;提供了断点设置、单步执行等调试功能;Internet/Intranet集成。
3.常见的数据模型有3种,它们是SSS_SINGLE_SELA 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录该题您未回答:х该问题分值: 2答案:B解析:本题考查数据库的基本知识。
常见的数据模型共有三种,分别是层次模型、网状模型和关系模型,目前最普遍应用的是关系模型。
此外,今年发展的面向对象模型也逐渐成为主流数据模型。
4.用二维表来表示实体及实体之间联系的数据模型是SSS_SINGLE_SELA 实体一联系模型B 层次模型C 网状模型D 关系模型该题您未回答:х该问题分值: 2答案:D解析:本题考查数据模型的知识。
云南省计算机等级考试(二级C)模拟试卷试题五
云南省计算机等级考试(二级C)模拟试卷试题五第一卷第一部分:综合基础知识(共30分,每项1分)1. 在下列设备中,不能作为微型计算机的输出设备的是____。
A.打印机B.显示器C.绘图仪D.键盘2. 二进制数101110转换为等值的八进制数是____。
A.45B.56C.67D.783. 微型计算机中,普遍使用的字符编码是____。
A.补码B.原码C.ASCII码D.汉字编码4. 计算机软件系统一般包括____。
A.系统软件和字处理软件B.系统软件和应用软件C.管理软件和应用软件D.科学计算软件和应用软件5. 最基础最重要的系统软件是____。
A.应用软件包B.文字处理软件C.语言处理程序D.操作系统6. 微处理器的字长、主频、ALU结构以及____是影响其处理速度的重要因素。
A.有无中断处理B.是否程序控制C.有无DMA功能D.有无CaChe存储器7. 微机中MHz的意思是____。
A.内存的单位B.外存的单位C.主频的单位D.速度的单位8. 计算机“病毒”传播的基本媒质是____。
A.人手接触B.软磁盘C.内部存储器D.电源9. CPU的中文名称是____。
A.寄存器B.控制器C.中央处理器D.只读存储器10. 文件型病毒传染的对象主要是____类型文件A..DBFB..WPS和.EXED..EXE和.WPS11. 把存储器、微处理器、I/O接口集成在同一块芯片上构成的具有完整的运行功能的微型计算机,称为____。
A.微计算机系统B.微计算机C.单片计算机系统D.单片微计算机12. 关于硬件系统和软件系统的概念,下列叙述不正确的是____。
A.计算机硬件系统的基本功能是接受计算机程序,并在程序控制下完成数据输入和数据输出任务B.软件系统建立在硬件系统的基础上,它使硬件功能得以充分发挥,并为用户提供一个操作方便、工作轻松的环境C.没有装配软件系统的计算机不能做任何工作,没有实际的使用价值D.一台计算机只要装入系统软件后,即可进行文字处理或数据处理工作13. 利用一条传输线路传送多路信号的技术是____。
国家二级C%2b%2b机试(C%2b%2b流)模拟试卷5.doc
国家二级C++机试(C++流)模拟试卷5控制面板全部题型1.选择题答题卡1A BCD 2ABCD10分卷:试满选择题3ABCD 4A B C试题5 ABCD1.在语句cin»data:中,cin )。
6 ABCDA. C++的关键字7 ABCD答题120 时分限:钟B.类名C.对象名D.函数名8 ABCD9ABCD剩余时间:调整字号:□正确答案:c解析:此题考查的是预定义流对象。
C++有4个预定义的流对象:cin 一标准输入:cout 一标准输出;Cerr —标准出错信息输出:clog-带缓冲的标准出错信息输出。
10 ABCD12 14 16 1820 2.下列有关C++流的叙述中,错误的是()。
调整背 A. C++操作符setw设置的输出宽度永久有效京: B. C++操作符cndl可以实现输出的叵I车换行C.处理文件I / O时,要包含头文件fstreamD.进行输入操作时,eof()函数用于检测是否到达文件尾正确答案:A解析:此题考查的是C++流。
C++操作符setw()的作用是设置输入输出宽度,且只对当前一次有效,并非永久有效,故选项A叙述错误。
3.下列关于C++流的描述中,错误的是()。
A.cout»7V表达式可输出字符AB.eof()函数可以检测是否到达文件11A BCD 12A BCD 13A BCD 14ABCI) 15 ABCD 16ABCD 17ABCD 18A BCD 19A BCD 20ABCD 21ABCD 22ABCDC.对磁盘文件进行流操作时,必须包含头文件fstreamD.以ios_basc: : out模式打开的文件不存在时,将自动建立一个新文祎正确答案:A解析:cout是一个标准输出流对象。
>>称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。
vv为插入运算符,其功能是把表达式的值插入到输出流中。
当系统执行cout«x操作时,首先根据x值的类型调用相应的插入运算符重载器函数,把x的值传送给对应的形参,接着执行函数体,把x的值输出到显示器屏幕上,在当前屏幕光标位置处显示出来,然后返回ostream流,以便继续使用插入运算符输出下一个表达式的值。
国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及解析)
国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.设二叉树共有375个结点,其中度为2的结点有187个。
则度为1的结点个数是A.0B.1C.188D.不可能有这样的二叉树正确答案:A解析:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。
二叉树的第i层至多有2i-1个结点;深度为k的二叉树至多有2k-1个结点;对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
本题中,度为2的结点有187个,叶子结点应该有187+1=188个,度为1的结点个数=375-187-188=0。
知识模块:数据结构与算法2.在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为A.0或1B.0C.1D.队列满正确答案:A解析:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列的链式存储也称为链队列。
为了便于操作,可给链队列添加1个头结点,并令头指针指向头结点。
队列为空的判断条件是头指针和尾指针的值相同,且均指向头结点。
当队列为空(0)或1时,front=rear。
知识模块:数据结构与算法3.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。
该树中度为3的结点数为A.1B.2C.3D.不可能有这样的树正确答案:B解析:树的度是指一棵树中,最大的结点的度称为树的度。
本题中树的度为3,那么树中最少有一个结点的度为3。
而树中没有度为2的结点,叶子结点数为5,度为1的结点下面只有一个叶子结点。
因此,该树中含2个度为3的结点满足题目要求。
知识模块:数据结构与算法4.设二叉树共有500个结点,其中叶子结点有250个。
国家二级ACCESS机试选择题(公共基础知识)模拟试卷5(题后含答案及解析)
国家二级ACCESS机试选择题(公共基础知识)模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.对软件系统总体结构图,下面描述中错误的是( )。
A.深度等于控制的层数B.扇入是一个模块直接调用的其他模块数C.扇出是一个模块直接调用的其他模块数D.原子模块一定是结构图中位于叶子节点的模块正确答案:B解析:与结构图有关的术语如下:知识模块:公共基础知识2.某系统结构图如下图所示该系统结构图的深度是( )。
A.1B.2C.3D.4正确答案:D解析:深度表示控制的层数。
本题中,“某系统”为第1层,“功能1、功能2…功能n”为第二层,“功能2.1、功能2.2、功能2.3、功能n.1、功能n.2”为第3层,“功能2.2.1、功能2.2.2”为第4层,共4层,故深度为4。
知识模块:公共基础知识3.某系统结构图如下图所示(图中n≥5)该系统结构图的宽度是( )。
A.nB.3C.2D.1正确答案:A解析:宽度指整体控制跨度(横向最大模块数)的表示。
本题中第1层有1个模块,第二层有n个模块(注意n≥5),第3层有5个模块,故宽度为n。
知识模块:公共基础知识4.某系统结构图如下图所示:该系统结构图的最大扇人数是( )。
A.0B.1C.2D.3正确答案:C解析:扇人是指调用一个给定模块的模块个数。
本题中,模块“功能3.1”被“功能2.3”和“功能3”2个上级模块调用,其余模块都是被一个上级模块调用,故最大扇人数是2。
知识模块:公共基础知识5.某系统结构图如下图所示,该系统结构图的最大扇入数是( )。
A.1B.2C.3D.n正确答案:D解析:扇入是指调用一个给定模块的模块个数。
本题中需要注意的是两个省略号的位置,第一个省略号表示第二层有n个模块,第二个省略号表示模块“功能n.1”被第二层的n个模块调用,故最大扇人数是n。
知识模块:公共基础知识6.某系统总体结构如下图所示该系统结构图的最大扇出数是( )。
A.2B.5C.3D.1正确答案:C解析:扇出指一个模块直接调用的其他模块数。
国家二级C++机试(基本控制结构、数组、指针与引用)模拟试卷5
国家二级C++机试(基本控制结构、数组、指针与引用)模拟试卷5(总分:68.00,做题时间:90分钟)一、选择题(总题数:34,分数:68.00)1.有如下程序: #inc1ude<iostream> using namespace std; int main() { char str[100],*p; cout <<"Please input a string:"; cin;str; p==str; for(int i=0; *p!='\0'; p++,i++); cout<<"i"<<end1; retum 0; } 运行这个程序时,若输入字符串为: abcdefg abcd 则输出结果是( )。
(分数:2.00)A.7 √B.12C.13D.100解析:解析:此题考查的是默认输入格式。
本题输入数据类型为char,因此输入的数据是“从第…个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abcd,其中abcdefg后有空格。
所以输入后str中的字符串为“abcdefg”;主函数中接下来for语句的作用是计算字符串p的长度,故最终输出字符串“abcdefg”的长度7。
2.if语句的语法格式可描述为:格式1:if(<条件>)<语句>或格式2:if(<条件>)<语句1>else <语句2>关于上面的语法格式,下列表述中错误的是( )。
(分数:2.00)A.<条件>部分可以是一个if语句,例如if(if(a==0)…)…√B.<语句>部分可以是一个if语句,例如if(…)if(…)…C.如果在<条件>前加上逻辑非运算符!并交换<语句1>和<语句2>的位置,语句功能不变D.<语句>部分可以是一个循环语句,例如if(…)while(…)…解析:解析:此题考查的是if语句。
If语句的条件部分是一个表达式而不是语句,因此选项A叙述错误。
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷365(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵: 1 2 3 计算结果为7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 43 void fun(int(*t)[N])4 { int j,r[N];5 for(j=0;j<N;j++)r[j]=t[0][j];6 for(j=0;j<N;j++)7 /**********found**********/8 t[0][N-j-1]=t[j][__1__];9 for(j=0;j<N;j++)10 t[j][0]=t[N-1][j];11 /**********found**********/12 for(j=N-1;j>=0;__2__)13 t[N-1][N-1-j]=t[j][N-1];14 for(j=N-1;j>=0;j--)15 /**********found**********/16 t[j][N-1]=r[__3__];17 }18 main( )19 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;20 printf(‘‘\nThe original array:\n’’);21 for(2=0;i<N;i++)22 {for(j=0;j<N;j++)printf(‘‘%2d”,t[i][j]);23 printf(‘‘\n’’);24 }25 fun(t);26 printf(‘‘\nThe result is:\n’’);27 for(i=0;i<N;i++)28 { for(j=0;j<N;j++)printf(‘‘%2d’’,t[i][j]);29 printf(‘‘\n’’);30 }31 }正确答案:(1)0 (2)j-- (3)j解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。
国家二级ACCESS机试选择题(数据库设计基础)模拟试卷5
国家二级ACCESS机试选择题(数据库设计基础)模拟试卷5(总分:48.00,做题时间:90分钟)一、选择题(总题数:24,分数:48.00)1.下列叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余√B.经规范化后的数据库系统避免了一切冗余C.数据库系统比文件系统能管理更多的数据D.数据库系统中数据的一致性是指数据类型一致解析:解析:数据库主要特点:实现数据共享、减少数据的冗余度、数据的独立性、数据实现集中控制、数据一致性和可维护性,以确保数据的安全性和可靠性和故障恢复。
所谓数据一致性,就是当多个用户试图同时访问一个数据库,它们的事务同时使用相同的数据时,可能会发生以下四种情况:丢失更新、未确定的相关性、不一致的分析和幻想读。
2.每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是(分数:2.00)A.多对一√B.多对多C.一对一D.一对多解析:解析:本题中,一个人可以兼任多所学校的校长,但是一所学校只有一名校长,因此学校对校长是多对一关系。
3.定义部门关系模式:部门(部门号,部门名,部门成员,部门总经理),使它不满足第一范式的属性是(分数:2.00)A.部门名B.部门成员√C.部门总经理D.部门号解析:解析:所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。
在第一范式(1NF)中表的每一行只包含一个实例的信息。
本题中“部门”关系模式中的“部门成员”可以分割成其它基本数据项,因此它导致“部门”关系模式不满足第一范式。
4.在关系数据库中,描述全局数据逻辑结构的是(分数:2.00)A.内模式B.用户模式C.概念模式√D.物理模式解析:解析:概念模式也称为模式或逻辑模式,概念模式是数据库中全体数据的整体逻辑结构和特征的描述,概念模式通常还包含有访问控制、保密定义和完整性检查等方面的内容,以及概念/物理之间的映射。
国家二级C语言机试(选择题)模拟试卷105(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷105(题后含答案及解析) 题型有:1. 选择题选择题1.程序流程图中带有箭头的线段表示的是( )。
A.图元关系B.数据流C.控制流D.调用关系正确答案:C解析:在程序流程图中:①标有名字的带箭头线段表示控制流;②矩形表示加工步骤;③菱形表示逻辑条件。
知识模块:选择题2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A.下画线B.大写字母C.数字字符D.连接符正确答案:D解析:C语言中标识符由字母、下画线或数字组成,且开头必须是字母或下画线。
知识模块:选择题3.以下各项中,能正确表述算式sin(2πr+30°)的C语言表达式是( )。
A.sin(2*π*r+30)B.sin(2*3.14*r+30)C.sin(2*3.14*r+3.14*30/180.0)D.sin(2*3.14*r+30*3.14/360.0)正确答案:C解析:考查算术表达式的写法,选项C中没有π,需要用数值3.14代替,sin函数的参数为弧度,角度30转成弧度应为3.14*30/180。
故应选C。
知识模块:选择题4.有以下程序:#include<stdio.h>main( ){char a=′H′:a=(a>=′A′&&a<=′Z′)?(a+32):a;printf(″%c\n″,a);}程序运行后的输出结果是( )。
A.hB.HC.AD.a正确答案:A解析:考查条件运算符。
条件表达式的形式为:表达式1?表达式2:表达式3,计算“表达式1”的值,若为“真”,取“表达式2”的值作为整个条件表达式的值;若为“假”,取“表达式3”的值作为整个条件表达式的值。
字符参与运算时一般计算其ASCⅡ码,并且一个字母的小写—大写=32(ASCⅡ码),该程序将大写字母转成对应的小写字母,答案选A。
知识模块:选择题5.有以下程序:#include<stdio.h>int b=2;int fun(int*k){b=*k+b:return(b);}void main( ){int a[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;j+ +)}b=fun(&a[i])+b;printf(″%d″,b);{printf(″\n″);}程序运行后的输出结果是( )。
国家二级(C语言)机试模拟试卷100(题后含答案及解析)_0
国家二级(C语言)机试模拟试卷100(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充main 函数,该函数的功能是:先以只写方式打开文件“out99.dat”,再把字符串str中的字符保存到这个磁盘文件中。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在main 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include “stdio. h”#include “conio.h”#define N 80 main ( ) { FILE *fp; int i=0; char ch; char str[N]=“I’m a student!”; clrscr( ); if ( (fp=fopen (【】) ) ==NULL) {printf(“cannot open out99. dat\n”);exit(0); } while (str[i]) {ch=str[i];【】; putchar(ch); i++; }【】; }正确答案:“out99.dat”,“w”fpnte (ch,fp)fclose (fp)解析:第一空:本题考查对文件操作的掌握。
打开一个文件的调用方式是,fp==fopen (文件名,使用文件方式);,题目要求以只写的方式打开文件“out 99.dat”,所以文件使用方式为“w”。
第二空;fputc ( )函数用于将一个字符写到磁盘文件上去,调用形式为:fputc (要输出的字符,文件指针)。
第三空:对一个文件进行操作后,应该关闭它,以防它再被误用。
调用形式为:fclose (文件指针);程序修改题(30分)2.下列给定程序中,函数fun( )的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。
国家二级ACCESS机试选择题(数据结构与算法)模拟试卷5
国家二级ACCESS机试选择题(数据结构与算法)模拟试卷5(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.设顺序表的长度为n。
下列算法中,最坏情况下比较次数小于n的是(分数:2.00)A.寻找最大项√B.堆排序C.快速排序D.顺序查找法解析:解析:如果顺序表是线性存储的(不包括线性的链式表),那么元素要不就是从大到小,要不就是小到大的顺序,假设第一个数就是最大值,那么需要比较1次,n一1应该是最坏情况下要比较的次数,所以选项A正确。
2.设栈的顺序存储空间为S(1:m),初始状态为top=m+1。
现经过一系列正常的入栈与退栈操作后,top=0;则栈中的元素个数为(分数:2.00)A.不可能√B.m+1C.1D.m解析:解析:栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位,即top-1。
对于这个题目,由于top初始值等于m+1,此时入栈一个元素,top值减1,即m+1-1=m,依次类推,当栈满时,top 的值等于1,不会出现top的值等于0。
所以选项A正确。
3.某二叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为(分数:2.00)A.FEDCBA √B.CBAFEDC.DEFCBAD.ABCDEF解析:解析:后序遍历次序:左右根;中序遍历次序:左根右。
由定义可知:①后序遍历中最后一个是树的根结点,即F结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即ABCDE是根结点F的左子树集合。
问题就会转化为:求后序遍历是ABC。
DE,中序遍历是ABCDE的子树。
方法同上,因为中序遍历中,E结点右边没有结点了,所以E结点不包含右子树,否则就会被分为2个子问题。
以下是这道题的详细推理过程:步骤1:由ABCDEF。
得出根结点为F,由中序遍历可知:{ABCDE}F,右子树为空;步骤2:由ABCDE得出左子树集合的根节点为E,由中序可知:{ABCD}E,右子树为空;步骤3:同理,二所以按层次输出(同一层从左到右)的序列为FEDCBA。
国家二级C语言(数据结构与运算)机试模拟试卷5(题后含答案及解析)
国家二级C语言(数据结构与运算)机试模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为A.EDABCB.CBEDAC.CBADED.EDCBA正确答案:A解析:后序遍历次序是“左右根”,中序遍历次序是“左根右”。
由定义可知:①后序遍历中最后一个就是树根结点,即E结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即CBAD是根结点E的左子树集合。
问题就会转化为:求后序遍历是CBAD,中序遍历是CBAD的子树,方法同上。
因为中序遍历中,D结点右边没有结点了,所以D结点不包含右子树,否则就会被分为2个子问题。
以下是这道题的详细推理过程:步骤1:由CBADE得出根结点为E,由中序遍历可知{ CBAD}E,右子树为空;步骤2:由CBAD得出左子树集合的根节点为D,由中序可知{CBA}D,右子树为空;步骤3:同理,二叉树更新后如下图所示。
知识模块:数据结构与运算2.下列叙述中正确的是A.在循环队列中,队头指针和队尾指针的动态变化决定队列的长度B.在循环队列中,队尾指针的动态变化决定队列的长度C.在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度D.在带链的栈中,栈顶指针的动态变化决定栈中元素的个数正确答案:A 涉及知识点:数据结构与运算3.设栈的存储空间为S(1:60),初始状态为top=61。
现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为A.60B.59C.0D.1正确答案:A解析:栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位,即top-1。
当压入第一个元素时,TOP指针指向60+1-1 = 60;当压入第二个元素时,TOP指针指向60+1-2 = 59;......;以此类推,当压入第N个元素时,TOP 指针指向60+1-N = 1,则N=60。
所以选项A正确。
国家二级ACCESS机试(操作题)模拟试卷503(题后含答案及解析)
国家二级ACCESS机试(操作题)模拟试卷503(题后含答案及解析)题型有:1.jpg />步骤4:在弹出的“查询向导”对话框中依次输入“男”、“女”,单击“完成”按钮,如图5.23所示。
步骤5:单击“入校时间”字段行任一点,在“常规”选项卡下的“默认值”行中输入“DateSerial(Year(Date( )),1,1)”,如图5.24所示。
步骤6:按Ctrl+S组合键保存按钮,关闭“tStud”表设计视图。
2.将表”tStud”中1995年入校的学生记录删除;根据”所属院系”字段的值修改学号,”所属院系”为”01”,将原学号前加”1”;”所属院系”为”02”,将原学号前加”2”,依次类推。
正确答案:步骤1:双击“tStud”表,打开数据表视图。
步骤2:单击“入校时间”字段右侧的下三角按钮,勾选1995年对应的复选框,单击“确定”按钮,如图5.25所示。
步骤3:选中筛选出来的记录,单击“记录”组中的“删除”按钮,在弹出对话框中单击“是”按钮,如图5.26所示;然后单击“入校时间”字段右侧的下三角按钮,勾选“全选”复选框,单击“确定”按钮。
步骤4:单击“所属院系”字段右侧的下三角按钮,勾选“01”对应的复选框,将“所属院系”为“01”的记录对应的“学号”字段前增加“1”字样,如图5.27所示。
单击“所属院系”字段右侧的下三角按钮,勾选“02”对应的复选框,将“所属院系”为“02”的记录对应的“学号”字段前增加“2”字样。
以此类推,修改“所属院系”为“03”、“04”的记录对应的“学号”字段值。
步骤5:按Ctrl+S 组合键保存按钮,关闭“tStud”数据表视图。
3.将”tStud”表的”所属院系”字段的显示宽度设置为15;将”简历”字段隐藏起来。
正确答案:步骤1:双击“tStud”表,打开数据表视图。
步骤2:选中“所属院系”字段列并右键单击,在弹出的快捷菜单中选择“字段宽度”命令,在弹出的“列宽”对话框的文本框中输入“15”,如图5.28所示,然后单击“确定”按钮。
国家二级C语言机试(操作题)模拟试卷605(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷605(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.使用VC++2010打开考生文件夹下blank1中的解决方案。
此解决方案的项目中包含一个源程序文件blank1.c。
在此程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#define N9int fun(int x[]){int i,j,k,t,mid,b[N];for(i=0;i<N;i++)b[i]=x[i];for(i=0;i<=N/2;i++){k=i;for(j=i+1;j<N;j++)if(b[k]>b[J])k=j;if(k!=i){/*********found*********/t=b[i];b[i]=【1】;b[k]=t;}}/*********found*********/mid=b[【2】];for(i=0;i<N;i++)/*********found*********/if(x[i]【3】mid)X[i]=mid;return mid;}main( ){int i,x[N]={1,5,7,23,87,5,8,21,45};for(i=0;i<N;i++)printf(“%d”,x[i]);printf(“\nThe mid data is:%d\n”,fun(x));for(i=0;i <N;i++)printf(“%d”,x[i]);printf(“\n”);}正确答案:(1)b[k](2)4或N/2(3)<解析:数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。
国家二级C++机试(操作题)模拟试卷515(题后含答案及解析)
国家二级C++机试(操作题)模拟试卷515(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件main.cpp,其中有类Door(“门”)和主函数main的定义。
程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。
改正后程序的输出结果应为:打开503号门...门是锁着的,打不开。
打开503号门的锁...锁开了。
打开503号门...门打开了。
打开503号门...门是开着的,无须再开门。
锁上503号门...先关门...门锁上了。
注意:只参改每个“//ERROR*******found*******”下的那一行,不要改动程序中的其他内容。
#include<iostream>using namespace std;class Door{int num;//门号bool closed;//true表示门关着bool locked;//true表示门锁着public:Door(int num){//ERROR*******found*******num=this->num;closed=locked=true;}bool isClosed( )const{returnclosed;}//门关着时返回true,否则返回falsebool isOpened( )const{]Tel2L1rn!closed;}//门开着时返回true,否则返回falsebool isLocked( )const{return locked;}//门锁着时返回true,否则返回falsebool isunlocked( )const{return!locked;}//门未锁时返回true,否则返回falsevoid open( ){//开门cout<<endl<<”打开”<<num<<”号门...”;//ERROR*****found*****if(Closed)cout<<”门是开着的,无须再开门。
国家二级ACCESS机试选择题(界面设计)模拟试卷5(题后含答案及解析)
国家二级ACCESS机试选择题(界面设计)模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.若要求在窗体中的文本框里输入的文本皆显示为“*”号,则应设置的属性是A.默认值B.标题C.密码D.输入掩码正确答案:D解析:要求在窗体中的文本框里输入的文本皆显示为“*”号,应该设置窗体的“数据”选项卡中的“输入掩码”,将“输入掩码”设置为“密码”,所以选项D正确。
知识模块:界面设计2.下列关于窗体控件功能描述中,错误的是A.按钮控件可用于查找记录、打印记录等操作B.“使用控件向导”用于打开和关闭控件向导C.图像控件用于在窗体中显示静态图片D.绑定对象框用于在窗体上显示OLE对象字段内容正确答案:D解析:“按钮”控件用于完成各种操作,如:查找记录、打印记录或应用窗体筛选,选项A正确;“使用控件向导”用于打开或关闭“控件向导”,选项B 正确;“图像”控件用于在窗体中显示静态图片,选项C正确;“绑定对象框”用于在窗体或报表上显示OLE对象,例如一系列的图片。
该控件针对的是保存在窗体或报表基础记录源字段中的对象,所以选项D错误。
知识模块:界面设计3.下列选项中,属于选项卡控件的“事件”属性的是A.Tab键索引B.控件来源C.输入掩码D.更改正确答案:D解析:选项卡控件的“事件”属性有:“单击”、“更改’’、“双击”、“鼠标按下”、“鼠标释放”、“鼠标移动”、“键按下”、“键释放”、“击键”,所以选项D正确。
知识模块:界面设计4.如果字段“考查成绩”的取值范围为大写字母A~E,则下列选项中,错误的有效性规则是A.>=‘A’And<=‘E’B.[考查成绩]>=‘A’And[考查成绩]<=‘E’C.考查成绩>=‘A’nd考查成绩<=‘E’D.’A’<=[考查成绩]<=‘E’正确答案:D解析:本题中“考查成绩”的取值范围为A~E,并且包含A和E。
选项A、选项B、选项C都是正确的表达式。
选项D中因为“<=”符号是用于数值比较的双目运算符,结合方向为从左到右。
国家二级(C语言)机试模拟试卷5(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷5(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充函数fun( ),该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。
维数N在主函数中输入。
例如:注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h >#include <conio.h>#include <stdlib.h>#include <math.h>#define N 20 double fun(【】,int n) { int i,j;int k;double s=0.0;double f=0.0;double aver=0.0;double sd=0.0;for(i=0;i<n;i++)for(j=0;j<n;j++) s+=a[i][j];aver=【】; for(i=0;i <n;i++) for(j=0;i<n;j++) f+=(a[i][j]-aver)*(a[i][j]-aver);f/(n*n);sd=【】;return sd;} main( ) { int a[N][N];int n;int i,j;double s;clrscr( );printf(“***+Input the dimension ofarray N*****\n”);scanf(“%d”,&n);printf(“***** The array *****\n”);for(i=0;i<n;i++) {for(j=0;j<n;j++){ a[i][j]=rand( )%50;while(a[i][j]=0) a[i][j]=rand( )%60;printf(“%4d”,a[i][j]);} printf(“\n\n”);} s=fun(a,n);printf(“******* THE RESULT *******\n”);printf(“%4.3f\n”,s);}正确答案:int a[][N]s/(n*n)sqrt(f)解析:第一空;由主函数main( )中对函数fun( )的调用格式,可以知道,函数fun( )的第一个参数是N×N的二维整型数组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级C++机试(模板)模拟试卷5(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.下列关于模板的叙述中,错误的是( )。
(分数:2.00)A.模板声明中的第一个符号总是关键字temp1ateB.在模板声明中用<和>括起来的部分是模板的形参表C.类模板不能有数据成员√D.在一定条件下函数模板的实参可以省略解析:解析:此题考查模板的概念。
模板的一般说明形式如下:temp1ate类型形参表函数返回值类型函数名(形参表){函数体},所以选项A、B正确。
函数模板的实参在一定条件下是可以省略的,所以选项C错误。
2.有如下函数模板定义: temp1ate<c1ass T> T func(T x,T y){return x*x+y*y;} 在下列对func的调用中,错误的是( )。
(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5); √D.func<int>(3,5.5);解析:解析:此题考查的是函数模板的使用。
引用模板函数和引用一般函数在语法形式上基本相同。
需要注意的是说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中的对应形参。
本题C选项中,编译系统从第一个参数“3”获得信息“int”和从第二个参数获得信息“double”两者矛盾,错误;A、B选项正确;D选项中,函数名后的<int>是模板实参表,编译系统会将double型的形参“5.5”自动转化成int类型。
3.有如下函数模板: temp1ate<typename T'typename U> T cast(Uu){ return u;} 其功能是将U类型数据转换为T类型数据。
已知i为int型变量,下列对模板函数cast的调用中正确的是( )。
(分数:2.00)A.cast(i),B.cast<>(i);C.cast<char*,int>(i);D.cast<double,int>(i); √解析:解析:此题考查的是模板函数的调用。
本题中cast()函数的实参i只能确定模板参数U的类型为int,而不能确定另外一个模板参数T,故选项A、B错误;C++语言不允许隐式地将int转化为char*,故选项C 错误。
4.关于在调用模板函数时模板实参的使用,下列表述正确的是( )。
(分数:2.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略√解析:解析:此题考查的是模板实参的省略。
模板实参在以下集中情况中不能省略:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参表中;函数模板含有常规形参。
5.有如下函数模板: temp1ate<c1ass T>T square(T x){return x*x;) 其中T是( )。
(分数:2.00)A.函数形参B.函数实参C.模板形参√D.模板实参解析:解析:此题考查的是函数模板。
声明一个函数模板的格式是:temp1ate<模板形参表声明>函数声明,{函数体}其中的<模板形参表声明>是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typename参数名;class参数名;类型修饰参数名。
6.下列函数模版中的定义中,合法的是( )。
(分数:2.00)A.temp1ate <typename T>T abs(T x){return x<0?—x:x;) √B.temp1ate c1ass< T>T abs(T x){return x<0?—x:x;}C.temp1ate T<c1ass T> abs(T x){return x<0?—x:x;}D.temp1ate T abs(T x){retum x<0?—x: x;)解析:解析:此题考查的是函数模板。
声明一个函数模板的格式是:temp1ate<模板形参表声明>函数声明,其中的<模板形参表声明>是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:t)rpename参数名;class参数名;类型修饰参数名。
7.C++中的模板包括( )。
(分数:2.00)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板√D.变量模板和对象模板解析:解析:此题考查的是模板。
在C++语言中,模板有两类:函数模板和类模板。
8.下列有关模板的叙述中,正确的是( )。
(分数:2.00)A.函数模板不能含有常规形参B.函数模板的一个实例就是’个函数定义√C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参解析:解析:此题考查的是模板的概念。
函数模板可以含有常规形参;函数模板的一个实例就是一个函数定义;类模板中的成员函数都是模板函数;在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板形参,但是可以为类模板的参数设置默认值。
9.下面是一个模板声明的开始部分: temp1ute<typename T> double__ 由此可知( )。
(分数:2.00)A.这可能是一个函数模板的声明√B.这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明解析:解析:此题考查的是函数模板的声明。
声明一个函数模板的格式是:temp1ate<模板形参表声明>函数声明;定义类模板的格式是:temp1ate<类型形参表> class<类模板名>{};。
10.下列关于模板的叙述中,错误的是( )。
(分数:2.00)A.调用模版函数时,在一定条件下可以省略模板实参B.可以用int、double这样的类型修饰符来声明模版参数C.模板声明中的关键字c1ass都可以用关键字typename替代√D.模板的形参表中可以有多个参数解析:解析:在声明模板参数是,关键字typename和class是可以互换的,两者是等价的。
但选项C中说的是模版声明,在类模板声明中,替换可能会引起麻烦。
11.下列关于函数模板的描述中,错误的是( )。
(分数:2.00)A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能省略C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D.模板参数表不能为空√解析:解析:在调用一个模板函数时,如果编译系统能够从模板实参表判断其中或全部虚拟类型参数对应的实际参数,而且它们正好是参数表中最后的若十参数,则模板实参表中的那几个参数可以省略。
12.下列关于模板形参的描述中,错误的是( )。
(分数:2.00)A.模板形参表必须在关键字temp1ate之后B.模板形参表必须用括弧()括起来√C.可以用c1ass修饰模板形参D.可以用typename修饰模板形参解析:解析:声明一个函数模板的格式是:temp1ate<<模板形参表声明>><函数声明>,其中的<模板形参表声明>是由一个或多个<模板形参>组成(如果是多个,需要用逗号隔开)。
每个<模板形参>具有下面的几种形式:①typename<参数表>②class<参数名>③<类型修饰><参数名>由此可知,模板形参表必须用括弧◇括起来,而不是(),所以选项B)为正确答案。
13.下列关于类模板的描述中,错误的是( )。
(分数:2.00)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板描述了一组类D.类模板中只允许有一个类型参数√解析:解析:类模板就是一系列相关类的模型或样板,这些类的成员组成相同,成员函数的源代码形式相同,所不同的只是所针对的类型(成员的类型以及成员函数的参数和返回值的类型)。
一个类模板的格式是:temp1ate<<模板形参表声明>><类声明>,<模板形参表声明>是由一个或多个模板形参组成。
在定义类模板时,可以为模板形参表声明的最后若干个参数设置默认值。
14.下列关于模板的叙述中,正确的是( )。
(分数:2.00)A.如果一个类中存在纯虚函数,这个类就是类模板B.函数模板不能有形式参数表C.类模板是一种参数化类型的类,是类的生成器√D.类模板中不能包含构造函数解析:解析:对于函数模板,数据类型本身成了它的参数,是一种参数化类型的函数。
对于类模板,数据类型本身成了它的参数,因而是一种参数化类型的类,是类的生成器。
15.有函数模板声明和一些变量定义如下: temp1ate<c1ass T1, c1ass T2, c1ass T3>T1 sum(T2,T3); double d1,d2; 则下列调用中,错误的是( )。
(分数:2.00)A.sum<double, double, double>(d1, d2);B.sum<double, double>(d1, d2);C.sum<double>(d1,d2);D.sum(d1,d2); √解析:解析:虚拟类型参数T1没有出现在模板函数的形参表中,因此在调用时不可能从模板函数的实参表中获得相应的信息,因此T1无法省略。
而在选项D)中省略了。
16.下列关于函数模板的描述中,正确的是( )。
(分数:2.00)A.函数模板是一个实例函数B.使用函数模板定义的函数没有返回类型C.函数模板的类型参数与函数的参数相同D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数√解析:解析:函数模板是一系列相关函数的模型或样板,这些函数的源代码相同,只是所针对的数据类型不同。
数据类型成了函数模板的参数,所以函数模板是一种参数化类型的函数。
17.有如下函数模板定义: temp1ate<typename T1,Typename T2> T1 Fun(T2 n){return n*5.0;} 若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
(分数:2.00)A.FUN(9)B.FUN<9>C.FUN<double>[9] √D.FUN<9>(double)解析:解析:根据函数模板的定义,在选项C的调用中,把double类型传递给T1,int型传递给T2。
18.下列关于模板的描述中,错误的是( )。
(分数:2.00)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键字typename声明√解析:解析:同一模板的声明和定义中,模板形参的名字不必相同。