C++程序设计复习题及参考答案.doc_第1页
C++程序设计复习题及参考答案.doc_第2页
C++程序设计复习题及参考答案.doc_第3页
C++程序设计复习题及参考答案.doc_第4页
C++程序设计复习题及参考答案.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

C C 程序设计程序设计 课程复习资料课程复习资料 一 单项选择题 一 单项选择题 1 下列字符串中可以用作 C 标识符的是 A goto B Student C 123 D k ld 2 定义变量 int a 6 则 a 的值是 A 7 B 6 C 5 D 4 3 已知字母 A 的 ASCII 码为 65 则表示字符常量 A 错误的是 A 101 B x41 C 65 D A 4 结构化程序由三种基本结构组成 不包括 A 顺序结构 B 选择结构 C 控制结构 D 循环结构 5 己知有定义 const int D 5 int i 1 double f 0 32 char c 15 则下列选项错误的是 A i B D C c D f 6 若有定义为 int r new int 10 则释放指针所指内存空间的操作是 A delete r B delete r C delete r D delete r 7 下列哪个是 C 语言的不正确的标识符 A No1 B Ab1 C bgc D int 8 下列哪个是 C 语言的合法的字符常量 A 0 B 054 C x89 D 092 9 定义整型变量 x y z 并赋初始值 6 的正确语句是 A int x y z 6 B int x 6 y 6 z 6 C x y z 6 D int x y z 6 10 用 C 语言编写的代码程序 A 可立即执行 B 是一个源程序 C 经过编译即可执行 D 经过解释才能执行 11 将两个字符串连接起来组成一个字符串时 选用的函数是 A strlen B strcpy C strcat D strcmp 12 在程序中 预处理命令开头的字符都是 A B C C D 14 在下面的循环语句中循环体执行的次数为 for int i 0 in 2 break A n 2 B n 2 1 C n 2 1 D n 1 15 在下面的一维数组定义中 有语法错误的语句是 A int a 1 2 3 B int a 10 0 C int a D int a 5 16 下面的保留字中 不能作为函数的返回类型 A void B int C new D long 17 下面的函数声明中 void BC int a int b 的重载函数是 A int BC int x int y B void BC int a char b C float BC int a int b int c 0 D int BC int a int b 0 18 假定 AB 为一个类 则该类的复制构造函数的声明语句为 A AB B AB AB x C AB AB x D AB AB 19 表达式 1 2 3 4 的结果是 A 1 B 2 C 3 D 4 20 在函数中如果不说明变量的存储类型 则默认的存储类型是 A auto B static C extern D register 21 下面字符序列中 合法的 C 常量是 A 078 B 5L C 9e7 5 D AB 22 int a 声明的自动型变量 a 在没有赋值的情况下 其值为 A 0 B 1 C 1 D 随机数 23 设 int f int 和 int g int 是函数 f 和 g 的原形 以下将 f 作为语句调用的是 A g f 3 B f g 3 C g f 3 2 D p f g 3 1 24 下面对构造函数和析构函数正确定义的项是 A X X 参数 X X B void X X void X X C X X 参数 X X 参数 D void X X 参数 void X X 参数 25 变量生存期是指 A 变量定义 B 变量在内存中分配存储单元到被释放期间 C 程序的运行 D 可执行代码的生存期 26 以下选项中 C 表达式不能正确表示的数学关系 a x b 为 A a x x i A 无穷次 B 5 C 6 D 7 33 在下面的字符数组定义中 有语法错误的语句是 A char a 20 abcdefg B char a x y 55 C char a 15 1 2 D char a 10 5 34 若用数组名作为函数调用的实参 传递给形参的是 A 数组的首地址 B 数组中第一个元素的值 C 数组全部元素的值 D 数组元素的个数 35 假定 AB 为一个类 则执行 AB a 4 b 5 p 2 语句时 自动调用该类构造函数的次数为 A 6 B 7 C 9 D 11 36 当使用 fstream 流类定义一个流对象 并打开一个磁盘文件时 文件的隐含打开方式为 A ios in B ios out C ios in ios out D 没有 二 填空题 二 填空题 1 若 a 是一个字符数组 则使用输入输出流对象 cout 向屏幕输出数组 a 中所存字符串的语句为 2 当一个对象定义时 C 编译系统自动调用 函数建立该对象并进行初始化 3 C 语言的参数传递机制包括值传递和 传递两种 4 假定 p 是一个指针 则 p 运算首先访问 然后使 p 的值增 1 5 假定对二维数组 a 3 4 进行初始化的数据为 2 5 6 2 8 7 则 a 1 1 被初始化为 6 设 px 指向一个类的动态分配的对象 则执行 delete px 语句时 将自动调用该类的 7 变量的基本类型有 实型 字符型和枚举型 8 语法的三种基本结构为顺序结构 选择结构和 结构 9 一个指针指向一个 Data 类对象 它保存着该对象的 相应的指针类型为 Data 类 10 若 do 循环的 尾 为 while i5 的相反表达式为 22 假设在程序中 a b c 均被定义成整型 所赋值都大于 1 则能正确表示数学式的表达式是 abc 1 不使用强制类型转换 23 假定 a 是一个一维数组 则 a i 的指针访问方式为 24 对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现 也可以通过构造函数中的 实现 25 C 中的标识符只能由字母 数字和 组成 26 C 语句 cout 120 可以用 8 进制数表示 输出 120 27 利用 对象名 成员变量 形式访问的对象成员仅限于被声明为 的成员 28 C 在调用一个函数的过程中 可以直接或间接地调用该函数本身 这种调用称为 调用 29 在 C 程序中包含一个头文件或程序文件的预编译命令为 30 假定一维数组的定义为 int a 8 则该数组所含元素的个数为 31 十六进制常量前面应该加 为前缀 32 变量一般需要先赋初值再参与运算 变量没有赋初值时 将由系统自动置为 0 33 当程序中执行到 语句时 将结束所在循环语句中循环体的一次执行 34 C 中规定 数组元素的下标从 开始 35 假定有定义 int p 则指向 p 变量的指针变量 pp 定义语句为 36 类 test 的析构函数名是 三 判断题 三 判断题 1 在 C 中 自减运算符 可以用于变量 也可以用于常量 2 switch 语句中必须有 break 语句 否则无法退出 switch 语句 3 若 S 表示一条 C 语句 while 1 S 必定是无限循环 4 若有说明 int p1 p2 m 3 n 则 p1 p2 p1 是正确的赋值语句 5 在 C 语言中 类中的成员函数能存取类中的私有数据 6 控制格式输入输出的操作子 oct 不是设置域宽的 7 在 C 中 0127 是一个合法的整数 最高位的 0 实际上是不必要 其值就是 127 8 如果 x 是一个整型变量 则语句 int p new int x 是正确的 9 数组是若干相同类型的数据的集合 10 在 C 语言中 可以使用 new 运算符创建的对象或对象数组 可以使用运算符 delete 删除之 11 若类 A 是类 B 的友元类 且类 B 是类 C 的友元类 则类 A 也是类 C 的友元类 12 对于 ofstream 类对象 file feof 成员函数的返回值为真表示打开文件失败 13 在 switch 语句中 switch 后面的表达式可以为任意类型 14 n x6A 101 均是 C 的字符常量 15 一个变量的地址就称为该变量的 指针 16 如果 x y 则 x y 17 函数体内声明的静态变量 至多只会被初始化一次 18 构造函数和析构函数都不能重载 19 在C 语言中 while语句的循环体有可能一遍都不执行 而 do while语句的循环体至少执行一遍 20 在 C 的命名标识符中 大小写字母是不加区分的 21 引用就是某个变量的别名 对引用的操作 实质上就是对被引用的变量的操作 22 在 C 中 二维数组中元素排列的顺序是按行存放的 即在内存中先顺序存放第一行的元素 再存放 第二行的元素 23 const char p 说明了 p 是指向字符串的常量指针 24 说明或定义对象时 类名前面不需要加 class 关键字 25 在 C 中 空语句表示什么都不做 因此毫无意义 26 预处理命令是在进行编译前执行的 然后再进行正常编译 27 语句 char c c char p 是错误的 28 在一个被调用函数中 一个 return 语句可返回多个值给调用函数 29 静态成员变量是整个类的所有对象共用的 30 write 函数只能按规定向文件写入所指定的字符数 31 C 中 任何一个表达式加上一个分号就构成一个语句 32 在说明语句 int a 15 中 b 的值与 p 的值是相等的 33 在 C 中 函数声明时要用函数原型 即定义函数时的函数头部分 34 for 循环中 循环变量的作用域是该循环的循环体内 35 在传值调用中 要求实参与形参的类型完全一致并且个数相等 36 使用 class 定义的类成员默认的访问权限是私有的 private 37 在 C 中 条件运算符的结合方向为从左到右 四 写出程序的运行结果 四 写出程序的运行结果 1 include void main int a 10 b 15 a 3 int b a 20 cout b cout b endl 运行结果 2 include int SD int a int b char op switch op case return a b case return a b void main int x 20 y 8 cout SD x y SD x y endl 运行结果 3 include void main static int b 3 1 2 3 4 5 6 b 0 2 12 b 1 2 18 cout b t b 1 t b 1 t b 1 2 n cout b 0 2 b 1 2 b 2 2 endl 运行结果 4 include void main char ch cin ch switch ch case A case a cout 1 break case B case b cout 2 break case C case c cout 3 break default cout bad break 以上程序运行时 分别输入 Acb 则 运行结果 5 include void main int s1 0 s2 1 for int i 2 i 5 i s1 i s2 i cout s1 s2 endl 运行结果 6 include void ff int x cout ff int x endl void ff double x cout ff double x endl void main float a 88 18 ff a char b a ff b 运行结果 7 include void main int s 0 for int i 1 i 7 i 2 s i i cout s s endl 运行结果 8 include void main int a 9 3 5 7 9 11 13 15 17 25 int p a for int i 0 i 9 i if i 1 3 0 cout p i cout endl 运行结果 9 include class A public A cout 1 A cout 2 class B public A public B cout 3 B cout 4 void main B b 运行结果 10 include include int SC int a int b int c if a b a b if a c a c return a void main int x y z x 5 y 15 z 25 cout SC x y z endl 运行结果 11 include const int n 5 void main int a n n 3 2 4 1 5 8 7 2 5 6 6 9 1 4 3 5 5 3 6 2 2 8 1 8 6 int s 0 for int i 0 i n i s a i i a i n i 1 if n 2 1 s a n 2 n 2 cout s 运行结果 12 include class s int i j public void setij int a int b i a j b int GetMul return i j void main s p p new s 3 for int j 0 j 3 j p j setij j j j 的平方 for int k 0 k 3 k 2 cout p k GetMul delete p 运行结果 13 include int c void f1 int x int sum static int y x y c c y sum x y c void main int b 100 f1 1 cout b c endl f1 2 cout b c endl 运行结果 14 include void main int i d new int 5 for i 0 i 5 i d i 2 i 1 cout d i delete d 运行结果 15 include class AB int a public AB int aa 0 a aa AB cout a endl class B public AB int b public B int aa 0 int bb 0 AB aa b bb B cout b void main B x 5 y 6 7 运行结果 16 include int LB int a int n int s 1 for int i 0 i n i s a a return s void main int a 5 1 2 3 4 5 cout LB a 5 endl 运行结果 17 include int f int a int b 0 static int c 3 b c return a b c void main int a 2 I for I 0 I 3 I cout f a endl 运行结果 18 include class A int a public A int x a new int x cout a A delete a cout 0 void main A x 3 p p new A 5 delete p 运行结果 五 完成程序 五 完成程序 1 完成以下程序 计算 s 1 12 123 1234 12345 void main int t 0 s 0 i for i 1 i t i s s t cout s endl 回答 2 完成以下程序 求数组中的最大元素值和最小元素值 include void main int a 8 46 38 72 55 24 63 50 37 int max a min a for int p a 1 p a 8 p if max p if min p cout max min endl 回答 3 完成以下程序 输出斐氏数列的前 20 项 菲波纳契额数列具有这样的性质 F 0 1 F 1 2 F N F N 1 F N 2 include void main int i long f 20 1 2 for i 2 i f i for i 0 i 20 i cout f i 回答 4 从键盘输入一个 4 行 4 列的实数矩阵到一个二维数组中 完成以下程序 求出主对角线上元素之积 include void main double a 4 4 0 r 1 int i j for i 0 i 4 i for j 0 j 4 j 从键盘输入数组元素 for i 0 i 4 i for j 0 j 4 j if r r a i j cout 积为 r endl 回答 5 完成以下程序 计算的值 即求 1 1 2 1 2 3 1 2 3 20 20 11 i in n void main int i n double s 0 t for i 1 i 20 i for n 1 n t t n s s t cout 1 1 2 1 2 20 s endl 回答 6 有一个数列 它的第一项为 5 第二项为 8 以后每一项都是它的前两项之和 完成以下程序 产生 出此数列的前 10 项 并依次显示出来 include void main int a 10 a 0 5 for int i 2 i 10 i a i for i 0 i 10 i cout a i cout endl 回答 六 程序改错 六 程序改错 1 要求下面程序的输出结果为 100 20 在第 1 7 行中存在着 3 条语句错误 指出错误语句行的行号 并改正错误 include class S int n public S n 20 S int nn n nn void Show cout n Show 2 行 void main 3 行 4 行 S s1 100 s2 5 行 p 6 行 shows 7 行 shows p 8 行 错误行的行号为 改正为 错误行的行号为 改正为 错误行的行号为 改正为 2 要求下面程序的输出结果为 2 3 1 在第 1 12 行中存在着 3 条语句错误 指出错误语句行的行号 并改正错误 include class P int n public void Setn int val n val void Show void P Show 1 行 cout n t 2 行 void main 3 行 4 行 P ob 3 p ob 1 5 行 for int i 0 iShow 10 行 p 11 行 p Show 12 行 错误行的行号为 改正为 错误行的行号为 改正为 错误行的行号为 改正为 3 要求下面程序的输出结果为 d 16 f 25 在第 1 14 行中存在着 3 条语句错误 指出错误语句行的行 号 并改正错误 include class A int a 10 n public A int aa int nn n nn for int I 0 I n I a I aa I int Get int i return a i int SumA int n 求 a 数组的前 n 个元素之和 int SumA int n 1 行 2 行 int s 0 3 行 for int j 0 j n j s s a j 4 行 return s 5 行 6 行 void main 7 行 8 行 int b 2 5 8 10 15 20 f d 1 9 行 A x b 6 10 行 for int i 0 i 3 i 11 行 d d Get i 12 行 f SumA 4 13 行 计算 x 的成员 a 的前 4 个元素之和 cout

温馨提示

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

评论

0/150

提交评论