C++程序设计基-整理-题库_第1页
C++程序设计基-整理-题库_第2页
C++程序设计基-整理-题库_第3页
C++程序设计基-整理-题库_第4页
C++程序设计基-整理-题库_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

C 程序设计基础 题库 一 选择题一 选择题 1 下面不属于面向对象语言的特征的是 B A 继承性 B 兼容性 C 多态性 D 封装性 2 C 语言是从早期的C语言发展演变而来的 与C语言相比 它在求解问题上进行的最大改进 是 B A 面向过程 B 面向对象 C 安全性 D 复用性 3 C 的基本数据类型中 用来判断真假的数据类型为 B A int B bool C char D float 4 关于字符常量的写法 错误的是 A A B a C t D 0 5 下面C 标识符命名正确的是 D A class B mail C 1var D inline 6 下面基本数据类型初始化表达式错误的是 C A int i 5 B float f 3 56f C char c ab D double f 3 56 7 C 对C语言作了很多改进 下列描述中 D 使得C语言发生了质变 从面向过程变成了 面向对象 A 增加了一些新的运算符 B 允许函数重载 并允许设置缺省参数 C 规定函数说明必须用原型 D 引进了类和对象的概念 8 在C 中 关于下列函数参数的描述中 B 是正确的 A C 语言中 实参是按照自左至右的顺序求值的 B 若一个参数设置了默认值 则其右边的所有参数都具有默认值 C 函数参数的默认值不允许是表达式 D 设置参数默认值时 应该全部参数都设置 9 重载函数在调用时选择的依据中 D 是错误的 A 参数个数 B 参数的类型 C 函数名字 D 函数的类型 10 已知程序中已经定义了函数test 其原型是int test int int double 则下列重载形式中不正确的是 A A char test int int int B double test int int double C int test int int float D int test int double 11 关于类的概念下列说法正确的是 C A 类和结构体是同一个概念 B 类的数据成员外界都不可访问 C 类可以没有显式的构造函数 D 类一定要有显式的析构函数 12 关于类和对象的说法正确的是 A 面向对象程序设计方法通过数据抽象和行为抽象 封装形成了 类 B 类具有的行为由变量表示 C 类的属性一般由函数表示 且定义为public的 D 类是具体的 对象是抽象的 13 关于类和对象不正确的说法是 C A 类是一种类型 它封装了数据和操作 B 对象是类的实例 C 一个类的对象只有一个 D 一个对象必属于某个类 14 已知A是一个类 则执行语句 A a 时 将自动调用该类的 A A 构造函数 B 拷贝构造函数 C 析构函数 D 数据成员 15 在下列关键字中 用于说明类中公有成员的是 A A public B private C protected D friend 16 D 是析构函数的特征 A 析构函数可以有一个或多个参数 B 析构函数名与类名不同 C 析构函数的定义只能在类体内 D 一个类中只能定义一个析构函数 17 如果类的成员在定义时使用关键字public来设置访问权限 则该成员是 A A 公有类型 B 私有类型 C 受保护类型 D 任意类型 18 关于成员函数特征的下列描述中 A 是错误的 A 成员函数一定是内联函数 B 成员函数可以重载 C 成员函数可以设置缺省参数值 D 成员函数可以是静态的 19 下列描述中 D 是不正确的 A 面向对象程序设计可重用性较好 B 对象之间通过消息进行信息传递 C 多态性体现了行为共享 D 面向对象方法的核心是继承 20 派生类的对象对它的基类成员中 A 是可以访问的 A 公有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 私有继承的公有成员 21 下列标识符的定义中合法的是 A C A abc B for C intl D how 22 执行下列语言后 i和j的值分别为 C int i 5 j 8 t int int t ri ri rj rj t A 5和5 B 5和8 C 8和5 D 8和8 23 下列关于C 函数的叙述中正确的是 D A 函数在调用之前必须先声明 B 每个函数都必须返回一个值 C 每个函数至少要有一个参数 D 函数可以自己调用自己 24 在调用函数时 如果实参是简单变量 它与对应形参之间的数据传递方式是 B A 地址传递 B 单向值传递 C 双向值传递 D 不确定 25 系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用 在下列选项中不能 被作为依据的是 D A 参数个数 B 参数类型 C 函数名称 D 函数类型 26 标志着C 从面相过程变成面相对象的主要措施是 D A 增加了新的运算符 B 允许函数重载 设置默认参数 C 规定函数声明必须用原型 D 引用了类和对象的概念 27 有关类和对象的说法错误的是 C A 对象是类的一个实例 B 任何一个对象只能属于一个具体的类 C 一个类只能有一个对象 D 类与对象的关系和数据类型与变量的关系相似 28 对任意一个类 析构函数的个数最多为 B 个 A 0 B 1 C 2 D 4 29 已知A是一个类 则执行语句A a 时 将自动调用该类的 B A 有参构造函数 B 无参构造函数 C 拷贝构造函数 D 赋值构造函数 30 下述静态数据成员的特性中 D 是错误的 A 说明数据成员时前边要加修饰符static B 静态数据成员要在类体外进行初始化 C 引用静态数据成员时 要在静态数据成员名前加 类名 和作用域运算符 D 静态数据成员不是所有对象所共有的 31 下面有关C 构造函数和析构函数说法正确的是 D A 如果不声明任何构造函数 系统会赋给一个默认 无参 的构造函数 如果自定义 了构造函数 系统也会赋给默认的构造函数 B 析构函数是用来完成对象被删除前的清理工作 它可以接受参数 C 构造函数和析构函数都可以是虚函数 D 构造方法是与类同名的方法 它可以重载 32 已知类D继承类B 且有声明语句B b p D d 下面赋值语句错误的是 C A d b B p C b d D p 33 下列有关继承和派生的叙述中 正确的是 A 如果一个派生类私有继承其基类 则该派生类中的成员不能访问基类的保护成员 B 派生类的成员函数可以访问基类的所有成员 C 在创建派生类对象时 先调用派生类构造函数 再调用基类的构造函数 D 在销毁派生类对象时 先调用派生类析构函数 再调用基类的析构函数 34 C 语言的跳转语句中 对于break和continue说法正确的是 B A break语句只应用与循环体中 B continue语句只应用于循环体中 C break是无条件跳转语句 continue不是 D break和continue都可以用于跳出if条件分支 35 下面是关于派生类声明的开始部分 其中正确的是 D A class virtual B public A B virtual class B public A C class B public A virtual D class B virtual public A 36 对基类和派生类的关系描述中 B 是错的 A 派生类是基类的具体化 B 派生类是基类的子集 C 派生类是基类定义的延续 D 派生类是基类的组合 37 下列运算符中 不能被重载的是 C A pa 后 下面描述错误的是 A A pa的值为5 B pa指向整形变量a C pa表示变量a的值 D pa的值是变量a的地址 42 假设 a 5 执行下列语句后 a 的值为 D switch a case 4 a case 5 a case 6 a break case 7 a default a A 2 B 3 C 4 D 5 43 有函数原型声明语句如下 void fun int x int y 10 char z 下面调用语句中不合法的是 C A fun 5 B fun 5 8 C fun 6 D fun 10 10 44 调用函数时 如果实参是一个数组名 则向函数传递的是 B A 数组的长度 B 数组的首地址 C 数组中每个元素的地址 D 数组中每个元素的值 45 在C 中 关于下列设置参数默认值的描述中 正确的是 C A 不允许设置参数的默认值 B 设置参数默认值只能在定义函数时设置 C 设置参数默认值时 应该是先设置右边的 再设置左边的 D 设置参数默认值时 应该全部参数都设置 46 有关类的说法错误的是 D A 类是一种用户自定义的数据类型 B 只有类中的成员函数才能存取类中的私有数据 C 在类中如果不作特殊说明 所指的数据均为私有类型 D 在类中如果不作特殊说明 所指的成员函数均为公有类型 47 下列关于构造函数的描述中 错误的是 D A 构造函数的函数名与类名相同 B 构造函数可以重载 C 构造函数可以设置默认参数 D 构造函数必须指定类型说明 48 通常拷贝构造函数的参数是 D A 某个对象名 B 某个对象的成员名 C 某个对象的指针名 D 某个对象的引用名 49 已知A是一个类 则执行语句A a 时 将自动调用该类的 B A 有参构造函数 B 无参构造函数 C 拷贝构造函数 D 赋值构造函数 50 关于友元 下面说法中正确的是 A A 一个类的成员函数可以说明为另一个类的友元 B 当一个类说明为另一个类的友元时 这个类中的第一个成员可以访问另一个类 C 如果类A是类B的友元 类B又是类C的友元 则类A是类C的友元 D 如果类A是类B的友元 类B也是类A的友元 二 填空题二 填空题 1 在面向对象的程序设计中 将一类对象的公共性质进行数据抽象和行为抽象 然后将抽象 得到的数据和行为进行封装 形成了 类 它的实例称为 对象 2 C 基本数据类型中 布尔 类型只有两个值false和true 3 函数形参和实参结合的方式有值调用 传地址调用 引用调用 其中 传地址 调用方式和 引用 调用方式形参的改变能引起实参的改变 4 默认形参值必须按照 从右向左 的顺序声明 5 在C 程序中 同名函数如果形参的 参数类型 或 个数 不同 可以重载 6 面向对象程序设计主要的特性是 封装 继承 和抽象性 多态 7 在面向对象的程序设计中 把对象的一组属性和操作组装在一起 形成一个独立的实体 体现了面向对象方法的 封装 特征 而同一个消息被不同类型的对象接收时产生不同的行为 体现的是面向对象方法的 多态 特征 8 C 中定义 类 的关键字是 class 9 类的访问权限共有三种 分别为 public private 和protected 类中被说明为 public 访问权限的成员 可以被该类的对象访问到 private 访问权限和 protected 访问权限的成员 类外的函数和对象不能访问 10 类的构造函数的函数名与 类名 相同 类的析构函数的函数名与 相同 11 C 中动态内存分配的的操作符是 运算符用于撤销由new建立的对象 释放对象指针所指向的内存空间 12 一个类继承自多个父类 称为 多继承 13 在类中 使用 static 关键字进行静态成员的声明 友元函数是用关键字 friend 修饰的成员函数 C 中使用关键字 const 定义符号常量 14 基类中被说明为 private 的成员只能被其派生类的成员函数访问 不能被外界函数访问 带有纯虚函数的类是 抽象类 15 常用的C 标准输入输出流对象是cin和 cout 16 类的构造函数的函数名与 类名 相同 17 在类中 使用 static 关键字进行静态成员的声明 18 常用的C 标准输入输出流对象是 cin 和cout 19 一个完整程序中必须有一个名为 main 的函数 20 在C 的一个程序中可以定义多个同名的函数 称为 重载 21 友元函数是用关键字 friend 修饰的成员函数 22 在面向对象的程序设计中 将一类对象的公共性质进行数据抽象和行为抽象 然后将抽 象得到的数据和行为进行封装 形成了 类 它的实例称为 对象 23 面向对象程序设计主要的特性是封装性 继承和 多态 抽象性 24 一个完整程序中必须有一个名为 mian 的函数 25 在C 的一个程序中可以定义多个同名的函数 称为 重载 26 在一个函数的定义或声明前加上关键字 inline 该函数就声明为内联函数 27 在C 中 类成员有3种访问权限 其中 public 成员提供给用户的接口功能 28 被声明为const的数据成员只允许声明为 的成员函数访问 29 在类的派生与继承中 可以中断派生链的继承方式是 私有继承 30 在面向对象的程序设计中 将一类对象的公共性质进行数据抽象和行为抽象 然后将抽 象得到的数据和行为进行封装 形成了 类 它的实例称为 对象 三 判断题三 判断题 1 在C 中 标识符Max和MAX是一样的 2 被定义为bool类型的变量 取值即为真或假 3 对象是属性和行为的封装体 4 在C 语言中 使用struct 结构体 定义的类与使用class定义的类是一样的 5 如果一个类的所有对象都共享某一个变量 则应当将该变量定义为该类的私有成员 6 构造函数和析构函数都不能重载 7 派生类是从基类派生出来 它不能再生成新的派生类 8 派生类的继承方式中有两种 公有继承和私有继承 9 在私有继承中 基类中所有成员对派生类都是不可见的 10 参数个数和类型都相同的函数也可以重载 11 C 中标识符内的大小写字母是没有区别的 12 C 中只能使用注释符号 不能使用注释符号 13 常量87 363的数据类型是float 14 引用是某个变量的别名 对引用的操作就是对被引用变量的操作 15 同一程序中局部变量和全局变量不可以同名 16 在C 程序中 循环体中可以出现break语句或continue语句 17 switch语句中可以没有default子句 18 没用参数的两个函数是不能重载的 19 使用关键字class定义的类中缺省的访问权限是私有 private 的 20 返回值类型 参数个数和类型都相同的函数也可以重载 21 在公有继承中 基类中的公有成员和私有成员在派生类中都是可见的 22 构造函数可以声明为虚函数 23 析构函数是一种函数体为空的成员函数 24 构造函数和析构函数都不能重载 25 可以在类的构造函数中对静态数据成员进行初始化 26 一个函数功能不太复杂 但被频繁调用 可以声明为内联函数 27 类的访问权限主要有public protected和private 28 类的构造函数名与类名相同 29 类的析构函数名与类名相同 30 保护继承方式下基类的保护成员在派生类中仍是保护成员 四 程序题四 程序题 1 填空完成下面对Point类的定义 Class Point 声明Point类 public Point int xx 0 int yy 0 X xx Y yy Point Point 复制构造函数 int GetX return X int GetY return Y Private int X Y X Y为私有成员 2 填空完成下面对Time类的定义 class Time 声明Time类 public void setTime int h int m int s setTime 为公有的成员函数 hour h minute m second s void showTime cout hour minute second endl private int hour minute second hour minute second为私有成员 3 填空完成下面对Time类的定义 class Time 声明Time类 public void setTime int h int m int s setTime 为公有的成员函数 hour h minute m second s void showTime cout hour minute second endl private int hour minute second hour minute second为私有成员 4 定义一个时钟类Clock 有私有数据成员 时 hour 分 minute 秒 second 有公有成员函数setTime 实现对时钟的设置 以及公有成员函数showTime 实现时间的输 出 class Clock 声明clock类 public void setTime int h int m int s setTime 为公有的成员函数 hour h minute m second s void showTime cout hour minute second endl private int hour minute second hour minute second为私有成员 5 有如下程序 class Base protected Base cout A Base char c cout c class Derived public Base public Derived char c cout c void main Derived d1 B 执行这个程序屏幕上将显示输出 c 6 有如下代码 class Base private void fun1 const cout fun1 protected void fun2 const cout fun2 public void fun3 const cout fun3 class Derived protected Base private void fun4 const cout fun4 public void fun fun1 fun2 fun3 fun4 其中有语法错误的语句是 7 定义一个哺乳动物类Mammal 有私有数据成员age 有公有成员函数SetAge 和GetAge 实现age的赋值和输出 要求代码书写规范 8 定义一个类Score 它包含私有数据成员english score 英语分数 公有成员函数setScore 和 printScore 其中 setScore 用来设置english score的值 printScore 用来输出english score 的值 在主程序中定义类Score的两个对象stu1和stu2 其英语成绩分别为80 5和90 5 9 声明一个Dog类 包含age weight等属性 以及对这些属性操作的方法 实现并测试这个 类 10 定义一个Circle类 有数据成员radius 半径 成员函数getArea 计算圆的面积 构造 一个Circle的对象进行测试 include using namespace std const double PI 3 14159265 class circle public circle double r radius r virtual double area return 0 0 virtual double volume return 0 0 protected double radius class column public circle public column double r double h circle r double area return PI radius radius int main circle p p cout 圆 endl cout 面积 area endl 11 简述面向对象程序设计的四个主要特征和编程方式 12 有如下程序 class B0 基类B0声明 public void display cout B0 display endl class B1 public B0 基类B1声明 public void display cout B1 display endl class D1 public B1 派生类D1声明 public void display cout D1 display display void main B0 b0 声明B0类对象 B1 b1 声明B1类对象 D1 d1 声明D1类对象 B0 p 声明B0类指针 p B0类指针指向B0类对象 fun p p B0类指针指向B1类对象 fun p p B0类指针指向D1类对象 fun p 执行这个程序屏幕上将显示输出 13 执行下列语句 输出结果 1 5 include void main int arrayA 5 1 3 5 7 9 int i 2 cout arrayA i arrayA i endl 14 填空完成下面对X类的定义 class x 1 public 公有属性 2 x int a int b 构造函数 a a1 b b1 x 3 默认构造函数 a 0 b 0 x x b obj b private int a b 15 编写一个程序 输入n本书的书名 将书名排序 输出排序后的书名 include include using namespace std void main Const 1 int n 5 定义为常量 string book n string temp int i j for i 0 i n i cout input no i 1 book i 2 通过cin 输入书名 for i 1 i n i for j 0 j i j if book i book j Temp book i book i book j book j temp 3 实现book i book j 的排序 for i 0 i n i cout book i endl 4 通过cout 对排序后的书名输出 16 执行下列语句 输出结果为 1 15 include void main int x 4 int p p p 15 cout value of p is p endl 17 填空完成下面对CDate类的定义 class 1 CDate CDate 类的声明 public CDate 2 int y int m int d CDate类的构造函数声明 void setDate int y int m int d void display cout year month day endl private 3 int year month day year month day声明为私有成员 Void CDate setdata int y int m int d 4 构造函数的实现 year y month m day d 18 编写一个程序 设计一个类Trig 给定三角形的三条边长x y z 包含一个友 元函数计算两个三角形面积之和 include include class Trig public Trig int a 0 int b 0 int c 0 x a y b z c 1 实现构造函数 friend float areasum Trig t1 Trig t2 Float s area return t1 area t2 area 2 通过友函数 直接返回t1 t2面积之和 float area float s area s x y z 2 0 area sqrt s s x s y s z return area 3 计算三角形的面积 并返回 private int x y z void main float sum Trig 4 t1 3 4 5 t2 5 6 7 类Trig创建对象 sum areasum t1 t2

温馨提示

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

评论

0/150

提交评论