C++期末考试复习题(等级考试真题).pdf_第1页
C++期末考试复习题(等级考试真题).pdf_第2页
C++期末考试复习题(等级考试真题).pdf_第3页
C++期末考试复习题(等级考试真题).pdf_第4页
C++期末考试复习题(等级考试真题).pdf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第4页 VC C C 等等级级考试考试真真题题训练训练 20112011 年年秋秋 C C 笔笔试试题题 一一 选择题选择题 1 以下关于 C 变量的存储类型和作用域的叙述中 正确的是 A 可将变量分为 auto static extern register 和 array 五种存储类型 B 自动变量的作用域为整个程序文件 C 函数内定义的静态变量的作用域为整个程序文件 D 在某花括号 开头定义的变量 其作用域为该开花括号至对应的闭花括号内 2 在 C 中 没有 this 指针的函数是 A 静态成员函数 B 构造函数 C 析构函数 D 非静态的内联成员函数 3 在 C 中 设有变量说明 char a 20 pa a 不存在语法错误的语句是 A a 20 Hello B a Hello C pa Hello D pa Hello 4 C 的 break 语句 A 用在能出现语句的任意位置 B 只能用在循环体内 C 只能用在循环体内或 switch 语句中 D 能用在任一复合语句中 5 以下有关 C 构造函数的叙述中 正确的是 A 构造函数的名字可与类名不同 B 可定义构造函数的返回值类型 C 构造函数可由系统自动调用 D 可以存在没有构造函数的类 6 在 C 中 用非成员函数重载双目运算符时 其参数表中的参数个数为 A 0 个 B 1 个 C 2 个 D 3 个 7 在 C 派生类中定义虚函数时 可以与基类中相应的虚函数不同的是 A 参数类型 B 函数体 C 参数个数 D 函数返回值的类型 8 以下关于 C 标识符的描述中 不正确的是 A 标识符必须以字母或下划线开头 B 标识符可以用任何字符开头 C 标识符区分大小写字母 D 用户定义的标识符不能与关键字相同 9 以下关于 C 函数的叙述中 不正确的是 A 函数必须有返回值 B 在不同的函数中可定义同名的变量 C 一个函数中可有多条 return 语句 D 函数的定义不能嵌套 但函数的调用可嵌套 10 以下关于 C 类的叙述中 不正确的是 A 类可以动态地描述和动态地产生 B 虚基类可以解决多重继承中的二义性 C 类是具有相同行为的若干对象的统一抽象 D 类是创建对象的一个样板 二 填空题填空题 基本概念题 共 5 分 1 在 C 语言中 任一语句必须以字符 1 结束 2 在定义 C 类时 当没有明确指定其成员的访问权限时 这种成员缺省的访问权限为 2 3 C 派生类的成员可分为两部分 一部分是派生类中增加的新成员 另一部分是从 3 继 承的成员 4 在 C 中 编译时的多态性是由函数重载或 4 来实现的 5 在 C 的单目 双目和三目运算符中 逗号运算符除外 优先级最高的是单目运算符 优先级最低 第5页 VC 的是 5 阅读程序题 共 13 分 6 程序 2 分 include void main void int a 4 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 20 for int sum1 0 sum2 0 i 0 i 4 i for int j 0 j 4 j if i j sum1 a i j if i j 3 sum2 a i j cout sum1 sum1 endl cout sum2 sum2 endl 程序输出的第一行是 6 第二行是 7 7 程序 2 分 include void fun int x int y x void main void int x 5 y 10 fun x y fun y x cout x x endl cout y y endl 程序输出的第一行是 8 第二行是 9 8 程序 3 分 include void f char p1 char p2 int count1 0 count2 while p1 count1 0 count2 0 while p2 count2 0 if p1 count1 p2 count2 cout count2 t p1 count1 endl 第6页 VC break count2 count1 void main void char str1 abcdefghijk char str2 123i4bc78h9 f str1 str2 程序输出的第一行是 10 第二行是 11 第四行是 12 9 程序 3 分 include int fun int n static int a 3 if n 3 a 2 else cout a a n a n fun n 2 return a void main void int b 7 b fun b cout b b endl 程序输出的第一行是 13 第二行是 14 第三行是 15 10 程序 3 分 include class Bclass public Bclass int i int j x i y j 第7页 VC virtual int fun return x y virtual int fun int i return x y int get int return y private int x y class Iclass public Bclass public Iclass int i int j int k Bclass i j z i j k int fun int a b b get a return a b z 3 private int z void main void Iclass obj 2 4 10 Bclass p1 obj cout p1 fun endl Bclass p3 cout fun endl cout fun 2 endl 程序输出的第一行是 16 第二行是 17 第三行是 18 完善程序题 共 12 分 11 以下程序中两个函数的功能是 函数 in yes int x int y 判断 x 中的某一位是否为 y 若是返回 1 否则返回 0 函数 fun int x int y int pp int while x 19 if a y 20 break x x 10 return flag void fun int x int y int pp int for i 2 i x i i 2 if x i 0 if 21 pp j i n j void main void int x y aa 1000 n i cout x cout y 22 调用函数 cout x x t y y n if n 0 cout 没有满足条件的偶数因子 n else cout x 包含的偶数因子且因子中某一位为 y 的所有因子是 n for i 0 i n i cout aa i t cout c b a 且 a b c d 3 的值为 0 例如 2445 为满足条件的四位数 以下程序中 函数 f1 的功能是将一个四位数进行分解 将分解后的各位数字存入数组中 函数 f2 判断参数是否为满足条件的四位数 程序 4 分 include void f1 int a int x int m 1000 for int i 0 i 4 i 23 x x m m m 10 int f2 int x int d 4 flag f1 d x flag 0 if 24 int sum 0 for int i 0 i 4 i sum d i if 25 flag 1 return flag void main void int count 0 for int i 1000 i 10000 i if 26 count cout i t if count 5 0 cout n cout n cout 满足条件的数共有 count 2 4 6 8 10 15 17 End 逆序后的链表为 Head 17 15 10 8 6 4 2 End 程序 4 分 include struct node int data node next node fun node h node p q r p h if p NULL return NULL q p next 27 while q r q next 28 p q q r return p node creatlist int a int j node h p q int i h NULL for i 0 idata a i 29 if h NULL h p q else p next q 30 第11页 VC return h void outlist node h 输出链表 node p p h if p NULL cout 链表为空 endl else cout Head do cout data p p next while p NULL cout End next delete p void main void node head int a 2 4 6 8 10 15 17 head creatlist a 7 cout 原链表为 outlist head head fun head cout 逆序后的链表为 outlist head free list head 第12页 VC 参考答案 选择题 1 D 2 A 3 D 4 C 5 C 6 C 7 B 8 B 9 A 10 A 其它题 1 或分号 2 private 或私有 3 基类 4 运算符重载 5 三目运算符 6 sum1 38 或 38 7 sum2 34 或 34 8 x 35 或 35 9 y 25 或 25 10 5 b 11 6 c 12 3 i 13 a 3 14 a 3 15 b 70 16 8 17 7 18 6 19 a x 10 20 flag 1 或 return 1 21 in yes i y 22 fun x y aa n 23 a i x m 24 d 0 d 1 则以下选项中存在语法错误的是 A p B hh C p D hh 3 以下说明语句中 不存在语法错误的是 A int s 26 this 30 B int s1 25 s2 100 C int n cin n int arr n D char str I am a student 4 设有语句 int a 10 b 20 c 30 则执行语句 cout a b c 其输出结果是 A 10 B 20 C 30 D 10 20 30 5 以下关于运算符重载的叙述中 正确的是 A C 已有的任何运算符都可以重载 B 可以重载 C 中没有的运算符 C 运算符重载时可改变其优先级 D 运算符重载时可改变其实现的功能 6 设有函数原型说明 float f int float 则表示该函数 f 的返回值为 A 一个实数 B 指向一个实数的指针 C 该函数的地址 D 指向一个函数的指针 7 下列有关构造函数的叙述中 不正确的是 A 可以定义没有构造函数的类 B 任何一个类必定有构造函数 C 类的构造函数可以重载 D 构造函数没有返回值 8 下列有关类成员的叙述中 不正确的是 A 当不指定类成员的访问权限时则为私有成员 B 友元函数可访问类中的任一成员 C 指定为 public 的成员不允许在类外访问 D 成员函数可访问类中的任一成员 9 以下关于类和对象的叙述中 不正确的是 A 不同的类可以产生相同类型的对象 B 类是一种类型 它定义了数据和操作 C 对象是类的实例 D 任一对象必属于某一个类 10 以下关于指针运算的叙述中 不正确的是 A 可以将 NULL 赋给任一指针变量 B 两个同类型的指针变量可进行相等或不等的运算 C 指针变量的值加上常数 n 使该指针指向当前元素其后的第 n 个元素 D 指向同一数组的两个指针变量 在任何情况下 两指针变量相减是无意义的 二二 填空题填空题 基本概念题 共 5 分 1 每一个类均有构造函数和析构函数 这两个函数中不可以定义为虚函数的是 1 2 定义了宏 define F x y z x y z 执行语句 b F 3 4 2 2 4 4 其变量 b 的值为 2 3 函数重载和 3 实现的多态性属于静态多态性 4 定义的函数不返回任何值时 则在定义函数时在函数名前加保留字 关键字 4 5 C 关于存储类型的说明符一共有四种 分别是 auto static extern 和 5 阅读程序题 共 13 分 第14页 VC 6 程序 2 分 include void main void int c2 c3 c5 m 20 c2 c3 c5 0 for int i 1 i m i if i 15 i 14 continue if i 2 0 c2 if i 3 0 c3 if i 7 0 c5 cout c2 endl c3 endl c5 endl 程序输出的第一行是 6 第三行是 7 7 程序 2 分 include int f int a int b c c a return a b c void main void int x 5 y 5 z 6 sum for int i 0 i 2 i sum f x y cout x t y t z t sum n 程序输出的第一行是 8 第二行是 9 8 程序 2 分 include void f int s int y static int t 3 y s t s t 2 t void main void 第15页 VC int a 1 2 3 4 i int x 0 for i 0 i 4 i f a cout x endl for i 0 i 4 i cout a i t cout n 程序输出的第二行为 10 最后一行为 11 9 程序 3 分 include void f int x int y char res 10 0 int i 0 rem do rem x y x x y if rem 0 i cout res i cout endl void main void f 23 10 f 45 8 f 50 16 程序输出的第一行是 12 第二行是 13 第三行是 14 10 程序 2 分 include char st Your friend void f2 int void f1 int i cout st i endl if i 3 第16页 VC i 2 f2 i void f2 int i cout st i endl if i 3 i 2 f1 i void main void int i 0 f1 i 程序输出的第一行是 15 第二行是 16 11 程序 2 分 include class A public A char s cout s endl A class B public A L1 public B char s1 char s2 A s1 cout s2 endl class C public A L2 public C char s1 char s2 A s1 cout s2 endl class D public B public C public D char s1 char s2 char s3 char s4 B s1 s2 C s1 s3 cout s4 endl void main void 第17页 VC D ptr new D students study C hard delete ptr 程序共输出 17 行 将 L1 行改为 class B virtual public A L1 将 L2 行改为 class C virtual public A L2 程序共输出 18 行 完善程序题 共 12 分 12 以下程序的功能是 把从键盘上输入的一个大于等于 3 的整数分解为质因子的乘积 例如 输入 50 时 则输出 50 2 5 5 输入 45 时 则输出 45 3 3 5 输入 37 时 则输出 37 37 程序 4 分 include int prime int x 求大于 x 的最小质数 素数 int flag 1 x while 19 int i 2 while i x if 20 break i if i x x else flag 0 return x void f int n 将 n 分解为若干个质数之积 int flag 1 int i 2 保证 i 为质数 do while 21 if flag 1 cout i flag 0 else cout i n n i 22 while i n if n 1 第18页 VC if flag 1 cout n else cout n void main void int x do cout x while x 3 cout x f x cout endl 13 以下程序的功能是 实现两个字符串拼接 函数 strcat char s1 char s2 先将 s1 所指向的字 符串拷贝到 s 所指向的动态申请的存储空间 接着将 s2 所指向的字符串拼接 s 所指向的字符后面 并 返回拼接后的字符串 程序 4 分 include char strcat char s1 char s2 char s p q int len1 0 len2 0 p s1 while p 0 len1 p p s2 while p 0 len2 p s q 23 p s1 for int i 0 i len1 i q p p s2 while 24 25 void main void 第19页 VC char s1 visual char s2 is esay char s s 26 cout s endl delete s 14 下面程序的功能是 将两

温馨提示

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

评论

0/150

提交评论