2023年9月计算机二级c++试题及答案_第1页
2023年9月计算机二级c++试题及答案_第2页
2023年9月计算机二级c++试题及答案_第3页
2023年9月计算机二级c++试题及答案_第4页
2023年9月计算机二级c++试题及答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)-(10)、(21)・(40)每题2分,(11)-(20)每题1分洪70分)A(1)下列数据结构中,属于非线性结构的是A)循环队列AB)带链队列AC)二叉树D)带链栈A(2)下列数据结果中,可以按照“先进后出〃原则存取数据的是A)循环队列B)栈C)队列AD)二叉树(3)对于循环队列,下列叙述中对的的是Q队头指针是固定不变的AB)队头指针一定大于队尾指针C)队头指针一定小于队尾指针aD)队头指针可以大于队尾指针,也可以小于队尾指针△(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所解决的数据量aC)算法程序中的语句或指令条数&D)算法在执行过程中所需要的临时工作单元数a(5)软件设计中划分模块的一个准则是A)低内聚低耦合aB)高内聚低耦合C)低内聚高耦合D)高内聚高耦合a6(a)下列选项中不属于结构化程序设计原则的是234C)***123A***234D)***123234***△(35)有如下类定义classA{char*a;public:A():a(O){卜A(char*aa)(〃把aa所指字符串拷贝到a所指向的存储空间a=;strcpy(a,aa);strcpy(a,aa);a}a~a(){delete[]a;卜};横线处应填写的表达式是aA)neschar[str1en(aa)+1]char[strlen(aa)+1]char[str1cn(aa)]D)newchar[sizeof(aa)-1]二、填空题(每题2分,共30分)*a(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。(2)程序流程图中的菱形框表达的是一【2】o(3)软件开发过程重要分为需求分析、设计、编码与测试四个阶段,其中__01_产生”软件需求规格说明书a(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为【4】。a(5)人员基本信息一般涉及:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是」5】。会(6)若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为__161。(7)有如下循环语句:For(inti=50;i>20;i-=2)cout«i<<\':运营时循环体的执行次数是Q1。A(8)运用表达式a[i]可以访问int型数组a中下标为i的元素。在执行了语句int*p=a;后,运用指针p也可访问该元素,相应的表达式是_L1Lo(9)下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。会voidreverse(int*a,intsize){if(size<2)return;-*intk=a[0];a[0]=a[size-1];a[size_11=k;areverse(a+1、【9】);}AA(10)类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。④classSample{public:-*Sample(intdata=0);APrivate:Intdata;);Sample::Samp1e(intdata){【10】)(II)有如下类定义:ac1assSample{public:Samp1e();~Sample();aPrivate:aStaticintdate;a};将静态数据成员data初始化为0的语句是【II】一向(12)“图形"类Shape中定义了纯虚函数CalArea(),“三角形”类Triang1e继承了类Shape,请将Triangle类中的CalArea函数补充完整。classShape{-*public:virtua1intCa1Area()=0;a}classTriangle:publicShape{apublic:Triangle{ints,inth}:side(s),height(h){卜【12】{returnside*height/2;}aprivate:intsideintheight;}冷(13)有如下程序:a#include<iostream>usingnamespacestd;Ac1assGrandChild{Apublic:-*GrandChi1d(){strepy(name,“Unknown");}constchar*getName()const{returnname;}virtualchar*getAddress()const=0;private:charname[20];a)ac1assGrandSon:publicGrandChild{public:aGrandSon{char*name}{Char*getAddress()const{return"Shanghai";}};intmain(){aGrandChi1d*gs=newGrandSon(t4Fcifei");acout<<gs->getName()vv"住在“Vvgs->getAddress()«end1;•*de1etegs;areturn0;a}运营时的输出结果是[13]。(14)如下程序定义了“单词”类word,类中重载了〈运算符,用于比较“单词”的大小,返回相应的逻辑值。程序的输出结果为:AfterSorting:H叩pyWeIcome,请将程序补充完整。#include<iostream》#inc1ude<string>Ausingnamespacestd;classWord{public:aWord(strings):str(s){}stringgetStr(){returnstr;}a【14】const{return(str<w.str);)friendostream&operator«(ostream&output,constWord&w>{output«w.str;returnoutput;}aprivate:astringstr*};Intmain(){AWordwl("Happy"),w2("Welcome”);aCout<<MAftersorting:“泠if(w1<w2)cout<<wl<<,<«w2;eIsecout«w2<<,l«w1;return0;卜(15)请将下列模板类Data补充完整。tempiate<typenameT>aclassData{-*public:voidPut(Tv){va1=v;}a【15】get()〃返回数据成员va1的值,返回类型不加转於{returnva1;}-*privatesTva1;•*);2023年9月全国计算机等级考试二级C++笔试参考答案•、选择题(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)D(12)C(13)B(14)C(15)B(16)A(17)D(18)A(19)C(20)D(21)B(22)D(23)C(24)B(25)D(26)A(27)C(28)B(29)D(30)A(31)B(32)D(33)C(34)B(35)A二、填空题double⑺15(8)*(p+i)size-1this—>data=data;(11)intSample::data=0;(12)intCalArea(size,height)(13)Unknown住在Shanghai(14)booloperator<(Wordw)(15)TA)可封装AD)自顶向下C)模块化aD)逐步求精(27)有如下程序:#include<iostream>usingnamcspaccstd;classToy{Apublic:I'oy(char*_n){strcpy(name,_n);count++;}-Toy(){count-}char*GetName(){returnname;}astaticintgetCount()(returncount;卜private:charnamef10];staticintcount;a};aintToy::count=0;intmai1(){Toytl(<4Snoopyv),t2("Mickey"),t3("Barbie");Acout<<t1.getCount()«endl;return0;)运营时的输出结果是A)1aB)2C)3D)运营时犯错a(28)有如下程序a#includc<iostrcam>usingnamespaces(d;classA{public:A(inti):rl(i){}voidprinl(){coutvv'e'vvr1voidprint()const{cout<<*C,«rl*rl«,-*;)private:intr1;.4};intmain(){aAal(2);constAa2(4);A1,print();a2.print();Return0;I运营时的输出结果是A)运营时犯错B)E2-C16qC)C4-C16—aD)E2-E4-(11)已知函数FA调用FB,若要把这两个函数定义在同一个文献中,则FA必须定义在FB之前FB必须定义在FA之前aC)若FA定义在FB之后,则FA的原型必须出现在FB的定义之前D)若FB定义在FA之后,则FB的原型必须出现在FA的定义之前(12)有如下两个类定义aclassAA{};aclassBB{AAvl,*v2泠BBv3;Int*v4;a};其中有一个成员变量的定义是错误的,这个变量是aA)vMB)v2C)v>D)v4a(I3)有如下类定义:④c1assXX{intxdata;Apublic:aXX(intn=0):xdata(n){}a};aclassYY:publicXX{intydata;apublicsYY(inim=0,intn=0):XX(m),ydata(n){}

}溥YY类的对象包含的数据成员的个数是A)1B)2C)3D)4(14)下列有关运算符函数的描述中,错误的是A)运算符函数的名称总是以。perator为前缀B)运算符函数的参数可以是对象aC)运算符函数只能定义为类的成员函数D)在表达式中使用重载的运算符相称于调用运算符重载函数a(15)下列关于模板形参的描述中,错误的是A)模板形参表必须在关键字template之后B)模板形参表必须用括弧()括起来C)可以用class修饰模板形参aD)可以用typename修饰模板形参a(16)在下列枚举符号中,用来表达“相对于当前位置”文献定位方式的是aA)ios_base::cuaB)ios_base::begios_base::out-*D)ios_base::enda(17)下列字符串可以用作C++标记符的是aA)2023varAB)goto^C)test-2023D)」23Aa(18)下列枚举类型的定义中,包含枚举值3的是aA)enumtest{RED,YELLOW,BLUE,BLACK);B)enumtest{RED,YELLOW=4,BLUE,BLACK}C)enunitest{RED=-l,YELLOW,BLUE,BLACK}:aD)enumtest{RED,YELLOW=6,BLUE,BLACK);(19)有如下程序段:nti=1;awhile(1){i++i++;ajf(ii++;i++;ajf(i10)break;if(i%2==0)cout<<执行这个程序段输出字符*的个数是A)10B)>C)4D)5A(20)已知数组arr的定义如下:aintarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是cout«*arr+1<<endl;AB)cout<<*(arr+l)<<endl;C)cout«arr[l]«endl;^D)cout<<*arr«end1;(21)计算斐波那契数列第n项的函数定义如下:Intfib(intn){-*if(n==0)return1;>elseif(n==1)return2;ac1sereturnfib(n—l)+fib(n-2);a}若执行函数调用表达式fib(2),函数fib被调用的次数是A)12AC)3AD)4(22)Sample是一个类,执行下面语句后,调用Samp)e类的构造函数的次数是aSamplea[2],*p=newSamp1e;A)0B)1C)2D)3A(23)下列关于虚基类的描述中,错误的是A)使用虚基类可以消除由多继承产生的二义性B)构造派生类对象时,虚基类的构造函数只被调用一次△C)声明"classB:virtualpub1icA”说明类B为虚基类D)建立派生类对象时,一方面调用虚基类的构造函数△(24)将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是aA)不合法的运算符aB)一元运算符aC)无操作数的运算符D)二元运算符a(25)有如下模板声明:temp1ate<typenameTl,typenameT2>classA;下列声明中,与上述声明不等价的是aA)temp1ate<classTI,classT2>classA;*B)template<c1assT1,typenameT2>classA;temp1ate<typenameT1,classT2>c1assA;aD)template<typenameT1,T2>classA;,(26)下列关于C++流的描述中,错误的是cout»,A,表达式可输出字符AB)eof()函数可以检测是否到达文献尾aC)对磁盘文献进行流操作时,必须包含头文献fstreamAD)以ios_base::oul模式打开的文献不存在时,将自动建立一个新文献(27)有如下程序:a#include<iostream>Ausingnamespacestd;AclassToy{apublic:aToy(char*_n){strcpy(name,_n);count++;卜~Toy(){count--;}-*char*GetName(){returnname;卜staticintgetCount(){returncount;卜private:acharname[10]:astaticintcount;):ntToy::count=0;intmail(){aToytl("Snoopy”),t2("Mickey"),t3("Barbie");Acout<<t1.getCount()<<endl;return0;a运营时的输出结果是AA)I2AC)3AD)运营时犯错(28)有如下程序a#include<iostream>usingnamespacestd;-*classA{pub1ic:A(inti):r1(i){卜voidprint(){coutvv'er1voidprint()const{coutvv'C'wrl*rlvv'-';}private:aintrl;-*};intmain(){Aal(2);constAa2(4);AALpiint();a2.print()Return0;卜运营时的输出结果是A)运营时犯错E2-C16-OC4-C16-D)E2-E4-(29)有如下程序:#include<iostream>usingnamespacestd;className{acharname[20];public:aName(){strcpy(name,,M,);cout«*?';a}-*Name(char*fname)){Astrcpy(name,fname);cout<,?,;a}a};aintmain()。Namenames[3]={Name(“张三”),Name(“李四”)};aReturn0;}△运营此程序输出符号?的个数是A)(>B)1aC)2AD)3(30)有如下程序:a#include<iostream>Ausingnamespacestd;pub1ic#AA(){cout«,l,;}a};aclassBB:publicAA{intk;*publicsBB():k(O){cout«'2';}BB(intn):k(n){cout<<*3,;}Iintmain(){BBb(4),c;return0;卜运营时的输出结果是aA)1312D)132AC)32D)1412(31)有如下程序:#include<iostream>Ausingnamespacestd;c1assCl{public:〜C1(){coul<<l;卜);ClassC2:publiccl{apub1ic:a〜c2(){cout<<2;}a};aintmain(){AC2cb2;ACl*cbl;return0;卜运营时的输出结果是A)121B)21AC)211D)12A(32)有如下程序a#include<iostream>D)12Ausingnamespacesid©classPublication{//出版物类charname[30];.*public:Pub1ication(c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论