C++考试题型.docx
- 文档编号:1119142
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:19
- 大小:26.38KB
C++考试题型.docx
《C++考试题型.docx》由会员分享,可在线阅读,更多相关《C++考试题型.docx(19页珍藏版)》请在冰豆网上搜索。
C++考试题型
考试题型:
选择题、判断题16题、简答题5题、综合题(写程序)5题
选择题、判断题、简答题有55分。
一、选择题(必考)
1.下面关于对象概念的描述中,(A)是错误的。
A.对象就是C语言中的结构体变量
B.对象代表着正在创建的系统中的一个实体
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
类是属性与方法的封装体,而结构只有数据没有方法。
哪怕是classA{inta;}这样一个类,看似没有方法,但它却有默认的构造方法publicA(){}
2.结构化程序设计所规定的三种基本控制结构是(A)。
A.顺序结构、选择结构、循环结构B.输入、输出、处理
C.for、while、switchD.主程序、子程序、函数
3.C++语言中的基本数据类型是(B)。
A.整型、浮点型、逻辑型、无值型和类类型
B.整型、字符型、浮点型、无值型和逻辑型
C.整型、浮点型、字符型、逻辑型和枚举型
D.整型、浮点型、逻辑型、无值型和指针型
4.结构化程序设计主要强调的是(D)。
A.程序的规模B.程序的效率
C.程序设计语言的先进性D.程序易读性
5.下面关于友元的描述中,错误的是(D)。
A.友元函数可以该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
类的友元关系是可以继承的,类的友元为类提供了一个接口,可以通过接口访问类的友元函数。
友元函数可以是类的成员函数。
6.通常的拷贝初始化构造函数是(C)。
A.某个对象名B.某个对象的成员名
C.某个对象的引用名D.某个对象的指针名
7.在inta=10,*P=&a;语句中,p的值是(C)。
A.10B.变量p的地址
C.变量a的地址D.随机数
8.以下哪个特征不是面向对象思想中的主要特征(D)。
A.多态B.继承C.封装D.垃圾回收
9.下列说法中错误的是(B)。
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承时基类中的private成员在派生类中仍是private的
C.私有继承时基类中的public成员在派生类中是private的
D.保护继承时基类中的public成员在派生类中是protected的
无论哪种继承派生类都无权方位基类中的private成员,所以基类中的private和派生类自己的private成员对与派生类来说是不同的。
前者不可以访问后者可以。
起始就当派生类中没有基类的private成员
10.下列关于C++语言类的描述中错误的是(C)。
A.类用于描述事物的属性和对事物的操作
B.类与类之间通过封装而具有明确的独立性
C.类与类之间必须是平等的关系,而不能组成层次结构
D.类与类之间可以通过一些方法进行通信和联络
11.(B)是给对象取一个别名,它引入了对象的同义词。
A.指针B.引用C.枚举D.结构
12.有关类和对象的说法不正确的是(C)。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据类型与变量的关系相似
13.下列对派生类的描述中,错误的是(C)。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的缺省继承方式是private
D.派生类只继承了基类的公有成员和保护成员
14.下列关于C++函数的描述中正确的是(B)。
A.主函数是程序的入口,它由用户定义的函数调用
B.函数在调用之前必须先被声明
C.每个用户定义函数只能被其它函数调用一次
D.函数是C++中面向对象程序设计框架的基本组成单元
15.下面关于C++语言变量的叙述错误的是(B)。
A.C++语言中变量分为auto,static,extern和register四种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部静态变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
16.关于友元的概念错误的是(D)。
A.友元函数没有this指针
B.调用友元函数时必须在它的实参中给出要访问的对象
C.一个类的成员函数也可以作为另一个类的友元函数
D.只能在类的公有段声明友元
17.在C++中,打开一个文件,就是将这个文件与一个(B)建立关联,关闭一个文件,就是取消这种关联。
A.类B.流C.对象D.结构
18.若要把函数voidf()定义为aClass的友元函数,则应在类aClass的定义中加入的语句是(D)。
A.voidf();B.staticvoidf();
C.friendf()D.friendvoidf();
19.在C++语言中,main函数默认返回一个(A)类型的值。
A.intB.flaotC.charD.void
20.在类中定义和实现的函数称为(B)。
A.静态成员函数B.内联函数
C.常成员函数D.虚函数
21.下列运算符中,(C)运算符在C++中不能重载。
A.&&B.[]C.:
:
D.new
22.两个变量定义不能同名,是因为(B)。
A.这两个变量定义在同一文件中
B.这两个变量定义在同一作用域中
C.一个定义在main函数中,一个定义在子函数中
D.以上说法均不正确
23.下述对于友元函数描述正确的是(C)。
A.友元函数的实现必须在类的内部定义
B.友元函数是类的成员函数
C.友元函数破坏了类的封闭性和隐藏性
D.友元函数不能访问类的私有成员
24.假定MyClass为一个类,则执行MyClassa[3],*p[2];语句时,自动调用该类构造函数(B)次。
25.this指针是C++语言实现什么的一种机制?
(B)
A.抽象B.封装C.继承D.重载
26.下列引用的定义中,(B)是错误的。
A.inti;B.inti;
int&j=i;int&j;
j=i;
C.floati;D.chard;
float&j=i;char&k=d;
27.关于this指针的说明不正确的是(D)。
A.不能在程序中修改this指针
B.this指针可以给其它指针赋值,但不能修改this指针
C.静态成员函数中没有this指针
D.this指针可以被赋值
28.面向对象程序设计将数据与(A)放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作B.信息
C.数据隐藏D.数据抽象
答案
1A2A3B4D5D6C7C8D9B10C
11B12C13D14B15B16D17B18D19A20B
21C22B23C24B25B26B27D28A
二、判段题
c++基础知识
1、函数的参数和返回值类型可以是简单数据类型,也可以是指针、引用、数组和类。
(×)
2、C++程序总是从第一个定义的函数开始执行。
(×)
3、C++语言是在C语言基础上扩充了函数功能而得来的。
(×)
4、在VC6.0开发环境中,对导入的所有位图资源都可以进行修改。
(×)
5、在C++中,标识符Max和MAX是不一样的。
(√)
6、C++函数必须有返回值,否则不能使用函数。
(×)
7、采用inline定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。
(√)
8、引入内联函数的主要目的是缩短程序代码,让程序少占用内存空间。
(×)
9、在C++程序中,可以使用命名空间,也可不使用命名空间。
(√)
10、C++中,如果条件表达式值为-1,则表示逻辑为假。
(×)
11、ASCII码文件和二进制文件都可在记事本中直接打开。
(×)
12、在C++语言中,表达式:
“b++;”和“++b;”在任何地方的作用都是不一样的。
(×)
编程工具相关知识
1、在MFC编程中,通过Invalidate(TRUE)可以发出重绘视图的消息。
(√)
2、在MFC编程中,视图/文档类程序是通过OnDraw()函数进行进行输出的。
(√
3、使用MFC编程时,OnDraw函数是CView类的成员函数。
(√)
4、在文档/视图结构的程序中,输出是在OnDraw()函数中完成的。
(√)
5、在VC6.0开发环境中,可以同时开发几个工程。
(√)
6、VisualC++集成开发环境中,一个Workspace可以创建多个Project。
(√)
7程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
(√)
8、在C语言中,不使用命名空间,但在C++程序中,一定要使用命名空间。
(×)
字符串、数组、指针及地址
1、字符串”hello,world”在内存中存放时,占用11个字节的空间(X)
2、当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
(√)
3、每个对象也有地址,该地址就是存储此对象数据成员的单元的首地址。
(√)
4、在C+语言中,指针的概念与C语言是一样的,都是指变量的地址。
(√)
5、在内存中,一个字符常量或变量是以ASCII码值存储的,它可直接作为整数值参加运算。
(√)
6、char*constp表明p是一个指针,它只能指向一个字符串常量。
(×)
7、在定义二维数组时,语句“inta[][4]={{1,2,3},{4}};”是不正确的。
(×)
8、设Time是一个类,现有指针p的定义语句:
constTime*p;则通过指针p不可以修改Time类对象的公有数据成员。
(√)
9、在定义二维数组时,语句:
inta[5][];是错误的。
(√)
静态及动态成员函数
1、类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。
(√)
2、如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。
(√)
类函数
1、在C++中,也可使用struct来声明类,但在该类中不能声明成员函数。
(×)
2、在c++语言中,也可以使用struct(结构体)来定义一个类。
(√)
3、语句“typedefstruct_MYSTRUC{intx;inty;doublez;}MYSTRUC;”是非法语句。
(×)
4、在C++语言中,使用struct(结构体)定义的类与使用class定义的类是一样的。
(×)
5、在声明一个类时,必须同时声明类的数据成员和成员函数。
(×)
6、设函数fun()是一个不属于任何类的普通函数,则在调用该函数时只能用fun()方式,而不能用:
:
fun()方式来调用。
(×)
7、如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。
(×)
派生类
1、派生类的成员函数可以直接访问基类的所有成员。
(×)
2、如果派生类的继承方式是protected的,则在main()函数中,可以通过派生类对象来访问基类的公有的成员。
(×)
3、如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。
(√)
函数重载
1、函数重载既要求两函数参数对应的类型不同又要求参数个数不同。
(X)
2、函数重载时,它们
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 考试 题型