《C++判断题题库1》由会员分享,可在线阅读,更多相关《C++判断题题库1(4页珍藏版)》请在金锄头文库上搜索。
1、序号题干答案5 使用关键字class定义的类中默认的访问权限是私有(private)的. 对6 作用域运算符(:)只能用来限定成员函数所属的类. 错7 构造函数和析构函数都不能重载. 错8 析构函数是一种函数体为空的成员函数. 错9 说明或定义对象时,类名前面不需要加class关键字 . 对10 对象成员的表示与结构变量成员的表示相同,使用运算符 .或-. 对11 所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的. 对12 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员. 对13 可以在类的构造函数中对静态数据成员进行初始化. 错14
2、 函数的定义不可以嵌套,类的定义可以嵌套. 对15 C+语言中 ,既允许单继承 ,又允许多继承 . 对16 派生类是从基类派生出来,它不能再生成新的派生类. 错17 派生类的继承方式中有两种:公有继承和私有继承. 错18 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的. 错19 在公有继承中,基类中只有公有成员对派生类对象是可见的. 对20 在私有继承中,基类中只有公有成员对派生类是可见的. 错21 在私有继承中,基类中所有成员对派生类的对象都是不可见的. 对22 在保护继承中,对于派生类的访问同于公有继承,而对于派生类的对象的访问同于私有继承. 对23 派生类中至少包含了它的所
3、有基类的成员,在这些成员中可能有的是不可访问. 对24 构造函数可以被继承. 错25 析构函数不能被继承. 对26 子类型是不可逆的. 对27 只要是类 M 继承了类N,就可以说类M 是类 N 的子类型 . 错28 如果 A 类型是 B 类型的子类型 ,则 A 类型必然适应于B 类型 . 对29 多继承情况下,派生类的构造函数中基类构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序. 对30 单继承情况下,派生类中对基类成员的访问也会出现二义性. 错31 解决多继承情况下出现的二义性的方法之一是使用成员名限定法. 对32 虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问
4、题. 对33 指向对象的指针和指向类的成员的指针在表达形式上是不相同的. 对34 已知 :m 是类 A 的对象 ,n 是类 A 的公有数据成员,p 是指向类A 中 n 成员的指针 .下述两种表示是等价的. m.n 和 m.*p 对35 指向对象的指针与对象都可以作为函数参数,但是使用前者比后者好些. 对36 对象引用作为函数参数比用对象指针更方便些. 对37 对象数组的元素可以是不同类的对象. 错38 对象数组的既可以赋初值又可以赋值. 对39 指向对象数组的指针不一定必须指向数组的首元素. 对40 一维对象指针数组的每个元素应该是某个类的对象的地址值. 对41 const char *p 说
5、明了 p 是指向字符串常量的指针. 对42 一个能够更新的变量使用在一个不能被更新的环境中是不破坏类型保护的,反之亦然 .错43 一个类的构造函数中可以不包含对其子对象的初始化. 错44 转换函数不是成员函数,它是用来时行强制类型转换的. 错45 使用模板可以减少重复劳动,提高代码重用率. 对46 C+语言中模板分为函数模板和类模板两种. 对47 类模板可以生成若干个模板类,每个模板类又可定义若干个对象. 对48 使用提取符 ()可以输出各种类型的变量的值,也可以输出指针值. 对49 预定义的插入符从键盘上接收数据是不带缓冲区的. 错50 预定义的提取符和插入符是可以重载的. 对51 记录流的
6、当前格式化状态的标志字中每一位用于记录一种格式,这种格式是不能被设置或清除的 . 错52 设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是 cout. 对53 操作子本身是一个对象,它可以直接被提取符或插入符操作. 对54 get()函数不能从流中提取终止字符,终止字符仍留在流中.getline() 函数从流中提取终止 字符 ,但终止字符被丢弃. 对55 ios 类的成员函数clear()是用来清除整个屏幕的. 错56 使用打开文件函数open()之前 ,需要定义一个流类对象,使用open()函数来操作该对象.对57 使用关闭文件函数close()关闭一个文件时,
7、但流对象仍存在. 对58 以 app方式打开文件时,当前的读指针和写指针都定位于文件尾. 对59 打开 ASCII 码流文件和二进制流文件时,打开方式是相同的. 错60 read()和 write() 函数可以读写文本文件,也可以读写二进制文件. 对61 流的状态包含流的内容、长度和下一次提取或插入操作的当前位置. 对62 seekg()函数seekp()函数分别用来定位读指针和写指针.如果使用seek()函数可以同时定 义读写指针 . 错63 函数的参数个数和类型都相同,只是返回值不同,这不是重载函数. 对64 重载函数可以带默认值参数,但要注意二义性. 对65 多数运算符可以重载,个别运算
8、符不能,运算符重载是通过函数定义实现的. 对66 对每个可重载的运算符来说,只能重载为友元函数. 错67 重载的运算符保持原来的优先级和结合性以及操作数的个数. 对68 虚函数是用virtual 关键字说明的成员函数. 对69 构造函数说明为纯虚函数是没有意义的. 对70 运算符重载实际上是对已有的运算符重新定义其功能. 对71 运算符重载的形式有两种:成员函数形式和友元形式. 对72 纯虚函数是一种特殊的成员函数,它是一种没有具体实现的虚函数. 对73 具有纯虚函数的类是抽象类,它的特点是不可以定义对象. 对74 预处理命令是在进行编译时首先执行的,然后再进行正常编译. 对75 宏定义命令是
9、以分号结束的. 错76 带参数的宏定义只能有1 个或 2 个参数 . 错77 文件包含命令所包含的文件是不受限制的. 错78 条件编译命令只在编译时才有作用. 对79 预处理命令的主要作用是提高效率. 错80 复合语句就是分程序. 错81 条件语句不能作为多路分支语句. 错82 开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句. 错83 开关语句中的default 关键字 ,只能放在该语句的末尾,不能放在开头或中间. 错84 switch 语句中必须有break 语句 ,否则无法退出switch 语句 . 错85 while 循环语句的循环体至少执行一次. 错86 do-while
10、循环可以写成while 循环的格式 . 对87 for 循环是只有可以确定的循环次数时才可使用,否则不能用for 循环 . 错88 只有 for 循环的循环体可以是空语句,其他种循环的循环体不能是空语句. 错89 当循环体为空语句时,说明该循环不做任何工作,只起延时作用. 错90 循环是可以嵌套的,一个循环体内可以包含另一种循环语句. 对91 在多重循环中,内重循环的循环变量引用的次数比外重循环多. 对92 break 语句可以出现在各种循环体中. 对93 continue 语句只能出现在循环体中. 对94 在 C+语言中 ,定义函数时必须给出函数的类型. 对95 在 C+语言中 ,说明函数时
11、要用函数原型,即定义函数时的函数头部分. 对96 在 C+语言中 ,所有函数在调用前都要说明. 错97 如果一个函数没有返回值,定义时需用void 说明 . 对98 在 C+语言中 ,传址调用将被引用调用所替代. 对99 使用内联函数是以增大空间开销为代价的. 对100 返回值类型、参数个数和类型都相同的函数也可以重载. 错101 在设置了参数默认值后,调用函数的对应实参就必须省略. 错102 计算函数参数顺序引起的二义性完全是由不同的编译系统决定的. 错103 for 循环中 ,循环变量的作用域是该循环的循环体内. 错104 语句标号的作用域是定义该语句标号的文件内. 错105 函数形参的作
12、用域是该函数的函数体. 对106 定义外部变量时,不用存储类说明符extern ,而说明外部变量时用它. 对107 内部静态类变量与自动类变量作用域相同,但是生存期不同. 对108 静态生存期的标识符的寿命是短的,而动态生存期标识符的寿命是长的. 错109 重新定义的标识符在定义它的区域内是可见的,而与其同名的原标识符在此域内是不可见的 .但是 ,它是存在的 . 对110 静态类标识符在它的作用域之外是不存在的. 错111 所有的函数在定义它的程序中都是可见的. 错112 编译系统所提供的系统函数都被定义在它所对应的头文件中. 对113 调用系统函数时,要先将该系统函数的原型说明所在的头文件包
13、含进去. 对114 C+语言中模板分为函数模板和类模板两种. 对115 函数模板中模板参数可用任何一种类型替换. 错116 函数模板中模板参数只能有一个. 错117 函数模板在编译时不生成可执行代码. 对118 一个函数模板只生成一个模板函数. 错119 C+语言引进了引用的概念,给编程带来了很多方便. 对120 C+语言允许使用友元,但是友元会破坏封装性. 对121 C+语言中使用了新的注释符(/), C 语言中注释符(/* */ )不能在C+语言中使用 .错122 为了减轻使用者的负担,与 C 语言相比 ,C+语言中减少了一些运算符. 错123 C+程序中 ,每条语句结束时都加一个分号(;
14、). 对124 C+语言中标识符内的大小写字母是没有区别的. 错125 C+语言中不允许使用宏定义方法定义符号常量,只能用关键字const 来定义符号常量.错126 在编写 C+程序时 ,一定要注意采用人们习惯使用的书写格式,否则会降低其可读性. 对127 C+语言是一种以编译方式实现的高级语言. 对128 在 C+程序编译过程中,包含预处理过程、编译过程和连接过程,并且这三个过程的顺序是不能改变的 . 对129 预处理过程是编译过程之后、连接过程之前进行的. 错130 源程序在编译过程中可能会出现一些错误信息,但在连接过程中将不会出现错误信息.错131 任何字符常量与一个任意大小的整型数进行
15、加减都是有意义的. 错132 转义序列表示法只能表示字符不能表示数字. 对133 在命名标识符中,大小写字母是不加区分的. 错134 C+的程序中 ,对变量一定要先说明再使用,说明只要在使用之前就可以. 对135 C+中数组元素的下标是从0 开始 ,数组元素是连续存储在内存单元中的. 对136 数组赋初值 ,初始值表中的数据项的数目可以大于或等于数组元素的个数. 错137 枚举变量的取值受到该枚举变量所对应的枚举表中枚举符的局限. 对138 指针是用来存放某种变量的地址值的变量.这种变量的地址值也可以存放在某个变量中,存放某个指针的地址值的变量称为指向指针的指针,即二级指针 . 对139 引用
16、是某个变量的别名.对引用的操作 ,实质上就是对被引用的变量的操作. 对140 运算符的优先级和结合性可以确定表达式的计算顺序. 对141 在说明语句int a(5), 中,b 的值与 a 的值是相等的. 对142 已知 :int a(5);表达式 (a=7)+a 具有二义性 . 对143 移位运符在移位操作中,无论左移还是右移,所移出的空位一律补O. 错144 某个变量的类型高是指该变量被存放在内存中的高地址处. 错145 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射. 错146 类型定义是用来定义一些C+ 中所没有的新类型. 错147 定义结构变量时必须指出该结构变量是属于某种结构类型的. 对148 无名结构是不允许定义结构变量的. 错149 同一结构的不同成员占用不同的内存单元. 对150 联合的所有成员都是没有内存地址的. 错151 联合的所有成员都是没有内存地址的. 错