




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 1 52 A A 卷卷 1 下列语句中错误的是 D A int p new int 10 B int p new int 10 C int p new int D int p new int 40 0 2 假设已经有定义 char const name chen 下面的语句中正确 的是 A A name 3 q B name lin C name new char 5 D name new char q 3 下面的类型声明中正确的是 D A int C int D int I p 4 在声明类时 下面的说法正确的 是 C A 可以在类的声明中给数据成员赋值 B 数据成员的数据 类型可以是 register C private public protected 可 以按任意顺序出现 D 没有用 private public protected 定义的 数据成员是公有成员 5 构造函数是在 B 时被执行的 A 程序编译 B 创建对 象 C 创建类 D 程序装入内存 6 在下面有关友元函数的描述中 正确的说法是 A A 友元函数是独立于当前类的外部 函数 B 一个友元函数不 能同时定义为两个类的有友元函数 C 友元函数必须在类的外部定义 D 在外部定义友 元函数时 必须加关键字 friend 7 使用派生类的主要作用是 A A 提高代码的可重用性 B 提高程序 的运行效率 C 加强类的封装性 D 实现数据的隐藏 8 关于虚函数 正确的描述是 A C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 2 52 A 构造函数不能是虚函数 B 析构函 数不能是虚函数 C 虚函数可以是友 元函数 D 虚函数可以是静态成员函 数 9 如果在基类中将成员函数 show 声 明为不带返回值得纯虚函数 正确的 写法是 C A virtual show 0 B virtual void show C virtual void show 0 D void show 0 virtual 10 使用 myFile open sales dat ios a pp 语句打开文件 sales dat 后 则 A A 该文件只能用于输出 B 该文件只 能用于输入 C 该文件既能用于输出 又能用于输入 D 若该文件存在 则 清除该文件的内容 三 写出下列程序的运行结果 前 2 题每题 6 分 第三题 8 分 共 20 分 1 include iostream h class toy public toy int q int p quan q price p int get quan return quan int get price return price private int quan price int main toy op 2 2 toy 10 20 toy 30 48 toy 50 68 toy 70 80 int i for i 0 i 2 i cout op i 0 get quan cout op i 0 get price n C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 3 52 cout op i 1 get quan cout op i 1 get price n cout n return 0 2 include iostream h class Stock public void print cout Stock class n class Der1 Stock public Stock public void print cout Deri1 Stock class n class Der2 Stock public Stock public void print cout print ptr ptr print ptr ptr print 3 include iostream h class A public A int i xi i A xi 0 friend A operator A a C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 4 52 friend A operator A void print private int xi A operator A a a xi return a A operator A return a void A print cout xi endl void main A i 7 i i print i i print 三 1 答案 10 20 30 48 50 6870 80 2 答案 Stock class Stock class Stock class 3 答案 7 6 B B 卷卷 一 选择题 每题 2 分 共 20 分 答案填写在题后的表格内 1 假设已经有定义 const char const name chen 下面的语 句中正确的是 D A name 3 a B name lin C name new char 5 D cout name 3 2 假设已经有定义 const char name chen 下面的语句中 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 5 52 错误的是 A A name 3 q B name lin C name new char 5 D name new char q 3 在下面有关对构造函数的描述中 正确的是 B A 构造函数可以带有返回值 B 构造函数的名字与类名完全相同 C 构造函数必须带有参数 D 构造函数必须定义 不能缺省 4 在下面有关析构函数特征的描述中 正确的是 C A 一个类可以定义多个析构函数 B 析构函数名与类名完全相同 C 析构函数不能指定返回类型 D 析构函数可以有一个或多个参数 5 在下面有关静态成员函数的描述中 正确的是 B A 在静态成员函数中可以使用 this 指针 B 在建 立对象前 就可以为静态数据成员赋值 C 静态成员函数在类外定义时 要用 static 前缀 D 静 态成员函数只能在类外定义 6 友元的作用之一是 A A 提高程序的运行效率 B 加强类的封装性 C 实现数据的隐 藏性 D 增加成员函数的种类 7 假设已经定义好了一个类 student 现在要定义类 derived 它 是从 student 私有派生的 定义类 derived 的正确写法是 C A class derived student private B class derived student public C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 6 52 C class derived private student D class derived public student 8 要实现动态联编 派生类中的虚函数 D A 返回的类型可以与虚函数的原型不同 B 参数个数可以与虚函数的 原型不同 C 参数类型可以与虚函数的原型不同 D 以上都不对 9 有关运算符重载正确的描述是 D A C 语言允许在重载运算符时改变运算符的操作个数 B C 语 言允许在重载运算符时改变运算符的优先级 C C 语言允许在重载运算符时改变运算符的结合性 D C 语言允许在重载运算符时改变运算符的原来的功能 10 假设定义了函数模板 template T max T x T y return x y x y 并定义了 int i 6 char c a 错误的调用语句是 D A max i i B max c c C max int c i D max i c C C 卷卷 一 单项选择题 每小题 2 分 共 20 分 1 假设已经有定义 const char name chen 下列语句中错误 的是 A name 3 q B name lin C name new C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 7 52 char 5 D name new char q 2 在下列关键字中 用于说明类中公有成员的是 A public B private C protected D friend 3 下列哪项不是面向对象程序设计的主要特征 A 封装 B 继承 D 多态 D 结构 4 构造函数是在 时被执行的 A 程序编译 B 创建对象 C 创建类 D 程 序装入内存 5 在下面有关析构函数的描述中 正确的是 A 一个类中可以定义多个析构函数 B 析构函数的名字和类名完全相同 C 析构函数不能指定返回类型 D 析构函数可以有一个或多个参数 6 使用派生类的主要原因是 A 提高代码的可充用性 B 提高程序的运行效率 C 加强类 的封装性 D 实现数据的隐藏 7 下列的各函数中 不是类的成员函数 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数 8 关于虚函数 正确的描述是 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 8 52 A 构造函数不能是虚函数 B 析构函数不能是虚函数 C 虚函数可以是友元函数 D 虚函数可以是静态成员 函数 9 友元的作用之一是 A 提高程序的运用效率 B 加强类的封装性 C 实现数据的隐藏性 D 增加成员函数的种类 10 在下面有关静态成员函数的描述中 正确的是 A 在静态成员函数中可以使用 this 指针 B 在建立对象前 就可以为静态数据成员赋值 C 静态成员函数在类外定义时 要用 static 前缀 D 静态成员函数只能在类外定义 二 判断题 每题 1 分 共 10 分 1 使用关键字 class 定义的类中缺省的访问权限是私有 private 的 2 构造函数和析构函数都不能重载 3 说明或定义对象时 类名前不需加关键字 class 4 可以在类的构造函数中对静态数据成员进行初始化 5 protected 和 private 区别在于 protected 成员可 以被派生类访问 而 private 成员则不能被派生类访问 6 在 C 中 封装是通过类实现的 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 9 52 7 无论何时编译器都为类构造一个无参数的缺省的构 造函数 8 无论什么方式的继承 基类的私有成员都不能被派 生类访问 9 在 c 中 只有在类对象定义之后才能给数据成员 赋初值 10 创建派生类对象时 先调用基类的构造函数 再调 用派生类的构造函数 三 填空题 每空 1 分 共 10 分 1 在 C 中 类的成员访问权限分别是 公有成员 私有成员和 2 拷贝构造函数使用 作为参数初始化创建中的对 象 3 在 C 中 虽然友元提供了类之间数据进行访问的一种方式 但 它破坏了面向对象程序设计的 特性 4 在公有继承的情况下 基类数据成员在派生类中的访问权限 5 在面向对象的程序设计中 通过 实现数据隐藏 通过 实现代码的复用 6 在 C 中 构造派生类对象时 总是先从 的初始化开 始的 7 在基类和派生类中 派生类可以定义其基类中不具备的数据和操 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 10 52 作 对两个有相同名字的数据成员进行访问时 如果没有 对此数据成员的访问将出现歧义 而 和 operator 是不能被派生类继承的 一 单项选择题 每小题 2 分 共 20 分 AADBC ACAAB 二 判断题 每题 1 分 共 10 分 对错对错对 对错对对对 三 填空题 每空 1 分 共 10 分 1 受保护成员 2 同类对象的引用 3 封装 4 公有的 5 封装 继承 6 基类 7 作用域分隔符限定 构造函数 析构函数 D D 卷卷 1 下类引用定义中 正确的是 D A int x int int 下面的语 句中正确的是 D C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 11 52 A name 3 a B name lin C name new char 5 D cout name 3 3 系统在调用重载函数时往往根据一些条件确定那个重载函数被调 用 在下列选项中 不能作为依据的是 D A 参数个数 B 参数的类型 C 函数名 D 函数类型 返回值类 型 4 构造函数是在 B 时被执行的 A 程序编译 B 创建对象 C 创建类 D 程 序装入内存 5 在下面有关析构函数的描述中 正确的是 C A 一个类中可以定义多个析构函数 B 析构函数的名字和类名完全相同 C 析构函数不能指定返回类型 D 析构函数可以有一个或多个参数 6 有以下类的说明 错误的地方是 class Coord int x 0 y 0 1 Coord 2 public 3 Coord int x int y 4 Coord 5 6 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 12 52 A B C D 1 2 4 5 7 this 指针是一个隐含于每一个类的成员函数的特殊指针 它是用 来指向正在操作成员函数的 的指针 A 对象 B 函数 C 成员 D 类型 8 有关类和对象的说法不正确的是 C A 对象是类的一个实例 B 任何一个对象只能属于一个具体的类 C 一个类只能有一个对象 D 类与对象的关系和数据类型和变量的 关系相似 9 在下面有关友元函数的描述中 正确的说法是 A A 友元函数是独立于当前类的外部函数 B 一个友元函 数不能同时定义为两个类的有友元函数 C 友元函数必须在类的外部定义 D 在外部定义 友元函数时 必须加关键字 friend 10 派生类新增的成员函数 不能直接访问基类的 C 成员 A 公有 B 保护 C 私有 D 所有 11 下述静态数据成员的特性中 D 是错误的 A 说明静态数据成员时前面要加修饰符 static B 静态数据成员要在类体外进行初始化 C 引用静态数据成员时 要在静态数据成员名前加和作用域运 算符 D 类的静态成员不实所有对象所共用的 E E 卷卷 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 13 52 1 在 C 中 用数组 指针 和 引用 作为函数参数 能够将 参数值带回 2 在 C 中 虽然友元提供了类之间数据进行访问的一种方式 但它破坏了面向对象程序设计的 封装 特性 3 在 C 中 构造派生类对象时 总是先从 基类 的初始化开 始的 4 拷贝构造函数是在用一个对象初始化另一个对象时被调用 系统缺省的拷贝构造函数的工作方法是 拷贝每一个数据成员 5 类是用户定义的类型 具有类类型的变量称作 对象 6 在 5 个运算符 乘号 和语句 int C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 14 52 const d 的含义分别是 变量指针 c 指向整型常量 a 常量指 针 d 指向整型变量 b const int a 78 int b 28 const int c int const d 13 用 new 申请有 10 个元素的指针数组 str 假定数组元素是 指向字符型数据的指针 该 C 语句为 char str new char 10 14 在 C 中构造一个对象时 其数据成员在构造函数中初始化 对于内嵌的对象 常量 引用 数据成员需要在构造函数的成员 初始化列表中初始化 15 在类的定义中 说明为 protected 的数据成员称为保护成员 保护数据成员具有双重作用 对于其派生类而言 是公有的 而 对于其外部的程序而言 是私有的 16 C 中有两种数据类型 整型 和 字符型 可以使用 signed 修饰符 17 举出 C 中两种流程控制语句 if 语句 for 循环语句 18 预编译指令由三种 它们是 文件包含 宏定义 和 条件 编译 19 C 中 对象保存在内存中 栈 内存是自动分配和释放的 而 堆 存需要用户自己申请和释放 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 15 52 20 在 C 函数中 可用 return 语句带回一个值 如果有多个 返回值 可用 指针 引用等带回 21 下面程序的运行结果是 6 include void main char a 0 b 9 float x x b a F B printf d n int 3 14 x 22 以下程序的输出结果是 include void main int i for i 0 i 5 i if i 2 printf else continue printf printf n 23 下面程序的运行结果是 Hello 50 OK include define N 100 class CStack public CStack top 0 cout Hello CStack cout Bye void push int i int pop private int stack N C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 16 52 int top void CStack push int i if top N cout Overflow return else top stack top i int CStack pop int temp if top 0 cout push 10 ptr push 50 cout pop cout OK endl 24 下面程序的运行结果是 include int a 2 5 6 8 10 int p C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 17 52 a a 1 a 2 a 3 a 4 void main printf d t d t d n a 4 a 2 p 1 printf d t d t d n p 1 a 2 p 4 p 0 a 3 a 4 10 6 5 11 4 8 二 问答题 每小题 5 分 共 20 分 1 在定义拷贝构造函数时 为什么通常还要定义一个重载的赋值 运算符 解答要点 拷贝构造函数是用一个对象初始化另一个对象时调 用 定义了拷贝构造函数通常涉及到对象内有指针成员 需要定义 拷贝构造函数复制指针所指向的内存单元 对象赋值也有同样的问 题 如果要将对象指针所指向的内存单元也赋给另一个对象 就必 须重载赋值运算符 2 简述局部作用域 全局作用域和类作用域的异同 解答要点 局部作用域只在局部块内有效 如在一个函数内或 在一个复合语句内 它的生存期也在该块内 全局作用域对整个应 用程序都有效 它的生存期与应用程序一样长 类作用域在类内 类的成员函数可以访问类的所有成员 而在类外 只能访问类的共 有成员 类成员定义的次序与其作用的范围没有关系 3 虚函数是否一定要有 virtual 关键字 什么叫纯虚函数和抽象 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 18 52 类 多态调用需要满足怎样的条件 解答要点 不一定 派生类覆盖基类的成员函数时 没有 virtual 关键字 也是虚函数 纯虚函数没有实现 它供派生类覆 盖 纯虚函数的一般定义形式为 virtual 返回类型 函数名 参数表 0 至少含有一个纯虚函数的类称为抽象类 抽象类不能定义对象 只 能作为基类 多态调用需要满足的条件 被调用的成员函数是虚函数 用指针或引用调用虚函数 4 数组和链表是两种重要的线性数据结构 使用链表有什么优点 解答要点 数组需要一个大的 连续的存储单元 而链表是由 一个个结点的小存储单元组成的 链表便于数据的插入和删除 在数组中 要插入一个元素 需 要将后面的元素往后移 要删除一个元素要将后面的元素往前移 效率很低 链表可以克服这个缺点 三 8 分 下列 shape 类是一个表示形状的抽象类 area 为求 图形面积的函数 total 则是一个通用的用以求不同形状的图形 面积总和的函数 请从 shape 类派生梯形类 trapezoid 圆形类 circle 并给出具体的求面积函数 class shape public C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 19 52 virtual float area 0 float total shape s int n float sum 0 0 for int i 0 iarea return sum class Circle public Shape public Circle double r radius r double Area const return 3 1416 radius radius private double radius class Trapezoid public Shape public Trapezoid double top double bottom double high T top B bottom H high double Area const return T B H 0 5 private double T B H 五 6 分 函数 binary 实现折半查找 即查寻给定的单词 word 是否在关键字表 tab 中 关键字按字典顺序排列 折半查找 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 20 52 每次把 word 与 tab 表中相应部分的位于中间位置的关键字进行比较 最终结果 或者与某个关键字相同 或者与所有关键字都不相同 include struct key char keyword int count struct key binary char word struct key tab int n word a searching word tab keyword table n the sum of keywords int cond struct key low tab struct key high struct key mid while lowkeyword 0 low mid 1 else return mid return NULL 六 8 分 下面程序实现汉诺塔游戏 规则是 三个立柱 分别为 A B C 开始 A 上串有 n 个 用户输入值 大小不等的圆盘 大 的在下 小的在上 要求借助于 B 把它们从 A 移到 C 每次只能移 一个盘 而且三个柱上的盘总是大的在下 小的在上 include int i 0 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 21 52 void main int n void movetower int m char from char to char usg for printf input the number of disks of hanoi tower scanf d if n 0 break 或 return printf n n printf The moving step is as below n movetower n A C B printf tTotal d n i void movetower int m char from char to char usg void movedisk char source char destination if m 1 或 m 1 movetower m 1 from usg to movedisk from to movetower m 1 usg to from else movedisk from to void movedisk char source char destination C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 22 52 i printf c c n source destination F F 卷卷 一 单项选择题一 单项选择题 1 C 源程序文件的默认扩展名为 cpp 2 由 C 源程序文件编译而成的目标文件的默认扩展名为 obj 3 由 C 目标文件连接而成的可执行文件的默认扩展名为 exe 4 C 程序从上机到得到结果的几个操作步骤依次是 编 辑 编译 连接 运行 5 以下标识符中不全是保留字的是 B A case for int B default then while C bool class long D goto return char 6 能作为 C 程序的基本单位是 C A 字符 B 语句 C 函数 D 源程序文件 7 程序中主函数的名字为 main 8 C 程序的基本模块为 D C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 23 52 A 表达式 B 标识符 C 语句 D 函数 9 可用作 C 语言用户标识符的一组标识符是 B A void define WORDB a3 b3 123 YN C for abc CaseD 2a DO sizeof 10 存储以下数据 占用存储字节最多的是 D A 0 B 0 C 0 D 0 0 11 程序运行中需要从键盘上输入多于一个数据时 各数据之 间应使用 D 符号作为分隔符 A 空格或逗号 B 逗号或回车 C 逗号或分号 D 空格或回车 12 设 int a 12 则执行完语句 a a a 后 a 的值是 C A 12 B 144 C 156 D 288 13 假设在程序中 a b c 均被定义成整型 所赋的值都大于 1 则下列能正确表示代数式的表达式是 D A 1 0 a b c B 1 a b c C 1 a b float c D 1 0 a b c 14 设 int a 15 b 26 则 cout 0 B const int M 20 C const char ch D const bool mark true 23 循环语句 for int i 0 i n i cout i i 中循环体执行的次数为 C A 1 B n 1 C n D n 1 24 在下面循环语句中循环体执行的次数为 B for int i 0 in 2 break A n 2 B n 2 1 C n 2 1 D n 1 25 在下面循环语句中内层循环体 S 语句的执行总次数为 D for int i 0 i n i for int j i j n j S A n2 B n 1 2 C n n 1 2 D n n 1 2 26 在下面循环语句中循环体执行的次数为 C int i 0 s 0 while s 20 i s i A 4 B 5 C 6 D 7 27 在下面循环语句中循环体执行的次数为 B int i 0 do i while i i 10 A 4 B 3 C 5 D 2 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 26 52 28 当处理特定问题时的循环次数已知时 通常采用 A 来解决 A for 循环 B while 循环 C do 循环 D switch 语句 29 循环体至少被执行一次的语句为 C A for 循环 B while 循环 C do 循环 D 任一种循环 30 switch 语句能够改写为 B 语句 A for B if C do D while 31 do 语句能够改写为 D 语句 A 复合 B if C switch D while 32 在下面的一维数组定义中 哪一个有语法错误 C A int a 1 2 3 B int a 10 0 C int a D int a 5 33 在下面的字符数组定义中 哪一个有语法错误 D A char a 20 abcdefg B char a x y 55 C char a 15 D char a 10 5 34 在下面的二维数组定义中 正确的是 C A int a 5 B int a 5 C int a 3 1 3 5 2 D int a 10 35 假定一个二维数组的定义语句为 int a 3 4 3 4 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 27 52 2 8 6 则元素 a 1 2 的值为 C A 2 B 4 C 6 D 8 36 假定一个二维数组的定义语句为 int a 3 4 3 4 2 8 6 则元素 a 2 1 的值为 A A 0 B 4 C 8 D 6 37 若定义了函数 double function 则函数 function 的 返回值为 B A 实数型 B 实数的地址 C 指向函数的指针 D 函数的地址 38 以下说法中正确的是 B A C 程序总是从第一个定义的函数开始执行 B C 程序总是从 main 函数开始执行 C C 函数必须有返回值 否则不能使用函数 D C 程序中有调用关系的所有函数必须放在同一个程序 文件中 39 以下叙述中不正确的是 C A 在一个函数中 可以有多条 return 语句 B 函数的定义不能嵌套 但函数的调用可以嵌套 C 函数必须有返回值 D 不同的函数中可以使用相同名字的变量 40 函数重载是指 A A 两个或两个以上的函数取相同的函数名 但形参的个数 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 28 52 或类型不同 B 两个以上的函数取相同的名字和具有相同的参数个数 但形参的类型可以不同 C 两个以上的函数名字不同 但形参的个数或类型相同 D 两个以上的函数取相同的函数名 并且函数的返回类型 相同 41 以下关于函数模板叙述正确的是 C A 函数模板也是一个具体类型的函数 B 函数模板的类型参数与函数的参数是同一个概念 C 通过使用不同的类型参数 函数模板可以生成不同类型 的函数 D 用函数模板定义的函数没有类型 42 下列 C 的调用方式是引用调用 A 形参和实参都是变量 B 形参是指针 实参是 地址值 C 形参是引用 实参是变量 D 形参是变量 实参是 地址值 43 为了提高程序的运行速度 可将不太复杂的功能用函数实 现 此函数应选择 A A 内联函数 B 重载函数 C 递归函数 D 函数模板 44 函数原型语句正确的是 B A int Function void a B void Function int C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 29 52 C int Function a D void int double a 45 C 中函数返回值的类型是由 B 决定的 A return 语句中表达式的类型 B 该函数定义时的类型 C 调用函数时的调用语句 D 系统根据结果 46 以下函数的返回结果是 A int function char x char p x while p return p x 1 A 求字符串的长度 B 将字符串 x 连接到 字符串 p 后面 C 将字符串 x 复制到字符串 p 中 D 将字符串 x 反向存 放 47 函数调用 func exp1 exp2 exp3 exp4 exp5 中所含实 参的个数为 B 个 A 1 B 2 C 4 D 5 48 设有如下函数定义 int f char s char p s while p 0 p return p s 在主函数中用 cout f good 调用上述函数 则输出结果 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 30 52 为 B A 3 B 4 C 5 D 6 49 以下正确的函数原型语句是 C A double fun int x int y B double fun int x int y C double fun int int D double fun int x y 50 以下正确的说法是 B A 用户调用标准库函数前 必须重新定义 B 用户可以重新定义标准库函数 若如此 该函数将失去 原有含义 C 系统不允许用户重新定义标准库函数 D 用户调用标准库函数前 不必使用预编译命令将该函数 所在文件包括到用户源文件中 二 填空题二 填空题 1 C 语言是在 语言的基础上发展起来的 2 C 语言的编译单位是扩展名为 的 文 件 3 行尾使用注释的开始标记符为 4 多行注释的开始标记符和结束标记符分别为 和 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 31 52 5 用于输出表达式值的标准输出流对象是 6 用于从键盘上为变量输入值的标准输入流对象是 7 一个完整程序中必须有一个名为 的函数 8 一个函数的函数体就是一条 语句 9 当执行 cin 语句时 从键盘上输入每个数据后必须接着输入 一个 符 然后才能继续输入下一个数据 10 在 C 程序中包含一个头文件或程序文件的预编译命令为 11 程序中的预处理命令是指以 字符开头的命令 12 一条表达式语句必须以 作为结束符 13 在 include 命令中所包含的头文件 可以是系统定义的头 文件 也可以是 定义的头文件 14 使用 include 命令可以包含一个头文件 也可以包含一个 文件 15 一个函数定义由 和 两部分组成 16 若一个函数的定义处于调用它的函数之前 则在程序开始 可以省去该函数的 语句 17 C 头文件和源程序文件的扩展名分别为 和 18 程序文件的编译错误分为 和 两类 19 当使用 保留字作为函数类型时 该函数不返回任何 值 20 当函数参数表用 保留字表示时 则表示该参数表为 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 32 52 空 21 从一条函数原型语句 int fun1 void 可知 该函数的 返回类型为 该函数带有 个参数 22 当执行 cout 语句输出 endl 数据项时 将使 C 显示输出 屏幕上的光标从当前位置移动到 的开始位置 23 假定 x 5 y 6 则表达式 x y 的值为 35 X 返回的值是加之后的 但 x 本身已经加了 1 了 注意是 返回值 区别 x 24 假定 x 5 y 6 则表达式 x y 的值为 25 25 假定 x 5 y 6 则执行表达式 y x 计算后 x 和 y 的值 分别为 6 和 30 26 假定 x 5 y 6 则执行表达式 y x 计算后 x 和 y 的值 分别为 4 和 11 27 C 常数 0 x145 对应的十进制值为 28 C 常数 0345 对应的十进制值为 29 十进制常数 245 对应的十六进制的 C 表示为 10 是 A 了 30 十进制常数 245 对应的八进制的 C 表示为 31 signed char 类型的值域范围是 至 之 间的整数 32 int 和 float 类型的数据分别占用 4 和 4 个字节 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 33 52 33 float 和 double 类型的数据分别占用 4 和 8 个字节 34 bool 和 char 类型的数据分别占用 1 和 1 个字节 35 unsigned short int 和 int 类型的长度分别为 2 和 4 36 字符串 This s a book n 的长度为 15 37 字符串 nThis s a pen n n 的长度为 15 38 在 C 中存储字符串 abcdef 至少需要 个字节 39 在 C 中存储字符串 a b c 至少需要 个字节 40 假定 x 和 y 为整型 其值分别为 16 和 5 则 x y 和 x y 的 值分别为 和 41 假定 x 和 y 为整型 其值分别为 16 和 5 则 x y 和 double x y 的值分别为 和 42 假定 x 是一个逻辑量 则 x 则 cout busy 的输出结 果是 53 设 enum Printstatus ready 2 busy error 则 cout busy 的输出结果是 54 常数 4 205 和 6 7E 9 分别具有 和 位有效数字 55 枚举类型中的每个枚举值都是一个 它的值为一 个 56 常数 100 和 3 62 的数据类型分别为 和 57 若 x 5 y 10 则计算 y x 表达式后 x 和 y 的值分别 为 和 58 假定 x 和 ch 分别为 int 型和 char 型 则 sizeof x 和 sizeof ch 的值分别为 和 59 假定 x 10 则表达式 x 10 20 30 的值为 60 表达式 sqrt 81 和 pow 6 3 的值分别为 和 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 35 52 清华大学计算机系清华大学计算机系 C C 期末考试题及答案期末考试题及答案 一 一 填空题 填空题 2525 小题 共小题 共 5050 分 分 以下每小题 以下每小题 1 1 分 共分 共 1010 分 分 1 在 C 中 函数的参数有两种传递方式 它们是值传递和 地 址或指针或引用传递 2 当一个成员函数被调用时 该成员函数的 this 指针 指向调 用它的对象 3 在基类和派生类中 派生类可以定义其基类中不具备的数据和 操作 对两个有相同名字的数据成员进行访问时 如果没有 作用域 分隔符限定时 对此数据成员的访问将出现歧义 4 拷贝构造函数使用 引用 作为参数初始化创建中的对象 5 在公有继承的情况下 基类数据成员在派生类中的访问权限 保持不变 6 描述命题 A 小于 B 或小于 C 的表达式为 A B Ac 20 举出 C 中两种代码复用的方式 继承 复用 以下每小题 以下每小题 4 4 分 共分 共 2020 分 分 21 下面程序的运行结果是 3 include void main char a a b j float x x b a F A printf d n int 3 14 x 22 下面程序的运行结果是 2 5 8 11 14 include iostream h void main int i 1 while i 15 i if i 3 2 continue else cout i i endl 23 下面程序的运行结果是 include iostream h class test private int num float fl public test int getint return C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 38 52 num float getfloat return fl test test test cout Initalizing default endl num 0 fl 0 0 test test cout Desdtructor is active endl void main test array 2 cout array 1 getint array 1 getfloat endl Initalizing default Initalizing default 0 0 Desdtructor is active Desdtructor is active 24 下面程序的运行结果是 include class A public A cout A A called n virtual A cout A A called n class B public A C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 39 52 public B int i cout B B called n buf new char i virtual B delete buf cout B B called n private char buf void fun A a delete a void main A a new B 15 fun a A A called B B called B B called A A called 25 下面程序的运行结果是 include int a 1 3 5 7 9 int p a a 1 a 2 a 3 a 4 void main printf d t d t d n a 4 a 2 p 1 printf d t d t d n p 1 a 2 p 4 p 0 a 3 a 4 C 期末复习 by Gin smile Stay hungry stay foolish Steve Paul Jobs 40 52 9 5 3 8 4 7 二 问答题 每小题 5 分 共 20 分 1 若程序员没有定义拷贝构造函数 则编译器自动生成一个缺省 的拷贝构造函数 它可能会产生什么问题 解答要点 当对象含有指针数据成员 并用它初始化同类型的另一 个对象时 缺省的拷贝构造函数只能将该对象的数据成员复制给另 一个对象 而不能将该对象中指针所指向的内存单元也复制过去 这样 就可能出现同一内存单元释放两次 导致程序运行出错 2 简述成员函数 全局函数和友元函数的差别 解答要点 以下几点必须说清楚 成员函数是在类内部定义的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中原区九年级考试试卷及答案
- 电力监管理论知识考试题及答案
- 一中高二周考试卷及答案
- 安全员考考试题型及答案
- Excel与Photoshop应用知识及电商数据采集试题附答案
- 2025年中职生技能大赛理论试题及答案
- 2025年病历书写规范版考试试题及答案
- 跨部门协同服务模式-洞察与解读
- 长沙事业单位招聘考试综合类职业能力倾向测验真题模拟试卷
- 2025年4月北京门头沟龙泉镇城市协管员招聘1人考前自测高频考点模拟试题及答案详解(新)
- 心源性脑栓塞治疗指南
- 2025-2026学年接力版(2024)小学英语四年级上册(全册)教学设计(附目录)
- 妇女常见疾病防治讲座
- 厂房屋顶分布式光伏项目可行性研究报告
- 供货进度保证措施方案
- 私人财产转移协议书范本
- DB3301∕T 0396-2023 大型商业综合体消防安全管理规范
- 食品生产许可培训课件
- 2025年长沙市中考道德与法治试卷真题(含答案解析)
- 2025 二年级上册《田家四季歌》教学课件
- 面部整骨培训课件
评论
0/150
提交评论