C++笔试试题附答案(初级)_第1页
C++笔试试题附答案(初级)_第2页
C++笔试试题附答案(初级)_第3页
C++笔试试题附答案(初级)_第4页
C++笔试试题附答案(初级)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

C++笔试试题及答案(初级)1.从语法上看,()可以用做用户自定义标识符。A.-lengthB.func&xyzC.3dSpaceD.Main(正确答案)2.从语法上看,下列说法正确的是()。A.宏替换发生在程序运行时B.宏定义不可以嵌套C.宏替换是字符替换(正确答案)D.宏名必须用大写字母表示3.下面C++程序执行后,a的值是()。

#defineAREA(x)xx

voidmain()

{

inta=4,b=5,c=2;

a=AREA(b/c);

cout<<a;

}

A.3B.16C.20(正确答案)D.254.函数调用“fun((exp1,exp2,exp3),(exp4,exp5))”中传递的实参是()。A.exp1,exp4B.exp1,exp2,exp3C.exp3,exp5(正确答案)D.exp4,exp55.a<3&&b&1的相反表达式为()。A.a<3||b&1B.a>=3&&b|1C.a>=3||b|1D.a>=3||b>>1<<1==b(正确答案)6.以下程序的输出是()

voidfunc1(inta,intb){intc=a;a=b;b=c;}

voidfunc2(int&a,int&b){intc=a;a=b;b=c;}

voidmain(){

intx=19,y=92;

func1(x,y);

func2(x,y);

cout<<x<<“,”<<y<<endl;

}

A.19,92B.92,19(正确答案)C.19,19D.92,927.设“intarray[3][5]={{2,4},{3,9,6}};”则array[1][1]的值为()。A.2B.4C.3D.9(正确答案)8.下列语句中,错误的是()。A.constinta=6;B.constdoublep;C.intconsta=6;D.doubleconstp;(正确答案)9.设“charx[]=”Hello”;chary[]={‘H’,’e’,’l’,’l’,’o’};”,则下列说法正确的是()。A.x数组和y数组的长度相同B.x数组的长度大于y数组的长度(正确答案)C.x数组的长度小于y数组的长度D.x数组与y数组等价10.在C++程序中,对象之间的相互通信通过()A.继承实现B.调用成员函数实现(正确答案)C.封装实现D.函数重载实现11.下面C++程序的输出结果是()。

classclassA

{

private:

staticintnum;

public:

classA(){num++;cout<<num<<"";}

~classA(){num--;cout<<num<<"";}

};

intclassA::num=0;

voidmain()

{

classAobject1;

classAobject2;

}

A.0000B.0101C.1210(正确答案)D.112112.如果利用C++流进行输入输出,下面的叙述中正确的是()。A.只能借助于cout进行输出B.只能进行格式化输入输出C.只能使用运算符>>和<<进行输入输出D.以上均不正确(正确答案)13.语句“ofstreamofs(“document.txt,ios::app|ios::binary);”的执行效果是()。A.若document.txt存在,将文件写指针定位于文件尾;若文件不存在,创建一个新文件(正确答案)B.若document.txt存在,将其置为空文件;若文件不存在,打开失败C.若document.txt存在,将文件写指针定位于文件首;若文件不存在,创建一个新文件D.若document.txt存在,将其置为空文件;若文件不存在,创建一个新文件14.下面说法正确的是()。A.类的内联函数必须在类的定义体内定义B.内联函数必须通过关键字inline来定义C.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方D.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方(正确答案)15.类定义“classBase{intnum;};classDerived:Base{};”中,成员num和派生类Derived的隐含访问权限是()A.公有成员;公有继承B.私有成员;私有继承(正确答案)C.私有成员;公有继承D.保护成员;保护继承16.一个类的友元函数或友元类能够通过成员操作符访问该类的()。A.所有成员(正确答案)B.私有成员C.公用成员D.保护成员17.下列关于Qt的说法错误的是()。A.Qt中一个信号只能连接槽函数,不能连接到另外的一个信号(正确答案)B.Qt中一个信号可以和多个槽相连C.Qt中继承自QObject类的类对象可以自动析构D.Qt中信号与槽可以断开18.下列描述错误的是()A.抽象类的派生类也可以是抽象类B.有纯虚函数的类都是抽象类C.纯虚函数一定不能有函数实现(正确答案)D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出19.对于下面的类定义,描述正确的是()

