国家二级C++机试(C++流)模拟试卷6
国家二级C语言机试(公共基础知识)模拟试卷6(题后含答案及解析)
国家二级C语言机试(公共基础知识)模拟试卷6(题后含答案及解析)题型有:1. 选择题选择题1.在E-R图中,用来表示实体联系的图形是A.椭圆形B.矩形C.菱形D.三角形正确答案:C解析:构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity)一用矩形表示;属性(Attribute)-椭圆形表示,联系(Relationship)一用菱形表示,菱形框内写明联系名。
知识模块:公共基础知识2.在E-R图中,用来表示实体的图形是A.矩形B.椭圆形C.菱形D.三角形正确答案:A解析:在E一R图中,用矩形表示实体集,在矩形内写上该实体集的名字;用椭圆形表示属性;用菱形(内部写上联系名)表示联系。
知识模块:公共基础知识3.数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段正确答案:C解析:E—R模型(实体联系模型)是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可用一种图非常直观地表示出来。
它属于数据库设计的概念设计阶段。
知识模块:公共基础知识4.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A.一对一B.一对多C.多对一D.多对多正确答案:B解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。
由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
知识模块:公共基础知识5.一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是A.一对一B.一对多C.多对多D.多对一正确答案:C解析:如果一个工作人员只能使用一台计算机且一台计算机只能被一个工作人员使用,则关系为一对一:如果一个工作人员可以使用多台计算机,但是一台计算机只能被一个工作人员使用,则关系为一对多;如果一个工作人员可以使用多台计算机,一台计算机也可以被多个工作人员使用,则关系为多对多。
国家二级C语言机试(选择题)模拟试卷107(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷107(题后含答案及解析) 题型有:1. 选择题选择题1.下列选项中不属于结构化程序设计原则的是( )。
A.可封装B.自顶向下C.模块化D.逐步求精正确答案:A解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
知识模块:选择题2.有两个关系R和T如下:则由关系R得到关系T的操作是( )。
A.投影B.交C.选择D.并正确答案:A解析:从表图中可以看出,关系T是从关系R中选取一部分字段(A和C)及其值构成新的关系,是一种纵向操作产生新列,属于投影,正确选项为A。
知识模块:选择题3.有以下程序:#include <stdio.h>main( ){printf(″%d\n”,NULL);}程序运行后的输出结果是( )。
A.1B.变量无定义,输出不确定C.—1D.0正确答案:D解析:NULL为一个符号常量,对应的ASCⅡ码值为0,答案选D。
知识模块:选择题4.有以下程序:#include<stdio.h>#define f(x)x*x*xmain( ){int a=3,s,t;s=f(a+1);t=f((a+1));printf(″%d,%d\n″,s,t);}程序运行后的输出结果是( )。
A.10,64B.10,10D.64,64正确答案:A解析:C语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。
所以s=f(a+1)=a+1*a+1*a+1,t=f((a+1))=(a+1)*(a+1)*(a+1),所以有无括号的运算结果是不同的。
知识模块:选择题5.有以下程序:#include<stdio.h>int f(int x,int y){return((y—x) * x);}void main( ){int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(″%d\n″,d);}程序运行后的输出结果是( )。
国家二级MSOffice高级应用机试模拟题2019年(6)_含答案与解析)-交互12
国家二级(MS Office高级应用)机试模拟题2019年(6)(总分100, 做题时间120分钟)选择题1.一个栈的初始状态为空。
现将元素1、2、3、A、B、C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
SSS_SINGLE_SELA123ABCB321CBACCBA123DCBA321分值: 1答案:D栈是一种受限的线性表,只允许一端进行入栈和退栈操作,遵循“先进后出”或“后进先出”的原则,因此退栈的顺序是CBA321。
2.下列数据结构中,不能采用顺序存储结构的是( )。
SSS_SINGLE_SELA非完全二叉树B栈C队列D堆分值: 1答案:A顺序存储的特点是内存空间连续。
栈和队列可以用顺序存储,堆是完全二叉树结构,完全二叉树从根节点开始按从左到右从上到下的顺序给每一个节点进行编号,它的节点号是连续的,说明它可以用顺序存储,而非完全二叉树的节点编号是不连续的,不能用顺序存储。
3.一棵树的度为3,且没有度为2的节点,叶子节点数为5,那么度为3的节点数是( )。
SSS_SINGLE_SELA1BC3D不可能有这样的树分值: 1答案:B树中的最大节点的度称为树的度。
本题中树的度为3,那么至少有1个度为3的节点,且没有度为2的节点。
叶子落点数为5,如下图,故度为3的节点数有2个。
4.下列不属于结构化程序设计的结构是( )。
SSS_SINGLE_SELA选择结构B循环结构C顺序结构D递归结构分值: 1答案:D结构化程序设计的基本结构包括:顺序结构、选择结构和循环结构。
递归结构是一种算法思想。
不属于程序设计结构。
5.软件生命周期分为定义阶段、开发阶段和维护阶段,下列属于定义阶段任务的是( )。
SSS_SINGLE_SELA软件设计B软件测试C可行性研究D数据库设计分值: 1答案:C定义阶段包括:问题定义、可行性研究和需求分析。
问题定义是系统分析员和用户进行交流,弄清“用户需要计算机解决什么问题”,提出“系统目标与范围的说明”,提交用户审查和确认;可行性研究把待开发的系统目标以明确的语言描述出来,从经济、技术、法律等多方面进行可行性分析;需求分析是弄清用户对系统的全部需求。
国家二级C++机试(运算符重载、模板和C++流)模拟试卷6
国家二级C++机试(运算符重载、模板和C++流)模拟试卷6(总分:58.00,做题时间:90分钟)一、选择题(总题数:29,分数:58.00)1.若在表达式y/x中,''/''是作为成员函数重载的运算符,则该表达式还可以表示为( )。
(分数:2.00)A.x.operator/(y)B.operator/(x,y)C.y.operator/(x) √D.operator/(y,x)解析:解析:运算符函数的函数名是由运算符前加关键字operator构成的。
所以当“/”作为运算符重载后,其格式为operator/。
所以其作为成员函数调用时的格式为y.operator/(x)。
2.有类定义如下: class Type{ public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val; };若有对象定义Type c1;则下列语句序列中,错误的是( )。
(分数:2.00)A.Type(3)+c1;B.e1+Type(3);C.3-c1:√D.c1-3;解析:解析:由于在类Type中对“-”进行了重载,所以根据“-”重载的形式定义,c1-3是正确的,而3-c1是错误的表达式。
3.若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。
(分数:2.00)A.Data+(Data);B.Data operator+{Data};√C.Data+operator{Data};D.operator+(Data,Data);解析:解析:“+”是一个二元运算符,因此作为成员函数重载时参数表中只有一个参数,对应于第二个操作数,而第一个操作数是对象本身。
运算符函数的函数名是由运算符前加关键字operator构成的。
4.若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。
国家二级(C语言)机试模拟试卷61(题后含答案及解析)
国家二级(C语言)机试模拟试卷61(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.下列叙述中正确的是A.栈与队列都只能顺序存储B.循环队列是队列的顺序存储结构C.循环链表是循环队列的链式存储结构D.栈是顺序存储结构而队列是链式存储结构正确答案:B解析:栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构,B选项正确。
2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为A.BCAB.CBAC.ABCD.CAB正确答案:B解析:二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
前序序列为ABC,则A为根节点。
中序序列为CBA,则C和B均为左子树节点或右子树节点,且C 为B父节点,可知后序序列为CBA,B选项正确。
3.下列排序方法中,最坏情况下时间复杂度最小的是A.冒泡排序B.快速排序C.堆排序D.直接插入排序正确答案:C解析:在最坏情况下,对长度为n的线性表排序,冒泡排序、快速排序、直接插入排序的时间复杂度均为O(n2),堆排序时间复杂度为O(nlog2n),复杂度最小。
C选项正确。
4.为了对有序表进行对分查找,则要求有序表A.只能顺序存储B.只能链式存储C.可以顺序存储也可以链式存储D.任何存储方式正确答案:A解析:二分法查找也称拆半查找,是一种高效的查找方法。
能使用二分法查找的线性表必须满足两个条件:用顺序存储结构;线性表是有序表。
A选项正确。
5.软件设计中模块划分应遵循的准则是A.低耦合低内聚B.高耦合高内聚C.低耦合高内聚D.内聚与耦合无关正确答案:C解析:模块的独立程度可以由两个定性标准度量:内聚性和耦合性。
国家二级C语言(C语言基础知识)机试模拟试卷9(题后含答案及解析)
国家二级C语言(C语言基础知识)机试模拟试卷9(题后含答案及解析)题型有:1. 选择题选择题1.下列叙述中错误的是A.C程序可以由多个程序文件组成B.一个C语言程序只能实现一种算法C.C程序可以由一个或多个函数组成D.一个C函数可以单独作为一个C程序文件存在正确答案:B解析:算法是指为解决某个特定问题而采取的确定且有限的步骤。
在C语言中一个算法是用函数来实现的。
一个C语言源程序由许多函数组成,这些函数都是根据实际任务,确定具体的算法,由用户自己编写。
C语言源程序可以放在不同的文件中,同一个源程序中的函数也可放在不同的文件中,所以一个C 语言程序可以实现多种算法。
知识模块:C语言基础知识2.关于算法,以下叙述中错误的是A.同一个算法对于相同的输入必能得出相同的结果B.一个算法对于某个输入的循环次数是可以事先估计出来的C.某个算法可能会没有输入D.任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕正确答案:D解析:算法和程序不同,算法满足以下特性:算法有5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。
算法的确定性是指算法中的每一个步骤都必须有明确定义,不允许有模棱两可的解释,也不允许有多义性,因此对于相同的输入必有相同的输出,同时可以事先估计算法的时间复杂度,对于有循环的算法,以循环体内的循环次数来估测时间复杂度。
知识模块:C语言基础知识3.有以下程序,在VC6平台上编译运行,程序运行后的输出结果是#include <stdio.h>main( ){int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}A.4,4B.2,4C.4,8D.10,6正确答案:C解析:关键字sizeof用于测试不同类型变量所占的内存空间,返回所占的字节数。
在VC编译系统中,整型燹量占用4个字节的内存空间,而双精度型变量占用8个字节的内存空间。
国家二级C语言机试(选择题)模拟试卷118(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷118(题后含答案及解析) 题型有:1.1.下列叙述中正确的是( )。
A.二分查找法只适用于顺序存储的有序线性表B.二分查找法适用于任何存储结构的有序线性表C.二分查找法适用于有序循环链表D.二分查找法适用于有序双向链表正确答案:A解析:二分查找法(又称对分查找法)只适用于顺序存储的有序表。
在此所说的有序表是指线性表的中元素按值非递减排列(即从小到大,但允许相邻元素值相等)。
知识模块:公共基础知识2.下列不属于软件设计阶段任务的是( )。
A.软件总体设计B.算法设计C.制定软件确认测试计划D.数据库设计正确答案:C解析:从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计,所以A、B、D选项正确,C选项为软件测试阶段的任务。
知识模块:公共基础知识3.以下选项中合法的实型常量是A..914B.3.13e-2.1C.0D.2.0”10正确答案:A解析:实型常量又称实数或浮点数,一般用小数形式或指数形式来表示。
实型常量分为以下两种形式:①小数形式:小数形式是山数字和小数点组成的一种实数农示形式。
例如0.345、.123、0.0等是合法的实数。
这种表示形式必须要有小数点。
②指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂数。
注意:字母“e”或“E”之前必须要有数字,后面的指数必须为整数。
选项B)中e后必须为整数,选项C)没有小数点,向选项D)则出现非法字符*。
知识模块:C语言基础知识4.以下叙述中正确的是A.整型常量和实型常量都是数值型常量B.常量的类型不能从字面形式上区分,需要根据类型名来决定C.预定义的标识符是C语言关键字的一种,不能另作它用D.只能在函数体内定义变量,其他地方不允许定义变量正确答案:A解析:整型常量和实型常量都是数值型常量,选项A正确;常量的类型可以从字面上区分,比如整型常量不能有小数点,组成字符为0~9等,选项B错误:预定义标识符,即预先定义并具有特定含义的标识符,可以另作他用,不过更改了原有的含义,选项C错误;变量可以定义住程序中任何的地方,属于不同的变量,选项D错误。
国家二级C语言机试(操作题)模拟试卷602(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷602(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.使用VC++2010打开考生文件夹下blank1中的解决方案。
此解决方案的项目中包含一个源程序文件blank1.c。
在此程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#include<stdlib.h>#define N5typeclef struct node{int data;struct node*next;}NODE;/*********found*********/【1】*fun(NODE*h){NODE*p,*q,*r;p=h;if(p==NULL)return NULL;q=p->next;p->next=NULL;while(q){/*********found*********/r=q->【2】;q->next=p;p=q;/*********found*********/q=【3】;}return p;}NODE*creatlist(int a[]){NODE*h,*p,*q;int i;h=NULL;for(i=0;i<N;i++){q=(NODE*)malloc(sizeof(NODE));q->data=a[i];q->next=NULL;if(h==NULL)h=p=q;else{p->next;=q;p=q;}}return h;}void outliSt(NODE*h){NODE*p;p=h;if(p==NULL)printf(“The list is NULL!\n”);else{printf(“\nttead”);do{printf(“->%d”,p->data);p=p->next;}while(P!=NULL);prAntf(“->End\n”j;}}main( ){NODE*head;int a[N]={2,4,6,8,10};head=creatlist(a);printf(“\nThe original list:\n”);outlist(head);head=fun(head);printf(“\nThe list after inverting:\n”);outlist(head);}正确答案:(1)NODE(2)next(3)r解析:填空1:本题考查了函数指针变量的函数返回值的类型,*fun(NODE*h)的返回值为p,而p的数据类型为NODE,因此本空应该填写NODE。
国家二级C语言程序设计机试(选择题)模拟试卷3
国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。
(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。
不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。
2.算法的空间复杂度是指( )。
(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。
4.软件设计中划分模块的一个准则是( )。
(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。
5.结构化程序的三种基本控制结构是( )。
(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。
6.软件需求规格说明书在软件开发中的作用不包括( )。
(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。
国家二级C语言机试(C语言基础知识)模拟试卷20
国家二级C语言机试(C语言基础知识)模拟试卷20(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是(分数:2.00)A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令√C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。
这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
2.以下选项中不属于C语言程序运算符的是(分数:2.00)A.sizeofB.()C.<> √D.&&解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。
而<>不是C语言的运算符,C语言中!=表示不等于。
3.若变量已正确定义并赋值,以下不能构成C语句的选项是(分数:2.00)A.A=a+b;B.B++;C.a=a+b √D.A?a:b;解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。
4.以下叙述中正确的是(分数:2.00)A.程序必须包含所有三种基本结构才能成为一种算法B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达C.只有简单算法才能在有限的操作步骤之后结束D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来描述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。
由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。
国家二级C++机试(C++流)模拟试卷2(题后含答案及解析)
国家二级C++机试(C++流)模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.下列关于C++流的说明中,正确的是( )。
A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin是一个预定义的输入流类D.输出流有一个名为open的成员函数,其作用是生成一个新的流对象正确答案:A解析:此题考查的是C++流的概念。
从输入流中提取数据称为提取操作,把表达式插入到输出流中的操作称为插入操作,故选项B错误:cin是一个预定义的输入流对象而不是流类,故选项C错误;输入输出流中没有open成员函数,故选项D错误。
知识模块:C++流2.在语句cin>>data;中,cin是( )。
A.C++的关键字B.类名C.对象名D.函数名正确答案:C解析:此题考查的是预定义流对象。
C++有4个预定义的流对象:cin一标准输入:cout一标准输出;cerr一标准出错信息输出:clog一带缓冲的标准出错信息输出。
知识模块:C++流3.如果利用C++流进行输入输出,下面的叙述中正确的是( )。
A.只能借助于流对象进行输入输出B.只能进行格式化输入输出C.只能借助于cin和cout进行输入输出D.只能使用运算符>>和<<进行输入输出正确答案:A解析:此题考查的知识点是C++流。
利用C++流既可以进行有格式输入输出,也可以进行无格式输入输出,所以选项B错误:CH的4个预定义的流对象为:cin一标准输入,cout一标准输出,cerr一标准出错信息输出,clog一带缓冲的标准出错信息输出,选项C错误;C++流除了可以使用提取“>>”插入“<<”进行输入输出外,还可以通过流对象的一些成员函数进行输入输出,故选项D 错误。
知识模块:C++流4.下列有关C++流的叙述中,错误的是( )。
A.C++操作符setw设置的输出宽度永久有效B.C++操作符endl可以实现输出的回车换行C.处理文件I/O时,要包含头文件fstreamD.进行输入操作时,eof( )函数用于检测是否到达文件尾正确答案:A解析:此题考查的是C++流。
国家二级C语言程序设计机试选择题模拟试卷2_真题-无答案
国家二级C语言程序设计机试(选择题)模拟试卷2(总分80,考试时间90分钟)1. 选择题1. 下列叙述中正确的是( )。
A. 一个算法的空间复杂度大,则其时间复杂度也必定大B. 一个算法的空间复杂度大,则其时间复杂度必定小C. 一个算法的时间复杂度太,则其空间复杂度必定小D. 算法的时间复杂度与空间复杂度没有直接关系2. 下列叙述中正确的是( )。
A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B. 循环队列中的元素个数随队头指针的变化而动态变化C. 循环队列中的元素个数随队尾指针的变化而动态变化D. 以上说法都不对3. 一个栈的初始状态为空。
现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 1,2,3,A,B,CB. C,B,A,1,2,3C. C,B,A,3,2,1D. 1,2,3,C,B,A4. 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。
A. 219B. 229C. 230D. 2315. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。
A. 9B. 10C. 45D. 906. 下列各项中,对对象概念描述正确的是( )。
A. 对象间的通信靠消息传递B. 对象是名字和方法的封装体C. 任何对象必须有继承性D. 对象的多态性是指一个对象有多个操作7. 下列各项中,不属于软件设计阶段任务的是( )。
A. 软件总体设计B. 算法设计C. 制订软件并确认测试计划D. 数据库设计8. 一般情况下,当对关系R和S进行自然连接时,要求R和s含有一个或者多个共有的( )。
A. 记录B. 行C. 属性D. 元组9. 下列各项与栈结构有关联的是( )。
A. 数组的定义域使用B. 操作系统的进程调度C. 函数的递归调用D. 选择结构的执行10. 有两个关系R和T如下:则由关系R得到关系T的操作是( )。
国家二级ACCESS机试选择题(数据库基础知识)模拟试卷6
国家二级ACCESS机试选择题(数据库基础知识)模拟试卷6(总分:64.00,做题时间:90分钟)一、选择题(总题数:32,分数:64.00)1.关系数据库管理系统中所谓的关系是指(分数:2.00)A.各元组之间彼此有一定的关系B.各字段之间彼此有一定的关系C.数据库之间彼此有一定的关系D.符合关系理论规定的二维表格√解析:解析:在关系数据库管理系统中,一个关系就是一张二维表,且须满足关系规范化理论,所以选项D正确。
2.某学校有“教师”(教师号、教师名)、“学生”(学号、学生名)和“课程”(课程号,课程名)等三个表,若规定一名教师可主讲多门课程,一名学生可选修多门课程,则教师与学生之间形成了多对多关系。
为反映这样的多对多关系并减少数据冗余,在数据库中应设计新表。
下列关于新表的设计中,最合理的设计是(分数:2.00)A.增加两个表:学生-选课表(学号、课程号),教师-任课表(教师号、课程号) √B.增加两个表:学生-选课表(学号、课程号、课程名),教师-任课表(教师号、课程号、课程名)C.增加一个表:学生-选课-教师表(学号、课程号、教师号)D.增加一个表:学生-选课-教师表(学号、学生名、课程号、课程名、教师号、教师名)解析:解析:目前已建立教师、学生、课程三个基本表,另外一名教师可主讲多门课程、一名学生可选修多门课程,因此应增加学生选课表(学号、课程号)和教师任课表(教师号、课程号)来反应以上关系。
课程名可通过课程号字段关联“课程”表来获得,因此不需要增加课程名字段在以上两个表中。
3.下列关于字段大小属性的叙述中,错误的是(分数:2.00)A.字段大小属性用于限制输入到字段中值的最大长度B.字段大小属性只适用于文本或自动编号类型的字段√C.文本型字段的字段大小属性可以在数据表视图中设置D.自动编号型的字段大小属性不能在数据表视图中设置解析:解析:“字段大小”属性用于限制输入到该字段的最大长度,当输入的数据超过该字段设置的大小时,系统将拒绝接收。
国家二级C语言机试(操作题)模拟试卷810(题后含答案及解析)
国家二级C语言机试(操作题)模拟试卷810(题后含答案及解析) 全部题型 2. 程序填空题 3. 程序修改题 4. 程序设计题程序填空题1.函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。
例如,主函数中给出了4名学生的数据,则程序运行的结果为:学号:N1002学号:N1006共有2位学生有不及格科目请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>typedef struct{char num[8];double score[2];/* * * * * * found * * * * * */}___(1)___;int fun(STU std[],int n){int i,k=0;for(i=0;i<n;i+ +)/* * * * * * found * * * * * */if(std[i].score[0]<60___(2)___std[i].score[1]<60){k+ +;printf(″学号:%s″,std[i].num);}/* * * * * * found * * * * * */return___(3)___;}main( ){STU std[4]={″N1001″,76.5,82.0,″N1002″,53.5,73.0,″N1005″,80.5,66.0.″N1006″,81.0,56.0};printf(″\n共有%d位学生有不及格科目\n″,fun(std,4));}正确答案:(1)STU (2)||(3)k解析:本题考查:对结构体的定义和使用,以及逻辑运算符的使用。
填空1:STU结构体别名,通过main( )中的语句可知。
填空2:||只要学生两门课成绩有不及格的,就算不及格,因此使用或运算。
2021年全国计算机二级等级考试全真模拟试卷及答案(六)
2021年全国计算机二级等级考试全真模拟试卷及答案(六)1.下列叙述中正确的是A) 所谓算法就是计算方法B) 程序可以作为算法的一种描述方法C) 算法设计只需考虑得到计算结果D) 算法设计可以忽略算法的运算时间参考答案:B2.下列各序列中不是堆的是A) (91,85,53,36,47,30,24,12)B) (91,85,53,47,36,30,24,12)C) (47,91,53,85,30,12,24,36)D) (91,85,53,47,30,12,24,36)参考答案:C3.深度为5的完全二叉树的结点数不可能是A) 15B) 16C) 17D) 18参考答案:A4.A) ABDEGCFHB) DBGEAFHCC) DGEBHFCAD) ABCDEFGH参考答案:A5.下面描述不属于软件特点的是A) 软件是一种逻辑实体,具有抽象性B) 软件在使用中不存在磨损、老化问题C) 软件复杂性高D) 软件使用不涉及知识产权参考答案:D6.下面对类-对象主要特征描述正确的是A) 对象唯一性B) 对象无关性C) 类的单一性D) 类的依赖性参考答案:A7.在数据库中,数据模型包括数据结构、数据操作和A) 数据约束B) 数据类型C) 关系运算D) 查询参考答案:A8.一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般都有一个教练,则实体运动队和队员的联系是A) 一对多B) 一对一C) 多对一D) 多对多参考答案:A9.设循环队列为Q(1: m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=30,rear=10。
现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为A) 19B) 20C) m-19D) m-20参考答案:D10.A) 投影B) 交C) 选择D) 并参考答案:A11.关于C语言标识符,以下叙述错误的是A) 标识符可全部由数字组成B) 标识符可全部由下划线组成C) 标识符可全部由小写字母组成D) 标识符可全部由大写字母组成参考答案:A12.以下叙述正确的是A) 只使用三种基本结构即可解决任何复杂问题B) C语言程序并不是必须要定义main()函数C) 只要程序包含了任意一种基本结构,就肯定是结构化程序D) 程序中的语法错误只能在运行时才能显现参考答案:A13.以下选项中,合法的数值型常量是A) 3.2B) 'X'C) 099D) 0xEH参考答案:A14.有以下程序#include <stdio.h>main( ){int x = 0x13;printf("INT:%d\n", x+1);}程序运行后的输出结果是A) INT:14B) INT:13C) INT:12D) INT:20参考答案:D15.设有定义:int x=7,y=12;,则以下表达式值为3的是A) (y%=x)-(x%=5)B) y%=(x%=5)C) y%=x-x%5D) y%=(x-x%5)参考答案:A16.以下不是合法C语言转义字符的是A) '\c'B) '\a'C) '\b'D) '\r'参考答案:A17.有如下程序#include <stdio.h>main( ){int i;for (i=0; i<5; i++)putchar('Z' - i);}程序运行后的输出结果是A) 'X''Y''Z''W''V'B) VWXYZC) ZYXWVD) 'ABCDE'参考答案:C18.字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是A) if(strcmp(a,b)==0)B) if(strcpy(a,b))C) if(a==b)D) if(a=b)参考答案:A19.以下程序段中,与其他三个功能不同的程序段是A) s=0;i=1;for( ; ; ) {s+=i; i++; if(i<=10) break;} B) s=0,i=1;for( ; i<=10; ) {s+=i,i++;}C) s=0;for(i=1; i<=10; i++) {s+=i;}D) for(s=0,i=1; i<=10; s+=i,i++) ; 参考答案:A20.有以下程序#include <stdio.h>main( ){ int x=1, y=2, z=3;if(x>1)if(y>x) putchar('A');else putchar('B');elseif(z<x) putchar('C');else putchar('D');}程序的运行结果是A) DB) CC) BD) A参考答案:A21.有语句:k=x<y ?(y<z?1:0):0; ,以下选项中,与此语句功能相同的是A) if(x<y || y<z) k=1; else k=0;B) if(x<y) k=0; else if(y<z) k=1;C) if(x<y) if(y<z) k=1;else k=0;D) if(x<y && y<z) k=1; else k=0;参考答案:D22. 有如下程序#include <stdio.h>void change(int* array, int len){for (; len>=0; len--)array[len] -= 1;}main( ){int i, array[5] = {2,2};change(array, 4);for (i=0; i<5; i++)printf("%d,", array[i]); printf("\n");程序运行后的输出结果是A) 1,1,-1,-1,-1,B) 1,0,-1,1,-1,C) 1,1,1,1,1,D) 1,-1,1,-1,1,参考答案:A23.有以下程序#include <stdio.h>main( ){char* p1 = 0;int* p2 = 0;float* p3 = 0;printf("%d,%d,%d\n", sizeof(p1), sizeof(p2), sizeof(p3));}程序运行后的输出结果是A) 1,4,8B) 4,4,4C) 1,2,4D) 1,1,4参考答案:B24. 有以下程序段int *p1,*p2,a[10];p1=a;p2=&a[5];则p2-p1的值为A) 5B) 10C) 12D) 无法确定参考答案:A25.以下叙述中错误的是A) 基类型不同的指针可以直接相互赋值B) 函数可以通过指针形参向所指单元传回数据C) 字符型指针可以指向一个字符串D) 指针的运用可使程序代码效率更高参考答案:A26. 有以下程序#include <stdio.h>main( ){ int i,j = 0;char a[] = "How are you", b[10] = {0}; for (i=0; a[i]; i++)if (a[i] == ' ')b[j++] = a[i+1];printf("%s\n",b);}程序运行后的输出结果是A) HayB) HowareyouC) weD) ay参考答案:D27. 有以下程序#include <stdio.h>main( ){ char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"};int i,j;for (i=0; i<5; i++){ j=0;while (a[i][j]!='\0') j++;w[i] = a[i][j/2+1];}w[5]= '\0';puts(w);程序运行后的输出结果是A) ekpuzB) agmrwC) flqvzD) djoty参考答案:A28.有以下程序#include <stdio.h>main( ){ int i,j = 0;char a[] = "How are you!", b[10] = {0}; for (i=0; a[i]; i++)if (a[i] == ' ')b[j++] = a[i-1];printf("%s\n", b);}程序运行后的输出结果是A) weB) Howareyou!C) ayD) we!参考答案:A29.以下涉及字符串数组、字符指针的程序段,没有编译错误的是A) char* str, name[5];str = "C/C++";B) char* str, name[6];name = "Hello";C) char str1[7] = "prog.c", str2[8]; str2 = str1;D) char line[];参考答案:A30.有如下程序#include <stdio.h>void get_put(){char ch;ch = getchar();if (ch != '\n') get_put();putchar(ch);}main( ){get_put();}程序运行时,输入ABCD<回车>,则输出结果是A) DCDCB) DCBAC) BABAD) ABCD参考答案:B31.有以下程序#include <stdio.h>main( ){char name[10] = {'S', 'T', 'R'}; name[2] = '#'; name[6] = 0;printf("%s\n", name);}程序运行后的输出结果是A) ST#B) STR#C) STR#0D) STR0参考答案:A32. 有以下函数int fun(char *ps){ char *p;p=ps;if(*ps==0) return 0; while(*++p);return(p-ps);}该函数的功能是A) 计算字符串的长度B) 实现字符串的赋值C) 将字符串逆序存放D) 计算字符串所占字节数参考答案:A33.有以下函数void fun(char *p, char *q){ while ((*p++ = *q++) != '\0'); } 该函数的功能是A) 计算字符串的长度B) 计算字符串所占字节数C) 将字符串逆序存放D) 实现字符串的复制参考答案:D34. 以下叙述错误的是A) 未经赋值的全局变量值不确定B) 未经赋值的auto变量值不确定C) 未经赋值的register变量值不确定D) 未经赋值的静态局部变量值为0 参考答案:A35.有以下程序#include <stdio.h>main( ){ int c, d;c = 10^3;d = 10+3;printf("%d,%d\n", c, d);}程序运行后的输出结果是A) 103,13B) 13,13C) 10,13D) 9,13参考答案:D36.有以下程序#include <stdio.h>#include <string.h>typedef struct stu {char name[10];char gender;int score;} STU;void f(char *name, char *gender, int *score) { strcpy(name, "Qian");*gender = 'f';*score = 350;}main( ){ STU a = {"Zhao", 'm', 290}, b;b = a;f(, &b.gender, &b.score);printf("%s,%c,%d,", , a.gender, a.score); printf("%s,%c,%d\n", , b.gender, b.score);}程序运行后的输出结果是A) Zhao,m,290,Qian,f,350B) Zhao,m,290,Zhao,m,290C) Zhao,m,290,Qian,m,350D) Zhao,m,290,Qian,m,290参考答案:A37.有如下程序#include <stdio.h>main( ){int a = 9, b;b = (a >> 3) % 4;printf("%d,%d\n", a, b);}程序运行后的输出结果是A) 9,1B) 4,0C) 4,3D) 9,3参考答案:A38. 有如下定义:struct{ int num;char name[10];struct{ int y; int m; int d;} birth;} s,*ps=&s;以下对内嵌结构体成员的引用形式错误的是A) ps.birth.yB) s.birth.yC) ps->birth.yD) (*ps).birth.y参考答案:A39. 函数rewind(fp)的作用是A) 函数rewind(fp)的作用是使文件读写指针指向文件开始位置B) 使文件位置指针指向文件的末尾C) 使文件位置指针移至前一个字符的位置D) 使文件位置指针移至下一个字符的位置参考答案:A40.以下选项中错误的是A) a&=b 与 a=a&b 等价B) a^=b 与 a=a^b 等价C) a|=b 与 a=a|b 等价D) a!^=b 与 a=a!^b 等价参考答案:D赠送励志修身名言警句可怕的敌人,就是没有坚强的信念。
国家二级C语言机试模拟试卷120_真题-无答案
国家二级(C语言)机试模拟试卷120(总分86,考试时间90分钟)1. 选择题1. 下列关于栈和队列的描述中,正确的是( )。
A. 栈是先进先出B. 队列是先进后出C. 队列允许在队头删除元素D. 栈在栈顶删除元素2. 已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是( )。
A. ABCDEB. ECABDC. EACDBD. CDEAB3. 在数据流图中,带有箭头的线段表示的是( )。
A. 控制流B. 数据流C. 模块调用D. 事件驱动4. 结构化程序设计的3种结构是( )。
A. 顺序结构,分支结构,跳转结构B. 顺序结构,选择结构,循环结构C. 分支结构,选择结构,循环结构D. 分支结构,跳转结构,循环结构5. 下列方法中,不属于软件调试方法的是( )。
A. 回溯法B. 强行排错法C. 集成测试法D. 原因排除法6. 下列选项中,不属于模块间耦合的是( )。
A. 内容耦合B. 异构耦合C. 控制耦合D. 数据耦合7. 下列特征中不是面向对象方法的主要特征的是( )。
A. 多态性B. 标识惟一性C. 封装性D. 耦合性8. 在数据库设计中,将E—R图转换成关系数据模型的过程属于( )。
A. 需求分析阶段B. 概念设计阶段C. 逻辑设计阶段D. 物理设计阶段9. 在一棵二叉树上,第5层的结点数最多是( )。
A. 8B. 9C. 15D. 1610. 下列有关数据库的描述,正确的是( )。
A. 数据库设计是指设计数据库管理系统B. 数据库技术的根本目标是要解决数据共享的问题C. 数据库是一个独立的系统,不需要操作系统的支持D. 数据库系统中,数据的物理结构必须与逻辑结构一致11. 以下关于C语言的叙述中正确的是( )。
A. 预处理命令通常位于函数体外面,但也可以位于函数体中间B. C语言中的变量定义须在其他语句之前C. 在C语言程序的书写中,一个语句必须单占一行D. —个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的ma1n函数12. 下列叙述中错误的是( )。
二级建造师机电工程考试题库【3套练习题】模拟训练含答案(第6次)
二级建造师机电工程考试题库【3套练习题】模拟训练含答案答题时间:120分钟试卷总分:100分姓名:_______________ 成绩:______________第一套一.单选题(共20题)1.机械设备安装找平过程中,将设备调整到设计或规范规定的水平状态的方法是()。
A.千斤顶顶升B.调整调节螺钉C.调整垫铁高度D.楔入专用斜铁器2.对渐进式安全钳,轿厢应载有均匀分布的()额定载重量。
A.125%C.200%D.250%3.【真题】施工单位在电缆保护区实施爆破作业时,制定爆破施工方案应()。
A.邀请地方建设管理部门参与B.报当地电力管理部门批准C.及时与地下电缆管理部门沟通D.邀请地下电缆管理部门派员参加4.解体的大型减速机安装时,一次灌浆应在()进行。
A.底座就位后B.底座粗找正后C.整体精找正后D.底座精找正后5.低压缸组合安装中,低压内缸的通流间隙调整工作应在()进行。
A.低压内缸就位找正后B.隔板调整前C.低压转子吊入汽缸前D.低压转子在汽缸内定位后6.室内排水立管及水平干管通球试验,通球球径不小于排水管径的()。
A.1/2B.3/5D.4/57.管道系统压力试验前,管道上的膨胀节应()。
A.隔离B.拆除C.设置临时约束装置D.处于自然状态8.控制机械设备安装精度应从人、机、料、法、环等方面着手,尤其强调()的因素。
A.施工工艺B.人员C.施工机械和测量器具D.环境9.安装在可能产生逆流场合的涡轮式流量变送器,其下游侧应装设()。
A.球阀B.直阀C.蝶阀D.止回阀10.不能受机械外力的作用,适用于室内的电力电缆型号是()。
A.VLV、VV型B.VLV22、VV22型C.YFLV、YJV型D.VLV32、VV32型11.【真题】并列明敷电缆的中间接头应()。
A.位置相同B.用托板托置固定C.配备保护盒D.安装检测器12.水准测量原理是利用水准仪和水准标尺,根据水平视线原理测定两点()的测量方法。
国家二级C语言(程序设计基础和软件工程基础)机试模拟试卷6(题后
国家二级C语言(程序设计基础和软件工程基础)机试模拟试卷6(题后含答案及解析)题型有:1. 选择题选择题1.下列叙述中正确的是A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只驭决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上都不正确正确答案:A解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。
顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。
其中,链式存储结构的效率要高一些。
知识模块:程序设计基础和软件工程基础2.下列描述中,不符合良好程序设计风格要求的是A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息正确答案:A解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。
程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。
著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
知识模块:程序设计基础和软件工程基础3.结构化程序所要求的基本结构不包括A.顺序结构B.GOTO跳转C.选择(分支)结构D.重复(循环)结构正确答案:B解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。
知识模块:程序设计基础和软件工程基础4.下列选项中不属于结构化程序设计原则的是A.可封装B.自顶向下C.模块化D.逐步求精正确答案:A解析:结构化设计方法的主要原则可以概括为自项向下、逐步求精、模块化、限制使用GOTO语句。
知识模块:程序设计基础和软件工程基础5.结构化程序设计的基本原则不包括A.多元性B.自顶向下C.模块化D.逐步求精正确答案:A解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。
知识模块:程序设计基础和软件工程基础6.下列选项中不属于结构化程序设计方法的是A.自顶向下B.逐步求精C.模块化D.可复用正确答案:D解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用GOTO语句。
国家二级C语言机试(选择题)模拟试卷11(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷11(题后含答案及解析) 题型有:1. 选择题选择题1.下面描述中不属于数据库系统特点的是()。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高正确答案:C解析:数据库系统的特点是数据的集成性;数据的高共享性和低冗余性;数据独立性;数据统一管理与控制。
所以答案选择C。
知识模块:数据库设计基础2.数据库设计过程不包括()。
A.概念设计B.逻辑设计C.物理设计D.算法设计正确答案:D解析:数据库设计过程包括需求分析、概念设计、逻辑设计和物理设计,所以答案选D。
知识模块:数据库设计基础3.在关系模型中,每一个二维表称为一个()。
A.关系B.属性C.元组D.主码(键)正确答案:A解析:关系模型采用二维表来表示,一个二维表表示一个关系。
知识模块:数据库设计基础4.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是()。
A.一对一B.一对多C.多对一D.多对多正确答案:B解析:实体A和B是一对多的联系,实体A中的一个实体对应B中的多个实体,而实体B和C是一对一的联系,实体B中的一个实体对应C中的一个实体,所以实体A中的一个实体对应C中的多个实体,反过来,实体C中的一个实体对应A中的一个实体,所以实体A和C是一对多的联系。
知识模块:数据库设计基础5.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。
A.记录B.行C.属性D.元组正确答案:C解析:进行自然连接时要求两个关系具有相同列,即属性。
知识模块:数据库设计基础6.有表示公司和职员及工作的三张表,职员可在多家公司兼职。
其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为()。
A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资正确答案:A解析:公司号是公司C表的主键,职员号是职员S表的主键,所以工作W 表的关键字就应该是与前两个表能够直接联系且能唯一定义的公司号和职员号,所以选择A)。
国家二级C语言机试(选择题)模拟试卷216(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷216(题后含答案及解析) 题型有:1.1.设有定义:long x=745321L,则能正确输出变量x的语句是( )。
A.printf(“x=%d\n”,x);B.printf(“x=%LD\n”,x);C.printf(“x=%d1\n”,x);D.printf(“x=%1d\n”,x);正确答案:D解析:本题考查C语言中长整型数据的输出。
在题中格式控制符只有采用格式字符%1d,且必须是小写字母d,才能表示输出长整型数据x。
知识模块:C语言程序设计2.下面对对象概念描述正确的是( )。
A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作正确答案:A解析:对象是面向对象方法中最基本的概念。
操作描述了对象执行的功能,通过消息传递,还可以为其他对象使用。
操作过程是被封装在对象中,用户看不到,称之为对象的封装性。
对象的多态性是指同一个操作可以是不同对象的行为。
不是所有的对象都必须有继承性。
知识模块:二级公共基础知识3.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63B.64C.6D.7正确答案:B解析:顺序查找又称顺序搜索。
顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。
如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。
知识模块:公共基础知识4.下列有关宏的叙述中不正确的是( )。
A.宏名必须用大写字母表示B.双引号中出现的宏名不进行替换C.宏名无类型D.和其他语句的编译同时进行正确答案:A解析:本题考查宏的使用规则:①字符替换格式为“#define标识符字符串”,其中“标识符”称为宏名,无类型;②双引号中出现的宏名不替换;③宏名的定义通常用大写字母,但不是必须用大写字母;④宏定义不是赋值语句,不做语法检查。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级C++机试(C++流)模拟试卷6(总分:44.00,做题时间:90分钟)一、选择题(总题数:22,分数:44.00)1.下列关于C++流的说明中,正确的是( )。
(分数:2.00)A.与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现√B.从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作C.cin是一个预定义的输入流类D.输出流有一个名为open的成员函数,其作用是生成一个新的流对象解析:解析:此题考查的是C++流的概念。
从输入流中提取数据称为提取操作,把表达式插入到输出流中的操作称为插入操作,故选项B错误;cin是一个预定义的输入流对象而不是流类,故选项C错误;输入输出流中没有open成员函数,故选项D错误。
2.在语句cin>>data;中,cin是( )。
(分数:2.00)A.C++的关键字B.类名C.对象名√D.函数名解析:解析:此题考查的是预定义流对象。
C++有4个预定义的流对象:cin—标准输入;cout—标准输出;cerr—标准出错信息输出:clog—带缓冲的标准出错信息输出。
3.如果利用C++流进行输入输出,下面的叙述中正确的是( )。
(分数:2.00)A.只能借助于流对象进行输入输出√B.只能进行格式化输入输出C.只能借助于cin和cout进行输入输出D.只能使用运算符>>和<<进行输入输出解析:解析:此题考查的知识点是C++流。
利用C++流既可以进行有格式输入输出,也可以进行无格式输入输出,所以选项B错误;C++的4个预定义的流对象为:cin—标准输入,cout—标准输出,cerr—标准出错信息输出,clog—带缓冲的标准出错信息输出,选项C错误;C++流除了可以使用提取“>>”插入““”进行输入输出外,还可以通过流对象的一些成员函数进行输入输出,故选项D错误。
4.下列有关C++流的叙述中,错误的是( )。
(分数:2.00)A.C++操作符setw设置的输出宽度永久有效√B.C++操作符end1可以实现输出的回车换行C.处理文件I/O时,要包含头文件fstreamD.进行输入操作时,eof()函数用于检测是否到达文件尾解析:解析:此题考查的是C++流。
C++操作符setw0的作用是设置输入输出宽度,且只对当前一次有效,并非永久有效,故选项A叙述错误。
5.在语句“cout<<'A';”中,cout是( )。
(分数:2.00)A.类名B.对象名√C.函数名D.C++的关键字解析:解析:C++有四个预定义的流对象:cin标准输.cout标准输出,cerr标准出错信息输出,clog带缓冲的标准出错信息输出。
6.下列关于C++流的描述中,错误的是( )。
(分数:2.00)A.cout>>'A'表达式可输出字符A √B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件fstreamD.以ios_base::out模式打开的文件不存在时,将自动建立一个新文件解析:解析:Cout是一个标准输出流对象。
>>称之为提取运算符,它的功能是从输入流中提取数据赋值给一个变量。
<<为插入运算符,其功能是把表达式的值插入到输出流中。
当系统执行cout<<x操作时,首先根据x值的类型调用相应的插入运算符重载器函数,把x的值传送给对应的形参,接着执行函数体,把x的值输出到显示器屏幕上,在当前屏幕光标位置处显示出来,然后返回ostream流,以便继续使用插入运算符输出下一个表达式的值。
对于本题来说,要输出字符‘A’的值应该写成cout<'A',因而选项A)是错误的。
7.在C++中,cin是一个( )。
(分数:2.00)A.类B.对象√C.模板D.函数解析:解析:Cin为istream流类的对象。
8.下列关于C++预定义流对象的叙述中,正确的是( )。
(分数:2.00)A.cin是C++预定义的标准输入流对象√B.cin是C++预定义的标准输入流类C.cout是C++预定义的标准输入流对象D.cout是C++预定义的标准输入流类解析:解析:Cin为istream流类的标准输入对象,标准输入设备就是指键盘。
9.C++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是( )。
(分数:2.00)A.coutB.cinC.cerrD.cset √解析:解析:C++流有4个预定义的流对象,它们分别是:cin标准输入;cout标准输出;cerr标准出错信息输出:clog带缓冲的标准出错信息输出。
10.要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。
(分数:2.00)A.fstreamB.istrearaireamD.iomanip √解析:解析:要使用setw、fixed等操作符,须包含iomanip这个文件。
11.在C++中,打开一个文件时与该文件建立联系的是( )。
(分数:2.00)A.流对象√B.模板C.函数D.类解析:解析:在C++中,打开一个文件时与该文件建立联系的是流对象。
12.下列关于输入输出流的叙述中,正确的是( )。
(分数:2.00)A.一个文件流可以与一个数据文件相联系√B.cin是专门从键盘输入数据的输入流类C.流运算符<<用来从输入流中读取数据D.宽度设置的效果永久有效解析:解析:当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的流对象,另一个是文件对象。
程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对所连接的文件对象产生作用。
13.在C++中既可以用于文件输入又可以用于文件输出的流类是( )。
(分数:2.00)A.fstream √B.ifstreamC.ofstreamD.iostream解析:解析:文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。
ifstream是文件输入流类,ofstream是文件输出流类,fstream是文件输入输出流类,当使用cin、cout的预定义流对象进行针对标准设备的I/O操作,则需要使用iostream文件。
14.对于语句cout<<end<<x;中的各个组成部分,下列叙述中错误的是( )。
(分数:2.00)A.cout是一个输出流对象B.end1的作用是输出回车换行C.x是一个变量D.<<称作提取运算符√解析:解析:此题考查的是C++语言的输出流。
符号“<<”是预定义插入符,提取运算符是“>>”。
15.有如下程序: #inc1ude<iostream> using namespace std; int main() { cout.fill('*');cout.width(6); cout.fill('#'); cout<<123<<end1; retum 0; } 执行后的输出结果是( )。
(分数:2.00)A.##123 √B.123##C.***123D.123***解析:解析:此题考查的是I/O格式化输出。
函数width(int n)设置输入输出宽度,当实际数据宽度小于制定的宽度时,多余的位置用填充字符填满;当实际数据宽度大于设置的宽度时,仍按实际宽度输出;函数fill(charc)用来设置填充字符。
16.下面关于C++流的叙述中,正确的是( )。
(分数:2.00)A.cin是一个输入流对象√B.可以用ifstream定义一个输出流对象C.执行语句序列char *y="PQMN";cout<<y;将输出字符串"PQMN"的地址D.执行语句序列char x[80];cin.getline(x,80);时,若键入Happy new year 则x中的字符串是"Happy" 解析:解析:此题考查的是C++流的概念和I/O的格式化。
cin是类的对象,亦即输入流对象;ifstream是输入文件流类,不能定义一个输出流对象:C选项中最后输出的是字符串“PQMN”;D选项中x中字符串应该是“Happy new year”。
17.有如下程序: #inc1ude<iostream> #inc1ude<iomanip> using namespace std; int main() { cout.fill('*'); cnut<<left<<setw(4)<<123<<"OK"<<end1; return (); } 执行这个程序的输出结果是( )。
(分数:2.00)A.123*OK √B.123*OK**C.*123OKD.*123**OK解析:解析:此题考查了输出流的格式控制。
cout的fill()是设置填充字符;left和end1分别是使输出数据左对齐和换行:setw()函数的作用是设置输入输出的宽度,此设置效果只对以此输入或输出有效。
此题中,输出整数123时宽度为4且左对齐,得到“123*”;输出字符串“OK”时宽度没有定义实际大小输出,结果得到OK;故最后得到的输出结果是123*OK。
18.下列关于输入流类成员函数getline()的描述中,错误的是( )。
(分数:2.00)A.该函数是用来读取键盘输入的字符串的√B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格解析:解析:此题考查的是getline()函数。
getline()函数的原型为:istream.__t)rpe&getline(char_type*s,streamsize,char_type delim);。
其功能是从当前输入位置开始提取字符存入s所指向的具有n个字节的字符空间中。
遇到以下情况时停止:已提取并存储了n—1个字符;到流尾,无字符可取;下一个要提取的字符等于结束标志字符delim。
故选项B、C、D都是正确的。
getline()函数不仅可以用来读取键盘输入的字符串,还可以用来读取文件等数据流,故选项A错误。
19.有如下程序 #inc1ude<iostream> #inc1ude<iomanip> using namespace std; int main(){ cout <<setprecision(3)<<fixed<<setfill('*')<<setw(8); cout<<12.345<<<<34.567; return 0; } 若程序的输出是: **12.345**34.567 则程序中下划线处遗漏的操作符是( )。
(分数:2.00)A.setprecision(3)B.fixedC.setfill('*')D.setw(8) √解析:解析:此题考查的是输出函数的格式控制。