昆明理工大学C++程序设计试题库含答案_第1页
昆明理工大学C++程序设计试题库含答案_第2页
昆明理工大学C++程序设计试题库含答案_第3页
昆明理工大学C++程序设计试题库含答案_第4页
昆明理工大学C++程序设计试题库含答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

C+程序设计试题库(含答案)一、填空题(共 10 题,每题 2 分,共 20 分) 【 29 选 10】1 Qt 是 1994 年成立的总部位于挪威奥斯陆的奇趣科技公司提供的跨平台 C+图形用户界面应用程序开发框架。 它既可以开发 GUI【 图形用户界面】 程序, 也可开发非 GUI 程序,如【控制台工具】和服务。2 GCC 是 GNU C Compiler 的英文缩写,是 linux 系统下程序的编译器。 GCC 最初只是一个【 C】语言编译器,随着众多自由开发者的加入和 GCC 自身的发展,如今的 GCC 已经是一个包含 C, C+ , Ada, Object C 和 Java 等众多语言的编译器了。所以, GCC 也由原来的 GNU C Compiler 变为 GNU Compiler Collection 。也就是 GNU 编译器家族的意思。当然,如今的 GCC 借助于它的特性,具有了在一个平台下编译另一个平台代码的【交叉】编译器功能。3 MinGW 是【 Windows】平台下的 GCC 移植版。4 【 Qt Designer 】是一个功能强大的 GUI 布局与窗体构造器,能够在所有支持平台上,以本地化的视图外观与认知,快速开发高性能的用户界面。是 Qt 用来设计应用程序图形界面的工具。5 【 Qt/Embedded 】是一个完整的包含 GUI 和基于 Linux 的嵌入式平台开发工具。6 项目编译模式有两种:调试【 Debug】 模式和【发布】 ( Release) 模式。7 编译并连接生成项目文件必须进行 【 Build 】 操作, 产生以 【项目名称】 命名的可执行的 .exe文件。8 C+对 C 的“增强” ,表现在两个方面: (1) 在原来面向过程的机制基础上,对 C 语言的【功能】做了扩充。 (2) 增加了【面向对象】的机制。9 使用 cin 或 cout 进行 I O 操作时, 在程序中必须包含头文件 【 iostream.h】 ,否则编译时要产生错误。10 在 C+ 程序中,仍然可以沿用传统的【 stdio】函数库中的 I O 函数(如 printf() 、scanf()函数) 。11 编译系统为每一个字符串变量分配【 4】个字节,用于存放字符串的地址,而不是直接存放字符串本身。12 C/C+ 中的指针本质上就是一个存放变量【地址】的变量。具体应用于数组、函数参数和动态内存的管理中。13 引用就是为一个已定义的变量或对象另起一个【名字】 。14 “类”是一组具有相同【属性】和【行为】的对象的抽象。15 消息 ( Message)传递机制:是面向对象系统中对象之间交互的途径。消息:是对象之间发出的行为请求,调用对象中的【函数】就是向该对象发送一个消息,要求该对象实现某一【行为】 。方法:对象所能实现的行为(操作) 。16 两种形式的多态。编译时的多态性:通过【重载】来实现。运行时的多态性:通过【虚函数】实现。17 公有成员是提供给外部的接口,类外对象或对象的引用用【 . 】运算符访问对象成员,对象指针用【 -】运算符访问对象成员。18 流指数据从一个位置流向另一个位置, 流类对象可以建立和删除。 程序中, 对数据的输入 /输出是以【字节】流实现的。19 【 fstream.h】头文件处理文件信息,包括建立文件,读 /写文件的各种操作接口。20 C+的流库预先定义了四个流对象 : cin、 【 cout】 、 【 cerr】和【 clog】 。21 各种计算机应用系统通常把一些相关信息组织起来保存在外存储器中,称为文件。C+把文件看成无结构的字节流,编码方式有【文本文件】和【二进制】文件。22 程 序 中 使 用 “ ofstream outfile ; ” 建 立 一 个 【 输 出 】 文 件 流 对 象 ,“ outfile.open( “d:newfile.dat“ , ios: : out ) ; ”连接一个外存文件,指定打开方式为【写】 。23 Qt 环境中两种开发图形界面应用程序的方法是: 【命令行】 方法和 【集成环境开发】方法。24 事件指的是那些能够被对象识别的在程序执行时由 【系统自身】或【用户】所引发的一些事件。25 图形界面程序是基于事件驱动 (用户驱动) 的系统, 如单击鼠标时会产生 【 clicked】事件,双击鼠标会产生【 doubleclicked 】事件。26 Qt 的信号和槽的语法形式是: 【 connect】 (sender, 【 SIGNAL 】 (signal), receiver; 【 SLOT 】 (slot); 。27 如果要向一个文件尾部添加数据,那么,设置打开文件的方式为【 ios:app】 。28 在命令行窗口中执行以 【 qmake project】 命令生成一个与平台无关的项目文件 .pro。29 在命令窗口中执行【 mingw32-make 】命令生成可执行文件 .exe。二、选择题(每题只有一个正确答案,将正确答案的序码填入题目后的括号内,共 15 题,每题 2 分,共 30 分) 【 35 选 15】1 关于窗体的说法,下列哪一句有错误?【 A 】A、一个应用程序项目只能有一个窗体B、每个窗体必须有一个唯一的窗体名字,创建某些项目时会自动创建项目的主窗体MainWindow C、程序员可以通过窗体的属性窗口更改窗体的名字。可增加新的窗体D、以上都不正确2 关于 C+中对象的描述,下列哪一句有错误?【 C】A、对象是现实世界中具有属性、方法和事件的实体B、 C+程序将现实世界中的实体对象模型化,描述为数据和代码C、图形界面上的各种控件、窗口等不是对象D、数据描述对象状态的属性,代码描述该对象可以执行的行为3 有关模板,下列哪一句叙述有错误?【 B】A、模板是 C+类型参数化的多态工具, C+ 提供函数模板和类模板B、模板中的类型参数在模板定义中可以不出现C、模板由编译器根据实际数据类型实例化,生成可执行代码。D、实例化的函数模板称为模板函数;实例化的类模板称为模板类4 关于类继承的特性,下面哪一条叙述有错?【 C】A、类的继承机制,允许在保持原有类特性的基础上,为其继承类进行更具体、更详细的类的定义B、即可以定义一个包含公共成员的基类,通过继承从基类中派生出新类C、不可为新类增添新的属性和操作,不可以改写基类的部分内容D、类的多级继承与派生形成一个类簇5 以下有关字符串的叙述哪一个是错误的?【 C】A、一个字符串数组包含若干个字符串变量。B、每个字符串元素的长度是可以变化的, 同一个元素重新赋值,其长度也可发生变化。C、字符串数组与字符数组相同。D、每一个字符串元素中只包含字符串本身的字符而不包括 0。6 程序编译时发生的错误不可能是【 B】 。A、语法错误 B、用户操作 C、文件错误 D、逻辑错误7 类型修饰符 unsigned 修饰【 D】类型是错误的。A、 char B、 int C、 long int D、 float 8 友元关系【 B】A、是类与类的关系 B、不能继承C、是一个父类与子类的关系 D、不能提高程序的运行效率9 if 语句的控制条件【 D】 。A、只能用关系表达式 B、只能用关系表达式或逻辑表达式C、只能用逻辑表达式 D、可以用任何表达式10 下列说法正确的是【 A 】 。A、一个类的对象可以是另一个类的成员B、一个类的对象可以作为另一个类的派生类C、一个类定义在另一个类中D、以上说法均正确11 关于 delete 运算符的下列描述中, 【 C】是错误的。A、它必须用于 new 返回的指针B、使用它删除对象时要调用析构函数C、对一个指针可以使用多次该运算符D、指针名前只有一对方括号符号,不管所删除数组的维数12 在声明类时,下面的说法正确的是【 C】 。A、可以在类的声明中给数据成员赋值B、数据成员的数据类型可以是 register C、 private,protected,public 可以按任意顺序出现D、没有用 private,protected,public 定义的数据成员是公有成员13 使用派生类的主要原因是【 A】 。A、提高代码的可重用性 B、提高程序的运行效率C、加强类的封装性 D、实现数据的隐藏14 如果在基类中将 show 函数声明为不带返回值的纯虚函数,正确的写法是【 C】 。A) virtual show()=0; B) virtual void show(); C) virtual void show()=0; D) void show()=0 virtual; 15 下面哪个变量名是合法的变量名【 D】 。A、 friend B)、 -var C、 3xyz D、 Float 16 一个类的析构函数【 A】 。A、唯一的 B、允许重载 C、至多可有两个 D 、只能是缺省的17 在一个函数中, 要求通过函数来实现一种不太复杂的功能, 并且要求加快执行速度,选用【 A】 。A、内联函数 B、重载函数 C、递归调用 D、嵌套调用18 当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的【 D】 。A、友元 B、 private 成员 C、 protected 成员 D、 public 成员19 【 D】不是构造函数的特征。A、构造函数的函数名与类名相同 B、构造函数可以重载C、构造函数可以设置缺省参数 D、构造函数必须指定类型说明20 重载函数在调用时选择的依据中, 【 B】是错误的。A、函数的名字 B、函数的返回值C、参数的个数 D、参数的类型21 在 C+ 中,关于下列设置默认参数值的描述中, 【 C】是正确的。A、不允许设置默认参数值B、在指定了默认值的参数右边,不能出现没有指定默认值的参数C、只能在函数的定义性声明中指定参数的默认值D、设置默认参数值时,必须全部都设置22 设置虚基类的目的是【 B】 。A、简化程序 B、消除二义性C、提高运算效率 D、减少目标代码23 有关运算符重载正确的描述是【 D】 。A、 C+语言允许在重载运算符时改变运算符的操作数个数B、 C+语言允许在重载运算符时改变运算符的优先级C、 C+语言允许在重载运算符时改变运算符的结合性D、 C+语言允许在重载运算符时改变运算符原有功能24 类的构造函数被自动调用执行的情况是在定义该类的【 C】 。A、成员函数时 B、数据成员时C、对象时 D、友元函数时25 说明友元函数使用的关键字是【 A 】 。A、 friend B、 static C、 const D、 colatile 26 已知类 X 中的一个成员函数说明如 “ Void Set(X class Array /定义类 public: void set_value(); void max_value(); void show_value(); private: int array10; int max; ; void Array:set_value() / 定义类的函数 int i; for(i=0;iarrayi; void Array:max_value() / 定义类的函数 int i; max=array0; for(i=0;i using namespace std; long Fac(int n) /定义一个函数 Fac,其参数为 n。 int i=1; long f; if ( nnum; fac=Fac(num); /调用 Fac 函数,将实参 num 的值传递给函数 Fac的虚参 n。/此时, n 的值就是 num 值,函数运行后,返回函数计算的结果 f。/本语句进一步将 f 值赋给 fac。if ( fac = -1 ) /如果返回值为 -1,则说明输入的 num 是非法的,应对程序的运行者提出必要的提示。cout # include using namespace std; int main() char name1=liuhewen; cout using namespace std; DateSetAndDisp:DateSetAndDisp(int y,int m,int d) /year=y;month=m;day=d;/ 初始化 year=y;month=m;day=d; cout using namespace std; int main() /DateSetAndDisp today;/ 定义 today,取初始值/today.DateDisp();/ 调用 DateDisp() 显示 today /DateSetAndDisp tomorrow(today);/ 定义 tomorrow ,其日期会增加 1 /tomorrow.DateDisp(); DateSetAndDisp date2; /用类“ DateSetAndDisp ”定义对象数组( date0和 date1 ,构造函数运行两次date0.DateDisp(); date1.DateDisp(); date1.DateSet(2016,10,20); date1.DateDisp(); return 0; 答:程序功能:日期自动增加 1 天,测试析构函数的作用。运行结果:初始化一个日期对象初始化一个日期对象2016 年 10 月 19 日2016 年 10 月 19 日创建一个日期对象2016 年 10 月 20 日撤销对象。撤销对象。5 本程序运行后不需要用户输入。#include using namespace std; class Studen

温馨提示

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

评论

0/150

提交评论