classBase{

public:

virtualvoidfunction1(){}

voidfunction2(){}

};

classDerived:publicBase{

public:

voidfunction1(){cout<<”classDerivedfunction1”<<endl;}

virtualvoidfunction2(){

cout<<”classDerivedfunction2”<<endl;

}

};

A.Base::function2()和Derived::function1()都是虚函数B.Base::function2()和Derived::function1()都不是虚函数C.Derived::function1()是虚函数,而Base::function2()不是虚函数(正确答案)D.Derived::function1()不是虚函数,而Base::function2()是虚函数20.下列可以重载的运算符是()A.sizeof()B.->C.#D.!(正确答案)21.设“inta=3;intb=a<<3;”,那么b的值为()A.3B.9C.12D.24(正确答案)22.下面的C++程序执行后,输出的结果是()

classExample{

public:

intdata;

voidSetData(inti);

};

intdata=1;

voidExample::SetData(intiData){data=iData;}

voidmain(){

Exampleobject1;

intdata=5;

object1.SetData(0);

cout<<object1.data<<”;”;

object1.SetData(data);

cout<<object1.data<<”;”;

object1.SetData(::data);

cout<<object1.data;

}

A.0;1;5B.0;5;5C.0;5;1(正确答案)D.0;1;123.在WIN32平台下,sizeof(double)=(),sizeof(float)=(),sizeof(double)=(),括号内的值分别是()。A.4;8;8B.4;8;4C.8;4;4(正确答案)D.8;4;824.下列关于STL描述正确的是()A.STL容器是完全线程安全的B.std::sort是稳定的排序算法C.在vector容器中执行插入操作后以前保存的迭代器可能会失效(正确答案)D.在vector容器中,begin返回的是第一个元素的迭代器,end返回的是最后一个元素的迭代器25.下列编译过程顺序正确的是()A.语法分析、词法分析、语义分析、代码优化、中间代码生成、目标代码生成B.词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成(正确答案)C.语法分析、语义分析、词法分析、代码优化、中间代码生成、目标代码生成D.词法分析、语义分析、语法分析、中间代码生成、代码优化、目标代码生成26.下列C++程序执行后,如果输出为123,那么程序中空缺的语句是()。

inti=1;

classExample{

public:

staticinti;

intvalue(){returni-1;}

intvalue()const{returni+1;}

};

intExample::i=2;

voidmain(){

inti=3;

Exampleexample1;

constExampleexample2;

______

}

A.cout<<example1.value()<<Example::i<<example2.value();(正确答案)B.cout<<Example::i<<example1.value()<<example2.value();C.cout<<example1.value()<<example2.value()<<Example::i;D.cout<<example2.value()<<Example::i<<example1.value();27.下面的C++程序执行后,输出“#”和“”的个数分别是()。

inta=0;

do{a+=3;cout<<’#’;}while(a<20);

while(a-->0)cout<<’’;

A.7和20B.8和20C.7和21(正确答案)D.8和2128.下列C++程序的输出结果是()。

voidmain(){

chars="121234342";

inta=0,b=0,c=0,d=0;

for(inti=0;s[i]!=’\0’;i++)

switch(s[i]){

case’1’:d++;

case’2’:c++;

case’3’:b++;

case’4’:a++;

}

cout<<a<<","<<b<<","<<c<<","<<d<<endl;

}

A.2,2,3,2B.9,6,5,3C.9,7,5,2(正确答案)D.2,2,2,229.下面C++程序执行的输出结果是()

#include<typeinfo>

classB1{

public:

virtual~B1(){};

};

classB2{

public:

virtual~B2(){};

};

classMI:publicB1,publicB2{};

classMI2:publicMI{};

intmain(){

B2b2=newMI2;

cout<<(typeid(b2)==typeid(MI2))

温馨提示

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

评论

0/150

提交评论