计算机二级考试真题及答案

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

计算机二级考试真题及答案

笔试部分一、选择题1.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及A)数据的存储结构B)计算方法C)数据映象D)逻辑存储【参考答案】A2.串的长度是A)串中不同字符的个数B)串中不同字母的个数C)串中所含字符的个数且字符个数大于零D)串中所含字符的个数【参考答案】D3.在计算机中,算法是指A)加工方法B)解题方案的准确而完整的描述C)排序方法D)查询方法【参考答案】B4.下列不属于软件工程的3个要素的是()A.工具B.过程C.方法D.环境【参考答案】D5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做A)软件投机B)软件危机C)软件工程D)软件产生【参考答案】B6.下面不属于软件设计原则的是A)抽象  B)模块化nC)自底向上  D)信息隐蔽【参考答案】C7.开发大型软件时,产生困难的根本原因是A)大系统的复杂性B)人员知识不足C)客观世界千变万化D)时间紧、任务重【参考答案】A8.下列SQL语句中,用于修改表结构的是A)ALTERB)CREATEC)UPDATED)INSERT【参考答案】A9.数据库、数据库系统和数据库管理系统之间的关系是A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)3者没有明显的包含关系【参考答案】B10.关系模型允许定义3类数据约束,下列不属于数据约束的是A)实体完整性约束B)参照完整性约束C)域完整性约束D)用户自定义的完整性约束【参考答案】C11.C++语言中标点符号中表示一条预处理命令开始的是nA)#B);C)*D){【参考答案】A12.每个C++程序中都必须有且仅有一个A)类B)预处理命令C)主函数D)语句【参考答案】C13.sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式【参考答案】B14.设有intx=11;,则表达式(x++*2/3)的值是A)7B)8C)11D)12【参考答案】A15.设有程序段intk=10;while(k=0)k=k-1;A)循环执行10次B)无限循环C)循环体语句一次也不执行D)循环体语句执行一次【参考答案】C16.对表达式for(表达式1;;表达式3)可理解为A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)nC)for(表达式1;表达式3;)D)for(;;表达式3)【参考答案】B17.以下不正确的定义语句是A)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5]={0,1,3,5,7,9};C)charc1[]={′1′,′2′,′3′,′4′,′5′};D)charc2[]={′x10′,′xa′,′x8′};【参考答案】B18.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A)*p+9    B)*(p+8)C)*p+=9   D)p+8【参考答案】B19.下列函数的运行结果是#includeintf(inta,intb){intc;if(a》b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}nvoidmain(){inti=2,j=3;intp=f(i,j);cout《《p;}A)-1B)1C)2D)编译出错,无法运行【参考答案】A20.以下对C++函数的有关描述中,正确的是A)在C++语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B)C++函数既可以嵌套定义又可以递归调用C)函数必须无返回值,否则不能使用函数D)函数必须有返回值,返回值类型不定【参考答案】A21.关于静态数据成员的描述中正确的是A)类的静态数据成员不是类的所有对象共享的数据B)类的静态数据成员不能被类的成员函数调用C)类的静态数据成员不能被类的构造函数调用D)类的静态数据成员必须进行初始化【参考答案】D22.拷贝构造函数的参数一般是A)某对象名B)某对象成员名C)某对象的引用名D)指向对象的指针名【参考答案】C23.下表正确的是n在父类中的访问属性访问修饰符在子类中的访问属性A)publicprivate不能直接访问B)protectpublicpublicC)privatepublic不能直接访问D)protectprivateprotect【参考答案】C24.下面这个程序的结果是#includeclassA{private:inta;public:voidseta();intgeta();};voidA::seta(){a=1;}intA::geta(){returna;}classB{private:inta;public:voidseta();intgeta();};voidB::seta(){a=2;}nintB::geta(){returna;}classC:publicA,publicB{private:intb;public:voiddisplay();};voidC::display(){intb=geta();cout《《b;}voidmain(){Cc;c.seta();c.display();}A)1B)2C)随机输出1或2D)程序有错【参考答案】D25.下列运算符中全都可以被友元函数重载的是A)=,+,-,          B)[],+,(),newC)-》,+,*,》》         D)《《,》》,+,*【参考答案】D26.对于模板定义关键字class和typename说法不正确的是A)程序中的class并不能都替换为typenamenB)class和typename都可互相替换C)程序中的typename都能替换为classD)程序中的部分class可以替换为typename【参考答案】B27.对于下面的程序ifstreamfin(c:test.txt);if(fin)cout《《“ok”;elsecout《《“wrong”;对于if语句中的内容可以换为A)fin.fail();B)fin.bad();C)fin.good();D)fin.eof();【参考答案】C28.以下程序的输出结果是#includelongfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}voidmain(){cout《《fun(3);}A)1B)2C)3D)4n【参考答案】A29.不合法的main函数命令行参数表示形式是A)main(inta,char*c[])B)main(intarc,char**arv)C)main(intargc,char*argv)D)main(intargv,char*argc[])【参考答案】C30.有如下程序#includevoidmain(){charch[2][5]={“6937”,“8254”},*p[2];inti,j,s=0;for(i=0;i《2;i++)p[i]=ch[i];for(i=0;i《2;i++)for(j=0;p[i][j]》′′;j+=2)s=10*s+p[i][j]-′0′;cout《《s;}该程序的输出结果是A)69825    B)63825C)6385    D)693825【参考答案】C31.下面叙述不正确的是A)基类的保护成员在派生类中仍然是保护的成员B)基类的保护成员在公有派生类中仍然是保护的nC)基类的保护成员在私有派生类中仍然是私有的D)对基类成员的访问必须是无二义性【参考答案】A32.以下程序的输出结果是#includevoidmain(){charx=040;cout《《(x《《1);}A)100B)80C)64D)32【参考答案】C33.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是#includevoidmain(){inta,b,t;cin》》a》》b;while(){if(a》b){t=a;a=b;b=t;}cout《《a《《“”《《b《《endl;cin》》a》》b;}}A)!a=bB)a!=bC)a==bD)a=bn【参考答案】B34.对以下说明语句的正确理解是inta[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5]B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确【参考答案】B35.类A是类B的友元,类B是类C的友元,则下列说法正确的是A)类B是类A的友元B)类C是类A的友元C)类A是类C的友元D)以上都不对【参考答案】D二、填空题(1)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【1】。【参考答案】【1】n/2(2)用树型结构表示实体类型及实体间联系的数据模型称为【2】。【参考答案】【2】层次模型n(3)类是一个支持集成的抽象数据类型,而对象是类的【3】。【参考答案】【3】实例(4)数据流图的类型有【4】和事务型。【参考答案】【4】变换型(5)当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【5】。【参考答案】【5】物理独立性(6)在C++语言的面向对象程序设计框架中,【6】是程序的基本组成单元。【参考答案】【6】类(7)C++语言程序的注释可以出现在程序中的任何地方,一个注释以【7】作为开始和结束的标记。【参考答案】【7】/**/(8)以下程序的输出结果是【8】。#includevoidfun(){staticinta=0;a+=2;cout《《a《《“”;}nvoidmain(){intcc;for(cc=1;cc《4;cc++)fun();cout《《endl;}【参考答案】【8】246(9)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【9】;【参考答案】【9】malloc(11)或malloc(sizeof(char)*11(10)以下程序的输出结果是【10】。#includeunsignedfun(unsignednum){unsignedk=1;do{k*=num;num/=10;}while(num);returnk;}voidmain(){unsignedn=26;cout《《fun(n)《《endl;}【参考答案】n【10】12(11)下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA{public:A(intb);~A();private:int*a;};A::A(intb){【11】;}A::~A(){【12】;}【参考答案】【11】a=newint(b);【12】deletea(12)C++语言中的多态性是在编译时通过【13】和模板体现的,在运行时是通过【14】体现的。【参考答案】【13】函数重载【14】虚函数(13)将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【15】。【参考答案】【15】x.operator+(operator*(y,z))上机部分n一、改错题使用VC6打开考生文件夹下的工程kt15_1,此工程包含一个源程序文件kt15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:Previous=9,Next=11源程序文件kt15_1.cpp清单如下:#include/*****************found*****************/intmain(){intx=10,y,z;prevnext(x,y,z);cout《《“Previous=”《 
查看更多

相关文章

您可能关注的文档