C++开发基础(习题卷8)_第1页
C++开发基础(习题卷8)_第2页
C++开发基础(习题卷8)_第3页
C++开发基础(习题卷8)_第4页
C++开发基础(习题卷8)_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

试卷科目:C++开发基础C++开发基础(习题卷8)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC++开发基础第1部分:单项选择题,共156题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.读写速度最慢的组件是?A)CPUB)内存C)I/O答案:C解析:[单选题]2.在用关键字class定义的类中,以下叙述正确的是()。A)在类中,不作特别说明的数据成员均为私有类型B)在类中,不作特别说明的数据成员均为公有类型C)类成员的定义必须是成员变量定义在前,成员函数定义在后D)类的成员定义必须放在类定义体内部答案:A解析:[单选题]3.下列哪种类型的函数适合声明为内联函数()A)函数体语句较多B)函数体逻辑较复杂C)函数执行时间较长D)函数语句较少,执行速度要求高答案:D解析:对于只有很少几条语句的函数,特别是频繁调用时,函数调用导致的时间开销可能会使程序运行明显变慢。为了避免这种频繁的函数调用与返回,加快执行速度,C++语言引入了内联函数的概念。故本题选D。[单选题]4.关于缺省(默认)构造函数的参数,下列描述错误的是________。A)可以无形参,也可以有形参B)若给出形参,则所有形参都有默认值C)可以给出对应实参值D)一定不能给出对应实参的值答案:D解析:[单选题]5.应在下列程序划线处填入的正确语句是()#include<iostream.h>>Usingnamespacestd;ClassBase{public:Voidfun({cout<<"Base::fun"<<ENDL;}};ClassDerived:publicBase{voidfun({__//显示调用基类的函数fun(Cout<<"Derived::fun"<ENDL;}};A)fun0;B)Base.fun();C)Base::fun();D)Base->fun();答案:C解析:[单选题]6.对于C++结构体(struct)中定义的成员,其隐含的访问权限为________。A)publicB)protectedC)privateD)static答案:A解析:[单选题]7.以下对于排序算法的稳定性的描述正确的是()A)经过排序之后,能使值相同的数据保持原顺序中的相对位置不变B)经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变C)算法的排序性能与被排序元素的数量关系不大D)算法的排序性能与被排序元素的数量关系密切答案:A解析:[单选题]8.下列字符串中不属于C++关键字的是()。A)classB)namespaceC)returnD)byte答案:D解析:[单选题]9.C++中注释??的有效范围是()A)从??开始到行尾B)从??开始后不终止C)从??开始到?//?为止D)从??开始到?*/?为止答案:D解析:C++程序中,仍沿用C语言的注释风格,即注释有以下两种形式。1)从/*开始,到*/结束,这之间的所有内容都视作注释。故本题选D。2)从//直到行尾,都是注释。[单选题]10.对数组名作函数参数,下面描述正确的是()。A)调用时将实参数组复制给形参数组B)实参和形参占用同一段存储单元C)形参定义的数组长度不能省略D)不能改变主调函数中的数据答案:B解析:[单选题]11.若有以下定义,则释放指针所指内存空间的操作是()。float*r=newfloat[10];A)deleter;B)delete*r;C)delete[]r;D)deleter[];答案:C解析:[单选题]12.设一棵完全二叉树中有65个结点,则该完全二叉树的深度为()。A)8B)7C)6D)5答案:B解析:[单选题]13.在C++中,混合类型表达式()。A)允许存在B)为一错误C)从int到floatD)从float到int答案:A解析:[单选题]14.关于C++的特点下列说法不正确的是()。A)C++是一种低级语言B)C++是以C语言为基础逐渐发展演变而成的C)C++是一种面向对象的程序设计语言D)C++语言是全兼容C语言答案:A解析:[单选题]15.某二叉树有如下特性,每一个结点要么是叶子结点,要么有2个子树。如果有一个这样的数有m个叶子结点,则这棵树的总结点数是A)2m+1B)2m-1C)2(m-1)D)2m答案:B解析:[单选题]16.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是A)快速排序B)冒泡排序C)插入排序D)以上都可以答案:C解析:[单选题]17.当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为()。A)fstreamfin(?A:xxk.dat?,1)B)ifstreamfin(?A:xxk.dat?,ios::nocreate)C)ofstreamfin(?A:xxk.dat?)D)ifstreamfin(?A:xxk.dat?,ios::app)答案:B解析:[单选题]18.从n个数里面找最大的两个数理论最少需要比较A)2lognB)2logn-1C)n+logn-2D)2n-3答案:C解析:[单选题]19.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。A)内联函数B)重载函数C)递归函数D)函数模板答案:A解析:[单选题]20.假定AB为一个类,则()为该类的拷贝构造函数的原型说明。A)AB(ABx);B)AB(intx);C)AB(AB&x);D)voidAB(AB&x);答案:C解析:[单选题]21.数据元素之间逻辑关系的整体称A)物理结构B)逻辑结构C)存储结构D)拓扑结构答案:B解析:[单选题]22.已知inta=3;,则执行完表达式a+=a-=a*a后,a的值是________。A)-3B)9C)-12D)6答案:C解析:[单选题]23.若inti,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是()A)9B)8C)3D)2答案:C解析:[单选题]24.在inta=3,*p=&a;中,*p的值是________。A)变量a的地址值B)无意义C)变量p的地址值D)3答案:D解析:[单选题]25.下列变量名中,()是合法的。A)CHINAB)byte-sizeC)doubleD)A+a答案:A解析:[单选题]26.类中成员默认的访问权限是________。A)私有的B)公有的C)保护的D)私有的或保护的答案:A解析:[单选题]27.已知类Base和类Derived的定义如下:classBase{intn;public:Base(intd):n(d){}};classDerived:publicBase{public:_____________________________};其中横线处应为类Derived的构造函数的定义。在下列构造函数的定义中,正确的是________。A)Derived(intx){Base(x);}B)Derived(intx):Base(x){}C)Derived(intx){n=x;}D)Derived(intx):n(x){}答案:B解析:[单选题]28.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为··A)O(1)B)O(n)C)O(1og2n)D)O(n2)答案:C解析:[单选题]29.在64环境下,int*p=newint[16]{},sizeof(p)的值为多少?A)1B)4C)8D)64答案:C解析:[单选题]30.以下代码片段的输出结果为()。inta[3][3]={1,2,3,4,5,6,7,8,9};int*pa[3]={a[0],a[1],a[2]};voidmain(){printf(""%d\n"",*pa[1]);}"A)4B)1C)4,5,6,7,8,9D)4,5,6答案:A解析:[单选题]31.当执行以下程序段时________。y=-1;do{y--;}while(--y);cout<A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误答案:C解析:[单选题]32.已知类A是类B的友元,类B是类C的友元,则()A)类A一定是类C的友元B)类C一定是类A的友元C)类C的成员函数可以访问类B的对象的任何成员D)类A的成员函数可以访问类B的对象的任何成员答案:C解析:[单选题]33.要利用C++流实现输入输出的各种格式控制,如控制输出宽度setw等,必须在程序中包含的头文件是________。A)fstreamB)istreamC)ostreamD)iomanip答案:D解析:[单选题]34.对树的结点进行计算中,已知在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。·A)4B)5C)6D)7答案:C解析:[单选题]35.设inta=12;则执行完语句a+=a*a;后,a的值是()。A)12B)144C)156D)288答案:C解析:[单选题]36.假定n的值为5,则表达式n++的值为()?A)6B)5C)4D)7答案:B解析:[单选题]37.下列特性中,C与C++共有的是()。A)继承B)封装C)多态性D)函数定义不能嵌套答案:D解析:[单选题]38.cout<A)?cout?是一个输出流对象B)?endl?的作用是输出回车换行C)?x?是一个变量D)?<<?称作提取运算符答案:D解析:[单选题]39.将两个字符串连接起来组成一个字符串时,选用A)strlenB)strcpyC)strcatD)strcmp答案:C解析:[单选题]40.C++中的拷贝构造函数在下面哪些情况下不会被调用()A)对象创建的时候B)使用一个类的对象去初始化该类的一个新对象C)被调用函数的形参是类的对象D)当函数的返回值是类的对象时,函数执行完成返回调用者答案:A解析:在三种情况下系统会调用拷贝构造函数:(1)用类的一个对象去初始化另一个对象时(2)当函数的形参是类的对象时(也就是值传递时),如果是引用传递则不会调用(3)当函数的返回值是类的对象或引用时[单选题]41.有关下面程序说法正确的是()(注:└┘代表空格)intmain(){chars[6]="abcd";printf("\"%s\"\n",s);return0;}A)"abcd"B)\"abcd\"C)"abcd└┘"D)编译错误答案:A解析:[单选题]42.下面有关析构函数特征的描述中,正确的是()。A)一个类可以有多个析构函数B)析构函数与类名完全相同C)析构函数不能指定返回类型D)析构函数可以有一个或多个参数答案:C解析:[单选题]43.类A是类B的友元,类B是类C的友元,则()是正确的。A)类B是类A的友元B)类C是类A的友元C)类A是类C的友元D)以上都不对答案:D解析:[单选题]44.下列字符列中,可作为C++语言程序自定义标识符是()。A)switchB)fileC)breakD)do答案:B解析:[单选题]45.下列字符串中,不可以用作C++标识符的是()。A)__TEST_HB)y_2006C)ifD)Return答案:C解析:[单选题]46.使用重载函数的目的是()A)共享函数数据B)减少代码量C)优化运行效率D)提高可读性答案:D解析:函数重载,是指在程序的同一范围内声明几个功能类似的同名函数。使用同一个函数名作为功能一样的函数的函数名,这也符合人们的习惯。针对同名的函数,分别为其编写函数体,即可实现各自的功能。故使用其可提高代码可读性。选D。[单选题]47.若磁盘上已存在某个文本文件,其全路径文件名为d:\nc\test.txt,下列语句中不能打开该文件的是________。A)ifstreamfile("d:\nc\test.txt");B)ifstreamfile;file.open("d:\\nc\\test.txt");C)ifstream*pFile=newifstream("d:\\nc\\test.txt");D)ifstreamfile("d:\\nc\\test.txt");答案:A解析:[单选题]48.关于二维数组a[3][4],以下说法正确的是()。A)&a[i]和a[i]是完全相同的,表示元素a[i]B)&a[i]和a[i]数值完全相同,表示数组a第i行的首地址C)a[0]和a[0][0]数值是相同的D)该二维数组共有4行3列共12个元素答案:B解析:[单选题]49.假定有以下说明语句,则下面引用形式错误的是()。structStudent{intnum;doublescore;};Studentstu[3]={{1001,80},{1002,75},{1003,91}},*p=stu;A)p->numB)(p++).numC)(p++)->numD)(*p).num答案:B解析:[单选题]50.在私有继承的情况下,基类成员在派生类中的访问权限()A)受限制B)保持不变C)受保护D)不受保护答案:A解析:[单选题]51.执行下列程序后,输出的结果是()。Inta=-5,b=0;While(++a)b++;Cout<<b<<endl;A)0B)1C)4D)5答案:C解析:[单选题]52.有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<3;i+=1){sum=i;for(intj=i;j<9;j++)sum+=j;}cout<A)37B)39C)110D)17答案:A解析:[单选题]53.当定义一个结构体变量时,理论上系统分配给它的内存是________。A)各成员所需内存量的总和B)结构中第一个成员所需内存量C)结构中最后一个成员所需内存量D)成员中占内存量最大者所需的容量答案:A解析:[单选题]54.下面for语句执行时循环次数为()。inti;for(i=0,j=5;i=j;){cout<<i<<j<<endl;i++;j--;}A)0B)5C)10D)无限答案:B解析:[单选题]55.在类外定义成员函数时,::运算符两侧分别连接()A)返回值类型函数名B)返回值类型类名C)函数名类名D)类名函数名答案:D解析:类体外函数定义的前面必须用?类名::?来限定,格式如下:返回值类型类名::成员函数名(参数列表){成员函数的函数体}[单选题]56.C++输入输出格式控制是在哪个头文件中定义的?()A)iostream.hB)iomanip.hC)istream.hD)ostream.h答案:A解析:[单选题]57.有如下程序段:inta=14,b=15,x;charc=?A?;x=(a&&b)&&(cA)tureB)C)0D)1答案:D解析:[单选题]58.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是________。A)0B)0.5C)1D)2答案:A解析:[单选题]59.执行下列语句后,z的值是()。intx,y,z;x=y=1;z=++x||++y;A)不确定B)0C)1D)2答案:C解析:[单选题]60.以下不是doublecompare(int,int)的重载函数的是()A)intcompare(double,double)B)doublecompare(double,double)C)doublecompare(double,int)D)intcompare(int,int)答案:D解析:[单选题]61.将一个递归算法转换为非递归算法,通常需要借用的数据结构是()A)栈B)队列C)线性表D)链表答案:A解析:[单选题]62.若x是一个bool型变量,y是一个值为100的int型变量,则表达式!x&&y>0的值为()。A)trueB)falseC)与x的值相同D)与x的值相反答案:D解析:[单选题]63.转义字符?反斜杠线?的表示方法正确的是()。A)?\?B)\C)?\?D)?\\?答案:D解析:[单选题]64.关于友元,下列说法错误的是()。A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元答案:A解析:[单选题]65.一台机器对200个单词进行排序花了200秒(使用冒泡排序),那么花费800秒,大概可以对多少个单词进行排序A)400B)500C)600D)700答案:A解析:[单选题]66.关于网的说法正确的是A)每个边(或弧)都附加一个权值的图,称为带权图B)有一个边附加一个权值的图,称为带权图C)带权的非连通图称为网D)不带权的连通图称为网答案:A解析:[单选题]67.已知递归函数f的定义如下:则函数调用语句f(6)的返回值是________。intf(intn){if(n<=1)return1;elsereturnn*f(n-2);}A)24B)6C)12D)48答案:D解析:[单选题]68.C++语言中所有在函数中定义的变量,连同形式参数,都属于()A)全局变量B)局部变量C)静态变量D)函数答案答案:B解析:[单选题]69.关于C++语言中return语句正确的说法是()。A)只能在主函数中出现B)在每个函数中都必须出现C)可以在一个函数中出现多次D)只能在除主函数之外的函数中出现答案:C解析:[单选题]70.下述关于break语句的描述中,()是正确的。A)break语句可用于循环体内,它将退出该重循环。B)break语句可用于开关语句中,它将退出开关语句。C)break语句可用于if体内,它将退出if语句。D)break语句在一个循环体内可以出现多次。答案:C解析:[单选题]71.在设计程序时,应采纳的原则之一是________。A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解答案:D解析:[单选题]72.在下列表述中,用来正确表示?相对于当前位置?文件定位方式的是________。A)ios_base::endB)ios_base::outC)ios_base::begD)ios_base::cur答案:D解析:[单选题]73.什么是成员()。A)类的特征B)类的方法C)类的事件D)以上全是答案:D解析:[单选题]74.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是_____。A)1B)2C)2.0D)2.5答案:B解析:[单选题]75.以下不能对二维数组a进行正确初始化的语句是()。A)inta[2][3]={0};B)inta[][3]={{0,1},{0}};C)inta[2][3]={{0,1},{2,3},{4,5}};D)inta[][3]={0,1,2,3,4,5};答案:C解析:[单选题]76.在长度为n的线性表中删除一个指针p所指结点的时间复杂度是()A)O(n)B)O(1)C)O(log2n)D)O(n2)答案:B解析:[单选题]77.从逻辑上可以把数据结构分为__两大类A)动态结构、静态结构B)顺序结构、链式结构C)线性结构、非线性结构D)初等结构、构造型结构答案:C解析:[单选题]78.在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行A)p->next=q->next;?q->next=p;B)q->next=p->next;?p=q;?C)p->next=q->next;?p->next=q;?D)q->next=p->next;?p->next=q;?答案:D解析:[单选题]79.对于长度为18的有序顺序表,若采用折半搜索,则搜索第15个元素的搜索长度为A)3B)4C)5D)6答案:A解析:[单选题]80.设intn=11,i=4;,则赋值运算n%=i+1;执行后n的值是()。//"+"的优先级比"%="的高A)0B)3C)2D)1答案:D解析:[单选题]81.快速排序在最坏情况下的时间复杂度是A)O(n^2log2n)B)O(n^2)C)O(nlog2n)D)O(log2n)答案:B解析:[单选题]82.执行完下列语句段后,i值为:()intf(intx){return((x>0)x*f(x-1):2);}inti;i=f(f(1));A)2B)4C)8D)无限递归答案:B解析:[单选题]83.表达式3.6-5/2+1.2+5%2的值是________。A)4.3B)4.8C)3.3D)3.8答案:D解析:[单选题]84.有以下变量说明,下面正确的语句是()。inta=10,b;int&pa=a,&pb=b;A)&pb=a;B)pb=pa;C)pb=&pa;D)*pb=*pa;答案:B解析:[单选题]85.下面有关重载函数的说法中,正确的是()A)重载函数名一定相同B)重载函数必须为不同的形参列表C)重载函数形参的个数必须不同D)重载函数的返回值一定不同答案:A解析:[单选题]86.[赋值兼容规则]下列程序的输出是:#include<iostream>Usingnamespacestd;ClassA{Public:voidshow(){cout<<"A";}};ClassB:publicA{Public:voidshow(){cout<<"B";}};Intmain(){Bb1;b1.show();Aa1=b1;a1.show();return0;}A)AAB)BBC)ABD)BA答案:D解析:[单选题]87.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为()A)236B)239C)242D)245答案:B解析:[单选题]88.如没有使用private关键字定义类的数据成员,则默认为()A)privateB)publicC)protectedD)friend答案:A解析:[单选题]89.已知以下继承关系:classA{public:voidf();}classB:publicA{voidf();}Aa;Bb;则b要调用类A的函数f的语法形式是()。"A)b.f()B)A::f()C)b->f()D)b不能调用类A的函数答案:B解析:[单选题]90.友元的作用()。A)提高程序的运用效率B)加强类的封装性C)实现数据的隐藏性D)增加成员函数的种类答案:A解析:[单选题]91.对于下面代码,描述正确的是templateclassA{public:enumE{N=A::E::N*M};};templateclassA{public:enumE{N=1};};intmain(){inta[A::N];return0;}A)编译错误,定义数组时下标必须为常量B)能正确编译,数组a大小为24C)能正确编译,数组a大小为4D)能正确编译,数组a大小为10答案:B解析:[单选题]92.下面有关构造函数的描述中,正确的是()。A)构造函数可以带有返回值B)构造函数的名字与类名完全相同C)构造函数必须带有参数D)构造函数必须定义,不能缺省答案:B解析:[单选题]93.处理基本有序序列,却反而变得更复杂的排序算法是下面哪个:()。A)冒泡排序B)快速排序C)简择排序D)插入排序答案:B解析:[单选题]94.下列哪个编译指令属于条件编译指令()A)#includeB)#defineC)#elseD)#pragma答案:C解析:[单选题]95.以下关于函数模板叙述正确的是()A)函数模板也是一个具体类型的函数B)函数模板的类型参数与函数的参数是同一个概念C)通过使用不同的类型参数,函数模板可以生成不同类型的函数D)用函数模板定义的函数没有类型答案:C解析:[单选题]96.数据的逻辑结构被形式地定义为B=(K,R),其中K是__的有限集合A)算法B)数据元素C)数据操作D)逻辑结构答案:B解析:[单选题]97.关于作用域与生存周期,说法错误的是()。A)局部对象只在定义它的函数体中有效B)全局对象的作用域是整个程序C)局部对象在定义它的函数第1次被调用时构造,以后可以直接使用D)全局对象在程序主函数运行前被调用,只构造1次答案:C解析:[单选题]98.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为A)O(n)B)O(nlog2n)C)O(1)D)O(n^2)答案:C解析:[单选题]99.已知inta=5,b=6,c=7,d=8,m=2,n=2;,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为________。A)0B)1C)2D)3答案:C解析:[单选题]100.字符串?a+b=12\n\t?的长度为()。A)12B)10C)8D)6答案:C解析:[单选题]101.下列非法的字符常量是()。A)?#?B)??C)a?D)?A?答案:C解析:[单选题]102.能够把指定长度的字节序列插入到输出流中的函数是()。A)putB)writeC)coutD)print答案:B解析:[单选题]103.C++程序中的简单语句必须以()结束。A)冒号B)分号C)空格D)花括号答案:B解析:[单选题]104.在C++语言中,程序中的宏代换是在_________。A)编译时进行的B)程序执行时进行的C)编译前预处理时进行的D)编译后进行的答案:C解析:[单选题]105.字符数组s不能作为字符串使用的是________。A)chars[]="happy";B)chars[6]={'h','a','p','p','y','\0'};C)chars[]={"happy"};D)chars[5]={'h','a','p','p','y'};答案:D解析:[单选题]106.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是_____。A)AB)aC)eD)E答案:A解析:[单选题]107.unordered_map随机读的时间复杂度是?A)O(1)B)O(n)C)O(logN)D)O(n²)答案:A解析:[单选题]108.使用下列哪一限定符可强制改变访问方式()A)constB)shortC)longD)signed答案:A解析:与C语言一样,C++语言也可以使用const限定访问权限,告诉编译器,它所修饰的量是不能改变的,也就是不能作为左值使用。故const可强制改变访问方式。[单选题]109.已知:shorta=1;则表达式sizeof(a+'a')的值为()。A)1B)2C)4D)8答案:C解析:[单选题]110.执行语句序列intn;cin>>n;switch(n){case1:case2:cout<<'1';case3:case4:Cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示()A)12B)1C)2D)3答案:A解析:[单选题]111.下列为纯虚函数的正确声明的是()A)voidvirtualprint()=0;B)virtualvoidprint()=0;C)virtualvoidprint(){};D)virtualvoidprint()\;答案:B解析:纯虚函数的格式:virtual返回值类型函数名(参数列表)=0;[单选题]112.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示?1除以a乘b乘c积的商?的表达式是()。A)1.0/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)1.0/a/b/c答案:D解析:[单选题]113.图结构中,对于网的说法正确的是A)每个边(或弧)都附加一个权值的图,称为带权图B)有一个边附加一个权值的图,称为带权图C)带权的非连通图称为网D)不带权的连通图称为网答案:A解析:[单选题]114.在C++语言中,引用数组元素时,其数组下标的数据类型允许是()。A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式答案:C解析:[单选题]115.已知:intc[3][4];则对数组元素引用正确的是()。A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误答案:C解析:[单选题]116.关于类和对象的描述中,错误的是________。A)类是一种自定义类型,对象是变量B)类和对象之间的关系是具体和抽象的关系C)类是对具有共同行为的若干对象的统一描述D)对象是类的实例,一个对象必须属于一个已知的类答案:B解析:[单选题]117.下列关于类的权限描述错误的是()A)类本身的成员函数可以访问自己定义的任何成员B)类的对象只能访问公有成员C)普通函数只能通过对象访问类的公有成员D)一个类不能包含另一个类的对象作为成员答案:D解析:因为类本身就是一种新的数据类型,所以一个类的对象可以作为另一个类的成员。普通成员函数由类的对象调用。故D错误。访问类的成员变量及调用类的成员函数时,要考虑成员名的访问范围。类中定义的访问方法是public的,所以可以在类外(如主函数中)中直接调用。类内的函数仅作为类内其他函数的辅助函数使用,并不对外提供服务,这样的函数可以定义为私有的,也就是说,在类外不可以直接调用它们。故ABC正确。[单选题]118.若有定义floatw;inta,b;,则合法的switch语句是________。A)switch(w){case1.0:cout<<"*\n";case2.0:cout<<"**\n";}B)switch(a){case1cout<<"*\n";case2cout<<"**\n";}C)switch(b){case1:cout<<"*\n";default:cout<<"\n";case1+2:cout<<"**\n";}D)switch(a+b);{case1:cout<<"*\n";case2:cout<<"**\n";default:cout<<"\n";}答案:C解析:[单选题]119.设inta=1,b=2,c=3,d=4;则以下条件表达式的值为()。a<b?a:c<d?c:dA)1B)2C)3D)4答案:A解析:[单选题]120.有关类和对象的说法不正确的是()。A)对象是类的一个实例B)一个类只能有一个对象C)任何一个对象只能属于一个具体的类D)类与对象的关系和数据类型和变量的关系相似答案:B解析:[单选题]121.执行语句序列Intn;Cin>>n;Switch(n){case1:case2:cout<<<1';case3:case4:cout<<<2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示()。A)1B)2C)3D)12答案:D解析:[单选题]122.()是给变量取一个别名,它引入了变量的同意词。A)指针B)引用C)枚举D)结构答案:B解析:[单选题]123.对while、do…while结构,描述正确的是()。A)只是表达形式不同B)do…while结构中的语句至少执行一次C)while结构中的语句至少执行一次D)条件成立时,它们有可能一次也不执行答案:B解析:[单选题]124.if语句的基本形式是:if(表达式)语句,以下关于?表达式?值的叙述中正确的是()。A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值答案:D解析:[单选题]125.下面合法的C语言字符常量是()。A)'a'B)"A"C)'65'D)A答案:A解析:[单选题]126.下面关于C++语言友元函数的描述中,正确的是:A)友元函数是独立于当前类的外部函数B)一个友元函数不能同时定义为两个类的友元函数C)友元函数必须在类的外部定义D)在外部定义友元函数时,必须加关键字friend答案:A解析:[单选题]127.头文件扩展名为()A)cppB)hC)ubD)ob答案:B解析:在C++中,.h文件是头文件。.cpp文件是源程序文件;[单选题]128.若有char*p=?Student?;则下列选项中错误的是________。A)char&q=*p;B)char*q=*p;C)char*q=p+2;D)p=p+2;答案:B解析:[单选题]129.C++的预处理命令在程序中都是以什么符号开头的A)*B)#C)&D)@答案:B解析:[单选题]130.存储以下数据,占用存储字节最少的是()。A)0B)?0?C)?0?D)0.0答案:B解析:[单选题]131.下列数组定义语句中,不合法的是()。A)inta[3]={0,1,2,3};B)inta[]={0,1,2};C)inta[3]={0,1,2};D)inta[3]={0};答案:A解析:[单选题]132.下列关于编译预处理的理解正确的是________。A)编译预处理即占用编译时间又占用运行时间B)编译预处理就是文字的处理工作,宏定义的本质就是文字的代换C)编译预处理命令行只能放在程序的最前面D)编译预处理命令行是也是C++语言中的语句,因此也需要用分号结束答案:B解析:[单选题]133.有如下程序:运行时的输出结果是________。A)121B)21C)211D)12答案:B解析:[单选题]134.在"inta[][3]={{1},(8,2},{4,5,6},{0}};"中,a[2][2]的值是()。A)1B)0C)6D)2答案:C解析:[单选题]135.y>=12的情况下,表示关系12A)(12B)(12C)(12D)(12答案:B解析:[单选题]136.执行以下程序段时______。Intx=-1;Do{X=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误答案:A解析:[单选题]137.()不是构造函数的特征A)构造函数的函数名与类名相同B)构造函数可以重载C)构造函数可以设置缺省参数D)构造函数必须指定类型说明答案:D解析:[单选题]138.实现两个相同类型数加法的函数模板的声明是()A)add(Tx,Ty)B)Tadd(x,y)C)Tadd(Tx,y)D)Tadd(Tx,Ty)答案:D解析:[单选题]139.关于继承中的二义性,以下说法中错误的是()。A)所谓的二义性,就是指基类与派生类中存在同名成员B)出现二义性的原因是在多重继承情况下,没有显式调用的情况下,系统不知道应该调用哪个基类的成员C)基类的对象不能直接访问派生类中的成员D)派生类的对象可以访问基类的成员答案:B解析:[单选题]140.有如下定义语句:intaa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为()。A)3,2B)3,1C)2,2D)2,1答案:C解析:[单选题]141.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值()。A)相同B)不同C)相容D)部分相同答案:A解析:[单选题]142.假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为()。A)OneClass(OneClassp);B)OneClass&(OneClassp);C)OneClass(OneClass&p);D)OneClass(OneClass*p);答案:C解析:[单选题]143.作用域运算符的功能是()。A)标识作用域的级别B)指出的大小C)标识某个成员是属于哪一类的D)给出的范围答案:C解析:[单选题]144.希尔排序每的最后一趟排序的地址增量一定是()。A)nB)n/2C)1D)任意值答案:C解析:[单选题]145.下列选项中,正确的C++表达式为()。A)a++3B)i+C)a+=bD)'a'=b答案:C解析:A:++先与a结合,后边3无法解释,B:表达式缺操作数,D:不允许对常量赋值[单选题]146.判断字符型变量ch是否为大写英文字母,应使用表达式()。A)ch>='A'&ch<='Z'B)ch<='A'||ch>='Z'C)A'<=ch<='Z'D)ch>='A'&&ch<='Z'答案:D解析:[单选题]147.已知intx,y;则下列语句中错误的是()。A)x=y++;B)x=++y;C)++x=yD)(x+y)++答案:D解析:++运算符只能作用于变量[单选题]148.数据结构中,连续存储设计时,存储单元的地址A)一定连续B)一定不连续C)不一定连续D)部分连续,部分不连续答案:A解析:[单选题]149.已知:intm=10;下列表示引用的方法中,______是正确的。A)int&x=m;B)int&y=10;C)int&z;D)float&t=&m;答案:A解析:[单选题]150.所谓多态性是指()。A)不同的对象调用不同名称的函数B)不同的对象调用相同名称的函数C)不同的对象调用相同名称的函数D)一个对象调用不同名称的对象答案:B解析:[单选题]151.关于类的静态成员函数描述错误的是()A)在创建对象前不存在B)不能说明为虚函数C)不能直接访问非静态函数D)不是对象的成员答案:A解析:[单选题]152.文件流的说法正确的是A)输出文件流是从外存文件流向内存的数据B)输入文件流是从内存流向外存文件的数据C)每一个文件流都有一个内存缓冲区与之对应D)以上说法都正确答案:C解析:[单选题]153.下面()是对构造函数和析构函数的正确定义。A)voidX::X(),voidX::~X()B)X::X(参数),X::~X()C)X::X(参数),X::~X(参数)D)voidX::X(参数),voidX::~X(参数)答案:B解析:[单选题]154.有如下程序intmain(){intn=9;while(n>6)coutA)987B)876C)8765D)9876答案:A解析:[单选题]155.下列对于类的描述错误的是()A)类要先声明后使用B)类是具有唯一标识的实体C)两个类可以使用同一个名称D)组成类的不仅有数据,还可以有对数据进行操作的函数答案:C解析:类是具有唯一标识符的实体,就是说类名不能重复。故C错误。[单选题]156.不能实现函数之间数据传递的是()。A)全局变量B)局部变量C)函数接口D)函数返回值答案:B解析:第2部分:多项选择题,共16题,每题至少两个正确答案,多选或少选均不得分。[多选题]157.下面关于数组指针说法正确的是()。A)1个数组是由连续的1块内存单元组成的B)数组元素可以通过下标访问C)数组元素可以通过对数组名进行指针运算来访问D)数组名就是这块连续内存单元的首地址答案:ABCD解析:[多选题]158.下面哪些情况应该采用动态内存管理?()A)在多个地方和场合会被用到的数据B)全局变量C)内存容量很大的局部变量D)在执行前不明确其大小的数据答案:CD解析:[多选题]159.数据结构中关于查找,下面说法不正确的是A)只要数据元素保持有序,则查找时就可以采用折半查找方法B)在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为4C)就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大D)折半查找方法适用于按值有序的顺序表的查找答案:AC解析:[多选题]160.以下关于哈希表的说法正确的是()。A)哈希表是有序存储的B)哈希表中存储了元素和与之一一对应的关键字C)在哈希表中查询元素可以根据元素对应的关键字查找D)哈希表中删除1个元素需要同时删除元素和元素对应的关键字答案:BCD解析:[多选题]161.栈的使用中,栈结构通常采用的存储结构是A)顺序存储结构B)链表存储结构C)散列方式D)索引方式答案:AB解析:[多选题]162.在决定选取何种存储结构时,一般要考虑__A)各结点的值如何B)结构个数的多少C)对数据有哪些运算D)所用编程语言实现这种结构是否方便答案:BCD解析:[多选题]163.对于静态表的顺序查找法,若在表头设置监视哨,查找方式不正确的是()A)从第0个元素往后查找该数据元素B)从第1个元素往后查找该数据元素C)从第n个元素往开始前查找该数据元素D)与查找顺序无关答案:ABD解析:[多选题]164.关于线性结构和树形结构中元素的说法正确的是A)线性结构中元素之间存在一对一关系B)树形结构中元素之间存在一对多关系C)线性结构中元素之间存在一对多关系D)树形结构中元素之间存在一对一关系答案:AB解析:[多选题]165.关于字符数组与字符串,说法正确的有()。A)字符数组可以用字符串进行赋值B)字符串是以?\0?为结尾标志的字符数组C)字符串有输入输出函数,而字符数组没有D)C语言中自带了字符串的数据类型答案:ABC解析:[多选题]166.数据结构中,算法的稳定与否常作为考量标准,下面是不稳定的有A)快速排序B)冒泡排序C)直接插入排序D)希尔排序答案:AD解析:[多选题]167.下面哪些数据类型所占的内存一定不会大于10字节?()A)只包含基本数据类型的结构B)只包含基本数据类型的联合C)枚举D)类类型答案:BC解析:[多选题]168.下面关于线性表的叙述中,正确的是哪几个A)线性表采用顺序存储,必须占用一片连续的存储单元。B)线性表采用顺序存储,便于进行插入和删除操作。C)线性表采用链接存储,不必占用一片连续的存储单元。D)线性表采用链接存储,便于插入和删除操作。答案:ACD解析:[多选题]169.递归算法必须包括以下哪些因素A)递归部分B)迭代部分C)终止条件D)以上都是答案:AC解析:[多选题]170.istream是下面哪些的父类A)ifstreamB)ofstreamC)iostreamD)ostream答案:AC解析:[多选题]171.数据结构学习中对于算法的描述下面说法正确的是A)算法原地工作的含义是指不需要任何额外的辅助空间B)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2^n)的算法C)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界D)同一个算法,实现语言的级别越高,执行效率就越低答案:BCD解析:[多选题]172.以下哪属于队列的基本运算的是A)在队列第i个元素之后插入一个元素B)从队头删除一个元素C)断一个队列是否为空D)读取队头元素的值答案:BCD解析:第3部分:填空题,共12题,请在空白处填写正确答案。[填空题]173.一个类的______函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。答案:析构解析:[填空题]174.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为______。答案:AB(){}解析:[填空题]175.假设inta=1,b=2;则表达式(++a/b)*b--的值为___。答案:2解析:[填空题]176.声明虚函数的方法是在基类中的成员函数原型前加上关键字__________答案:virtual解析:[填空题]177.假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为______和_____。答案:4,1解析:[填空题]178.vector类中向向量尾部插入一个对象的方法是___。答案:push_back解析:[填空题]179.单目运算符作为类成员函数重载时,形参个数为___个答案:0解析:[填空题]180.C++中用于动态创建对象,并返回该对象的指针的关键字是______。答案:new解析:[填空题]181.设函数sum是由函数模板实现的,并且sum(3,6)和sum(4.6,8)都是正确的函数调用,则函数模板具有___个类型参数答案:2解析:[填空题]182.在C++中,使用流进行输入输出,其中用于屏幕输入()A)cinB)cerrC)coutD)clog答案:A解析:[填空题]183.控制格式输入输出的操作中,函数___是用来设置填充字符。要求给出函数名和参数类型答案:setfill(char)解析:[填空题]184.如果要把类B的成员函数voidfun()说明为类A的友元函数,则应在类A中加入语句___答案:friendvoidB::fun();解析:第4部分:判断题,共29题,请判断题目是否正确。[判断题]185.在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种随机存取结构。A)正确B)错误答案:错解析:[判断题]186.在树的存储中,若使每个结点带有指向双亲结点的指针,这为在算法中寻找双亲结点带来方便。A)正确B)错误答案:对解析:[判断题]187.()下标运算符重载函数只能定义为成员函数。A)正确B)错误答案:对解析:[判断题]188.任何一个C程序都有一个显式的main()函数作为程序入口答案:错解析:[判断题]189.数据结构中对于链表中的头结点,应用时仅起到标识的作用A)正确B)错误答案:错解析:[判断题]190.所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的答案:错解析:[判断题]191.顺序存储方式只能用于存储线性结构。A)正确B)错误答案:错解析:[判断题]192.隐含的类型转换都是保值映射,显式的类型转换都是非保值映射答案:错解析:[判断题]193.对于二维数组,在赋值时必须一次对所有的元素赋值,不允许有未赋值的数组元素。()答案:错解析:[判断题]194.线性结构研究数据元素一对多的关系A)正确B)错误答案:错解析:[判断题]195.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。()A)正确B)错误答案:错解析:[判断题]196.在局部变量的作用域内也可以引用同名全局变量。A)正确B)错误答案:对解析:[判断题]197.常量指针的值不能被改变答案:对解析:[判断题]198.For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。答案:错解析:[判断题]199.cerr的功能是标准输出A)正确B)错误答案:错解析:[判断题]200.()在C++语言中,类的构造函数的名称必须和类名一样。A)正确B)错误答案:对解析:[判断题]201.假设有n个顶点的生成树,则其边数为nA)正确B)错误答案:错解析:[判断题]202.()构造函数不能是虚函数,而析构函数可以是虚函数。A)正确B)错误答案:对解析:[判断题]203.在初始数据表已经有序时,快速排序算法的时间复杂度为O(nlog2n)A)正确B)错误答案:错解析:[判断题]204.图的邻接矩阵存储定义两个数组存储顶点和边信息A)正确B)错误答案:对解析:[判断题]205.C++中使用了新的注释符(//),C语言中注释符(,*/)不能在C++中使用答案:错解析:[判断题]206.符号??:?不属于运算符类型。()答案:错解析:[判断题]207.在作退栈运算时应先判别栈是否为空A)正确B)错误答案:对解析:[判断题]208.在数据结构中,若使用冒泡排序,则能保证每趟排序至少能将一个元素放到其最终的位置上A)正确B)错误答案:对解析:[判断题]209.C++语言比C语言对数据类型要求更加严格了。A)正确B)错误答案:对解析:[判断题]210.C++程序中,不得使用没有定义或说明的变量。A)正确B)错误答案:错解析:[判断题]211.clog功能是标准错误输入A)正确B)错误答案:错解析:[判断题]212.在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问。答案:对解析:[判断题]213.类封装了数据和操作。答案:对解析:第5部分:问答题,共47题,请在空白处填写正确答案。[问答题]214.程序的三种基本结构为:____()_、___()__、()_____。答案:顺序结构|选择结构|循环结构解析:[问答题]215.编程求下列式子的值,y=1-1/2+1/3-1/4+⋯+1/99-1/100并将结果输出,格式为:1-1/2+1/3-1/4+⋯+1/99-1/100=表达式的值答案:publicclassPorg{publicstaticvoidmain(String[]args){doublesum=0;for(doublei=1;i<=100;i++){sum=sum+Math.pow(-1,i-1)*(1/i);}System.out.print("1-1/2+1/3-1/4+⋯+1/99-1/100="+sum);}}解析:[问答题]216.调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为_()___。答案:实际参数;实参;解析:[问答题]217.有如下定义intarray[3]={0,1,2},*p=array;,则要访问数组中的第二个元素,下列语句错误的是()。(a)*(array+1)(b)array[1](c)*array+1(d)*(p+1)答案:数组名array和指针变量p都存放数组的首地址,所以选项a和d都是求出第二个元素的地址,然后取该地址中的值,所以这两个选项实现了对数组中第二个元素的访问;选项b为下标法访问数组元素;选项c的作用是求出数组中第一个元素的值,然后用这个值加1。所以,本题答案为:c。解析:[问答题]218.下面程序的功能是将一个十进制数转换为某个指定(由base指定)的进制,请填空。#includeusingnamespacestd;intmain(){intnum[20],i=0,base;longn;coutn;coutbase;do{num[i]=___(1)____;i++;n=n/base;}while(n>0);for(___(2)___;i>=0;i--)cout答案:n%base,i--;--i;i=i-1;i-=1解析:[问答题]219.百钱买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法.答案:publicclassProg12{publicstaticvoidmain(String[]args){intm=0;for(inta=0;a<100;a++){for(intb=0;b<100;b++){for(intc=0;c<100;c++)if(5*a+3*b+1/3*c==100&&a+b+c==100)m++;}}System.out.print("一百元买一百只鸡有"+m+"种买法");}}解析:[问答题]220.执行下列语句后inta,b;a=30;b=a--;变量a,b的值是()答案:29,30解析:[问答题]221.对于定义int*f()中,标识符f代表的是()。(a)一个指向函数的指针(b)一个指针型函数,该函数返回值为指针(c)一个指向整型数据的指针(d)一个指向数组的指针答案:本题主要考查对指针函数和函数指针的理解。这里定义的是指针型函数,也就是说这个函数的返回值是指针。所以答案为:b解析:[问答题]222.C++函数中值的传递方式答案:有三种方式:值传递、指针传递、引用传递解析:[问答题]223.执行下列语句序列Intx=10,&r=x;Cout<<x<<'-'<<r<<endl;输出结果为__1__。(填空题)答案:10-10;解析:[问答题]224.C++中,可以嵌入到主调函数中的函数称为()。答案:内置函数/内嵌函数/内联函数解析:[问答题]225.执行下列语句后inta,c;a=30;c=++a;变量a,c的值是()答案:31,31解析:[问答题]226.构造函数与普通函数相比在形式上有什么不同?(构造函数的作用,它的声明形式来分析)答案:构造函数是类的一种特殊成员函数,一般情况下,它是专门用来初始化对象成员变量的。构造函数的名字必须与类名相同,它不具有任何类型,不返回任何值解析:[问答题]227.运行下列程序结果为()。#include<iostream.h>#include<iomanip.h>voidmain(){inta=12;doubleb=314159.26;cout<<a<<endl;cout.setf(ios::oct|ios::showbase);cout<<a<<endl;cout.precision(8);cout<<-b<<endl;cout.setf(ios::scientific|ios::uppercase|ios::left);cout.width(20);cout.fill('*');cout<<-b<<endl;cout.width(20);cout.setf(ios::internal);cout<<-b<<endl;cout.precision(6);cout.fill('');cout.unsetf(ios::scientific|ios::uppercase|ios::left|ios::internal);}答案:本题主要考查用ios类的成员函数进行格式控制的使用方法。参见本章重点与难点部分的介绍。本题答案为:12014-314159.26-314159.260E+005****-****3.14159260E+005解析:[问答题]228.在C++程序中调用被C编译器编译后的函数,为什么要加extern?C??答案:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为:voidfoo(intx,inty);该函数被C编译器编译后在库中的名字为_,foo而C++编译器则会产生像_foo_int_in之t类的名字。C++提供了C连接交换指定符号extern?C?来解决名字匹配问题。解析:[问答题]229.一个C++程序由()程序单位组成答案:一个或多个解析:[问答题]230.完成程序题:请按空格顺序填写答案。使其可以正确的初始化成员变量m和n。1/1文字题答案:n|point&t解析:定义成员函数的一般形式为:返回类型类名::成员函数名(参数列表){成员函数的函数体//内部实现}根据题意可知,两空分别填n和point&t[问答题]231.给出年、月、日,计算该日是该年的第几天?答案:packagemoreEasy;importjava.util.Scanner;publicclassThe12th{publicstaticvoidmain(String[]args){intn=0;Scannercin=newScanner(System.in);inty=cin.nextInt();System.out.println("年");intm=cin.nextInt();System.out.println("月");intd=cin.nextInt();System.out.println("日");if(y%4==0&&y%100!=0||y%400==0){switch(m){case1:n=d;break;case2:n=d+31;break;case3:n=d+31+29;break;case4:n=d+31+29+31;break;case5:n=d+31+29+31+30;break;case6:n=d+31+29+31+30+31;break;case7:n=d+31+29+31+30+31+30;break;case8:n=d+31+29+31+30+31+30+31;break;case9:n=d+31+29+31+30+31+30+31+31;break;case10:n=d+31+29+31+30+31+30+31+31+30;break;case11:n=d+31+29+31+30+31+30+31+31+30+31;break;case12:n=d+31+29+31+30+31+30+31+31+30+31+30;break;}}else{switch(m){case1:n=d;break;case2:n=d+31;break;case3:n=d+31+28;break;case4:n=d+31+28+31;break;case5:n=d+31+28+31+30;break;case6:n=d+31+28+31+30+31;break;case7:n=d+31+28+31+30+31+30;break;case8:n=d+31+28+31+30+31+30+31;break;case9:n=d+31+28+31+30+31+30+31+31;break;case10:n=d+31+28+31+30+31+30+31+31+30;break;case11:n=d+31+28+31+30+31+30+31+31+30+31;break;case12:n=d+31+28+31+30+31+30+31+31+30+31+30;break;}}System.out.println(n);}}解析:[问答题]232.extern?C?有什么作用?答案:Extern?C?是由C++提供的一个连接交换指定符号,用于告诉C++这段代码是C函数。这是因为C++编译后库中函数名会变得很长,与C生成的不一致,造成C++不能直接调用C函数,加上extren?c?后,C++就能直接调用C函数了。Extern?C?主要使用正规DLL函数的引用和导出和在C++包含C函数或C头文件时使用。使用时在前面加上extern?c?关键字即可。可以用一句话概括extern?C?这个声明的真实目的:实现C++与C及其它语言的混合编程。解析:[问答题]233.C++语言源程序文件的扩展名为(),经编译后生成的目标代码文件扩展名为(),将目标文件连接后生成的可执行文件扩展名是()答案:.cpp|.obj|.exe解析:[问答题]234.源程序文档化要求程序应加注释,注释一般分为序言性注释和答案:功能性注释解析:注释的分类:按功能:源程序文档化要求程序应加注释,注释一般分为序言性注释和功能性注释。按风格:1)从/*开始,到*/结束,这之间的所有内容都视作注释。2)从//直到行尾,都是注释。[问答题]235.类对象一般都包括数据成员和答案:成员函数解析:类中定义的数据和函数称为这个类的成员(数据成员和成员函数)。因此类对象一般都包括数据成员和成员函数。[问答题]236.一个函数由()和()两部分组成。答案:函数首部|函数体解析:[问答题]237.总结static的应用和作用?答案::(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;(4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;(5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。解析:[问答题]238.VC++2010中,为类型int数据分配()个字节。char数据分配()个字节。答案:4|1解析:[问答题]239.winsock建立连接的主要实现步骤?答案:服务器端:socket()建立套接字,绑定(bind)并监听,(用accleisptetn())等待客户端连接,accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。客户端:socket()建立套接字,连接(connect)服务器,连接se上nd后()使用和recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。解析:[问答题]240.表达式45/2+(int)3.14159/2的值是()答案:23解析:[问答题]241.完成程序题:请按空格顺序填写答案。完成下面程序中的show函数的定义,使其运行结果如下:InbaseInderived1/1文字题#include_________________usingnamespacestd;classbase{public:virtualvoidprint(){cout<<"Inbase"<<endl;}};classderived:publicbase{public:voidprint(){cout<<"Inderived"<<endl;}};voidshow(base*pb,void(base::*pf)()){_________________}voidmain(){baseb;derivedd;show(&b,base::print);show(&d,base::print);}答案:|(pb->*pf)();解析:常用的头文件有以下一些。(1)标准输入输出流:<iostream>,当程序中用到cin和cout时,需要在程序中包含头文件<iostream>。(2)标准文件流:<fstream>。(3)标准字符串处理函数:<string>。(4)标准数学函数:<cmath>。.*和->*都是成员指针访问运算符。[问答题]242.类成员函数的重载、覆盖和隐藏的区别答案:成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。?隐藏?是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)解析:[问答题]243.执行下列语句后inta,b;a=30;b=a++;变量a,b的值是()答案:31,30解析:[问答题]244.定义一个命名空间为myNum,在该命名空间中定义一个整型变量x,并给该变量赋值为105;使用C++新特性判断myNum命名空间下的变量是奇数还是偶数。#include<iostream>#include<stdlib.h>Usingnamespacestd;__1__myNum//填写命名空间的关键字{Intx=105;}Intmain(){//使用bool类型定义isOdd,作为状态位__2__isFlag=false;If(myNum::x%2==0){//改变状态位的值,使其为falseIsFlag=false;}Else

温馨提示

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

评论

0/150

提交评论