1: 单选题 (2分) 多态性是通过()实现的 A: 构造函数 B: 析构函数 C: 虚函数 D: 函数重载 正确答案: 2: 单选题 (2分) 执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。 A: 一个地址 B: H C: Hello D: 乱码 正确答案: 3: 单选题 (2分) 如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。 A: char* B: constchar* C: Char D: constchar 正确答案: 4: 单选题 (2分) 在下列关键字中,不能用来表示继承方式的是() A: private B: static C: public D: protected 正确答案: 5: 单选题 (2分) 有如下 4 个语句: ① cout<<~A~<<setfill(~*~)<<left<<setw(7)<<~B~<<endl; ② cout<<setfill(~*~)<<left<<setw(7)<<~A~<<~B~<<endl; ③ cout<<~A~<<serfill(~*~)<<right<<setw(7)<<~B~<<endl; ④ cout<<setfill(~*~)<<right<<setw(7)<<~A~<<~B~<<endl; 其中能显示 A******B 的是 A: ①和③ B: ①和④ C: ②和③ D: ②和④ 正确答案: 6: 单选题 (2分) 在每个C++程序中都必须包含有这样一个函数,该函数的名称为() A: main B: MAIN C: name D: function 正确答案: 7: 单选题 (2分) C++源文件的缺省扩展名为() A: cpp B: exe C: obj D: lik 正确答案: 8: 单选题 (2分) 如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( ) A: 调用拷贝构造函数 B: 调用整型参数的构造函数 C: 调用赋值运算符 D: 引起编译错误 正确答案: 9: 单选题 (2分) 父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么() A: 在子类中这两个函数构成重载关系 B: 子类不会继承父类的这个函数 C: 子类中的函数会覆盖父类中的函数 D: 编译时会发生错误 正确答案: 10: 单选题 (2分) C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是() A: 增加了一些新的运算符 B: 允许函数重载,并允许设置缺省参数 C: 规定函数说明符必须用原型 D: 引进了类和对象的概念 正确答案: 11: 单选题 (2分) 若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是() A: &aa[0]+1 B: &aa[1] C: &aa[0]++ D: aa+1 正确答案: 12: 单选题 (2分) 当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含()文件 A: iostream、h B: iomanip、h C: fstream、h D: ststreh 正确答案: 13: 单选题 (2分) 链表的基本单元是() A: 节点 B: 头指针 C: 尾指针 D: 数据域 正确答案: 14: 单选题 (2分) 要打开一个文件并从中读取数据,应该使用()类的对象 A: istream B: ostream C: ifstream D: ofstream 正确答案: 15: 单选题 (2分) 假定a为一个短整型(shortint)数组名,则元素a[8]的地址为() A: a+4 B: a+8 C: a+16 D: a+32 正确答案: 16: 单选题 (2分) 二进制数00001001跟01000011异或的结果为() A: 01001011 B: 00000001 C: 01001010 D: 01001100 正确答案: 17: 单选题 (2分) A: 10 B: 9 C: 0 D: 1 正确答案: 18: 单选题 (2分) 若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的是() A: p1=&m,p2=&p1 B: p1=&m;p2=&n;*p1=*p2 C: p1=&m;p1=p2 D: p1=&m;*p2=*p1 正确答案: 19: 单选题 (2分) 如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是() A: 1 B: 2 C: 3 D: 4 正确答案: 20: 单选题 (2分) 下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( ) A: 这可能是一个函数模板的声明 B: 这可能是一个类模板的声明 C: 这既可能是一个函数模板的声明,也可能是一个类模板的声明 D: 这肯定是一个错误的模板声明 正确答案: 21: 单选题 (2分) 有如下类定义: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 则类 MyClass 的构造函数的个数是 ( ) A: 1个 B: 2个 C: 3个 D: 4个 正确答案: 22: 单选题 (2分) 下列有关抽象类和纯虚函数的叙述中,错误的是() A: 拥有纯虚函数的类是抽象类,不能用来定义对象 B: 抽象类的派生类若不实现纯虚函数,它也是抽象类 C: 纯虚函数的声明以“=0;”结束 D: 纯虚函数都不能有函数体 正确答案: 23: 单选题 (2分) 假定AB为一个类,则执行“ABa(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为() A: 4 B: 5 C: 8 D: 13 正确答案: 24: 单选题 (2分) 十进制数127转换成二进制数是() A: 11111111 B: 01111111 C: 10000000 D: 11111110 正确答案: 25: 单选题 (2分) 已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是: int v1; loong v2; 下列调用语句中正确的是 ( ) A: f(v1,&v2) B: f(v1,v2) C: f(&v1,&v2) D: f(&v1,v2) 正确答案: 26: 单选题 (2分) private访问属性限制对象的成员可以在()中访问 A: 本类的成员函数 B: main函数 C: 父类的成员函数 D: 子类的成员函数 正确答案: 27: 单选题 (2分) 程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符 A: 空格或逗号 B: 逗号或回车 C: 逗号或分号 D: 空格或回车 正确答案: 28: 单选题 (2分) 数组名作为实参传递给形参时,数组名被处理为该数组的() A: 长度 B: 元素个数 C: 首地址 D: 各元素的值 正确答案: 29: 单选题 (2分) 下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是() A: cout<<left<<setfill(~*~)<<357; B: cout<<left<<setw(5)<<357; C: cout<<left<<setw(5)<<"ABCDE"; D: cout<<left<<"ABCDE"; 正确答案: 30: 单选题 (2分) 设有定义intx;floatv;,则10+x+v值的数据类型是() A: int B: double C: float D: 不确定 正确答案: 31: 多选题 (4分) 面向对象的编程方法的主要特征包括() A: 封装 B: 继承 C: 多态 D: 消息 正确答案:,B,C 32: 多选题 (4分) C++中变量要求() A: 有明确的类型 B: 先声明后使用 C: 名字中不能使用下划线 D: 严格区分大小写 正确答案:,B,D 33: 多选题 (4分) 设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_( )、 A: for(i=0;i<6;i++)printf(“-”,*(p++)); B: for(i=0;i<6;i++)printf(“-”,*(p+i)); C: for(i=0;i<6;i++)printf(“-”,*p++); D: for(i=0;i<6;i++)printf(“-”,(*p)++); 正确答案:,B,C 34: 多选题 (4分) 模板定义中的类型参数可以用作() A: 局部变量类型 B: 函数参数类型 C: 函数返回值类型 D: 数据成员类型 正确答案:,B,C,D 35: 多选题 (4分) for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是() A: 两个分号 B: 表达式1 C: 表达式2 D: 表达式3 正确答案:,C,D 36: 判断题 (4分) C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是面向过程。() A: 错误 B: 正确 正确答案: 37: 判断题 (4分) 字符串"ab\\\n"在机器中占6个字节。() A: 错误 B: 正确 正确答案: 38: 判断题 (4分) _int可以定义为用户标识符。() A: 错误 B: 正确 正确答案: 39: 判断题 (4分) 结构化程序设计的基本方法是递归法。() A: 错误 B: 正确 正确答案: 40: 判断题 (4分) 宏名必须用大写字母表示。() A: 错误 B: 正确 正确答案: (责任编辑:admin)要这答案加QQ:800020900 或加微信:q800020900 获取 |