C++复习试题(已认证精华版)_第1页
C++复习试题(已认证精华版)_第2页
C++复习试题(已认证精华版)_第3页
C++复习试题(已认证精华版)_第4页
C++复习试题(已认证精华版)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1 C 复习资料及答案 一 一 判断题判断题 1 在变量定义 在变量定义 int sum SUM 中中 sum 和和 SUM 是两个相同的变量名 是两个相同的变量名 2 字符串 字符串 china 在内存中占据的存储空间是在内存中占据的存储空间是 5 个字节 个字节 3 在 在 C 语言中 语言中 A 和和 A 是等价的 是等价的 4 C 表达式表达式 4 7 和和 4 0 7 的值是相等的 且都为的值是相等的 且都为 double 型 型 5 关系表达式 关系表达式 a b c 等价于等价于 a b c 同时也等价于 同时也等价于 a b c 6 continue 语句和语句和 break 语句的区别是 语句的区别是 break 语句提前跳出语句提前跳出 switch 结构或结束循环的执行 结构或结束循环的执行 continue 语句只结束本次循环 而不语句只结束本次循环 而不 是终止整个循环的执行 是终止整个循环的执行 7 数组是一种构造型数据 即是若干相同类型的数据的集合 数组是一种构造型数据 即是若干相同类型的数据的集合 8 C 语言中 二维数组中元素排列的顺序是 按行存放 即在内存中先顺序存放第一行的元素 再存放第二行的元素 语言中 二维数组中元素排列的顺序是 按行存放 即在内存中先顺序存放第一行的元素 再存放第二行的元素 9 include iostream h 的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来 的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来 10 C 语言中允许函数语言中允许函数 嵌套调用嵌套调用 和和 递归调用递归调用 所谓 所谓 递归调用递归调用 就是指 在调用一个函数的过程中又出现直接或间接地调用就是指 在调用一个函数的过程中又出现直接或间接地调用 该函数本身 该函数本身 二 二 选择题选择题 1 由 由 C 源程序文件编译而成的目标代码文件的缺省扩展名为 源程序文件编译而成的目标代码文件的缺省扩展名为 A cpp B exe C obj D lik 2 设 设 x 和和 y 均为均为 bool 类型 则类型 则 x p 1 后后 a 0 a 1 a 2 的值依次是的值依次是 A 10 11 12 B 11 12 12 C 10 12 12 D 11 11 12 6 设 设 a b 和和 c 都是都是 int 型变量型变量 且且 a 3 b 4 c 5 则下列表达式中则下列表达式中 值为值为 0 的表达式是 的表达式是 A A 9 若有 若有 int a 6 4 5 6 9 5 7 p a q p 则对数组元素的错误引用是 则对数组元素的错误引用是 A a 4 B p 4 C a D q 10 下列不正确的转义字符是 下列不正确的转义字符是 A B C 074 D 0 11 假定 假定 a 和和 b 为为 int 型变量型变量 则执行以下语句后则执行以下语句后 b 的值为 的值为 a 1 b 10 do b a a while b 0 A 9 B 2 C 1 D 8 12 对于结构中定义的成员 其隐含访问权限为 对于结构中定义的成员 其隐含访问权限为 A publicB protected C privateD static 13 设 设 P1 和和 P2 是指向同一个是指向同一个 int 型一维数组的指针变量型一维数组的指针变量 k 为为 int 型变量型变量 则不能正确执行的语句是 则不能正确执行的语句是 A k P1 P2 B p2 k C P1 P2 D K P1 P2 14 设有如下定义 设有如下定义 int arr 6 7 8 9 10 int ptr 则下列程序段的输出结果为 则下列程序段的输出结果为 ptr arr ptr 2 2 cout ptr ptr 2 1 的含义是的含义是 18 int p 的含义是的含义是 四 简答题四 简答题 1 请用 请用 C 语言的表达式表示下列代数式 语言的表达式表示下列代数式 1 dx 55sin 3 2 e 2 71828 ba e 3 1 3 tha b hba 4 2 4 e 2 71828 50sin ba e 5 5 2 ln xa x a 2 根据要求完成下列各题 根据要求完成下列各题 1 用两种方法实现一个字符串用两种方法实现一个字符串 str 并赋以初值 并赋以初值 welcome to Nanjing 2 定义结构体类型定义结构体类型 date 该结构体包含的成员为该结构体包含的成员为 year 整型整型 month 整型整型 day 整型整型 再使用 再使用 typedef 将结构体类型将结构体类型 date 等价成等价成 DATE 最后使用 最后使用 DATE 定义一个变量定义一个变量 pdate 五 程序分析题五 程序分析题 1 写出下列程序运行结果 写出下列程序运行结果 1 include iostream h 4分 分 void main int x 5 y 8 px py px cout num1 px num2 py if x y swap1 x y cout num1 px num2 py if x y swap2 px py cout num1 px num2 py if x y swap3 px py cout num1 px num2 py swap1 int a int b int t t a a b b t cout num1 a num2 b swap2 int p int q int t t p p q q t cout num1 p num2 q swap3 int p int q int t t p p q q t cout num1 p num2 q 2 include iostream h 3 分 分 main int argc char argv int i cout argc argc for i 0 i argc 1 i cout argv i 若上面的程序编译若上面的程序编译 连接后生成可执行文件连接后生成可执行文件 ABC EXE 若输入以下命令行若输入以下命令行 abc filel file2 表示回车表示回车 注 文件的路径可以不考虑注 文件的路径可以不考虑 3 include 4 分 分 class A int a b public A a b 0 A int aa int bb a aa b bb cout a a b b endl A cout Destructor endl void main A x y 2 3 对象对象 x y 消亡后分别自动调用析构函数消亡后分别自动调用析构函数 A 2 2 试分析下列程序或函数的功能 试分析下列程序或函数的功能 4分 分 1 include iostream h void main char str 81 sptr int i for i 0 i 80 i str i cin get if str i n break str i 0 sptr str while sptr cout sptr 3 程序改错题 程序改错题 4 分分 从键盘输入一个分数 从键盘输入一个分数 0 100 判断它属于哪个分数段 并输出分数段字母代号 判断它属于哪个分数段 并输出分数段字母代号 include main int num char grade cout num if grade 90 cout The grade is 80 grade B cout The grade is 70 grade C cout The grade is 60 grade D cout The grade is grade else grade E cout The grade is grade 4 程序填空题 程序填空题 每空每空 1 分分 共共 8 分分 1 以下程序通过调用自定义函数 以下程序通过调用自定义函数 scopy 将字符串将字符串 s1 复制到字符串复制到字符串 s2 并输出显示 请填空 并输出显示 请填空 include iostream h void scopy while p 0 q 0 void main char s1 Nanjing China char s2 20 cout nThe s1 is s1 cout nThe s2 is s2 2 class A int a int n public A int nn 0 n nn if n 0 a 0 else a 分配长度为分配长度为 n 的动态数组的动态数组 void seta int aa for int i 0 i n i a i aa i 定义析构函数 释放动态数组空间定义析构函数 释放动态数组空间 六 编程题六 编程题 1 编制一个完整的程序 从键盘输入编制一个完整的程序 从键盘输入 10 个整型数组元素 调用自定义函数个整型数组元素 调用自定义函数 void sort int array int n 对其进行由大到小排序对其进行由大到小排序 最最 后将排序结果输出到显示器终端 要求自定义函数后将排序结果输出到显示器终端 要求自定义函数 sort 中用冒泡法实现排序 中用冒泡法实现排序 1 C 程序设计语言 答案 一 判断题 一 判断题 10 分 分 1 5 F F F F F 2 10 T T T T T 二 选择题 二 选择题 25 分 分 1 5 C A C A C 6 10 D A C C C 11 15 D A B D A 16 20 C D D A A 三 语法填空题 三 语法填空题 15 分 分 1 A B A C 2 值传递值传递 和和 地址传递地址传递 3 不相同不相同 4 已存在同类型对象的引用已存在同类型对象的引用 5 函数的说明部分函数的说明部分和和函数体部分函数体部分 6 main 函数的入口地址处函数的入口地址处 7 注释说明 以增加程序的可读性注释说明 以增加程序的可读性 8 下标方式下标方式 和和 指针方式指针方式 9 字符串结束标志字符串结束标志 0 10 自动类型转换自动类型转换 和和 强制类型转换强制类型转换 11 左结合性左结合性 和和 右结合性右结合性 12 198 13 x 1 y 0 14 选择结构选择结构 循环结构循环结构 15 include include math h 16 指针变量指针变量 17 定义指针数组定义指针数组 p 它有 它有 10 个指向个指向 整型数据的指针元素组成整型数据的指针元素组成 18 定义一个指针变量定义一个指针变量 p 它指向一个 它指向一个 指向整型数据的指针变量指向整型数据的指针变量 四 简答题 四 简答题 16 分 分 1 请用 请用 C 语言的表达式表示下列代数语言的表达式表示下列代数 式 式 1 x x x sin 55 3 14 180 3 14 d 2 1 0 3 exp a b 3 a b b h b 4 a h t 4 exp a b sin 50 3 14 180 5 log a x 5 0 sqrt a x x 2 根据要求完成下列各题 根据要求完成下列各题 1 static char str welcome to Nanjing char str welcome to Nanjing 2 struct date int year int month int day typedef struct date DATE DATE pdate 五 程序分析题五 程序分析题 1 1 各 各cout按执行次序输出的结果为按执行次序输出的结果为 5 8 8 5 5 8 8 5 5 8 8 5 8 5 2 程序执行后的输出结果是 程序执行后的输出结果是 argc 3 abc exe file1 file2 3 程序的输出结果是 程序的输出结果是 a 2 b 3 Destructor Destructor 2 程序的功能是 从键盘上输入一行字符 程序的功能是 从键盘上输入一行字符 存入一个字符数组中存入一个字符数组中 然后输出该字符串 然后输出该字符串 3 改错题 改错题 include main int num char grade cout num if grade 90 cout The grade is 80 grade B cout The grade is 70 grade C cout The grade is 60 grade D cout The grade is grade else grade E cout The grade is grade endif endif endif endif 4 填空题 填空题 1 以下程序通过调用自定义函数以下程序通过调用自定义函数 scopy 将字符串将字符串 s1 复制到字符串复制到字符串 s2 并输出显示 请填空 并输出显示 请填空 char p char q q p p q scopy s1 s2 2 new int n 分配长度为分配长度为 n 的动态数组的动态数组 A delete a 定义析构函数 释放动态数组空间定义析构函数 释放动态数组空间 六 程序设计题 六 程序设计题 7 分 分 include main int arr 10 for int i 0 i arr i Sort arr 10 for int i 0 i arr i void sort int array int n int i j k for i 0 i n 1 i for j 0 j array j 1 k array j array j array j 1 array j 1 k 2 C 程序设计试题 上 试卷 卷面 60 分 考试用时 90 分钟 一 选择题 每题一 选择题 每题 1 分 共分 共 5 分 分 1 对于面向对象的程序设计 对于面向对象的程序设计 OOP 和过程性 和过程性 SP 的程序设计 那些说法是正确的 的程序设计 那些说法是正确的 A 面向对象的程序设计和过程性程序设计是两个独立的程序设计范型 面向对象的程序设计和过程性程序设计是两个独立的程序设计范型 B 面向对象的程序设计和过程性程序设计不是两个独立的程序设计范型 前者包含后者 将两者分开并列是不妥的 面向对象的程序设计和过程性程序设计不是两个独立的程序设计范型 前者包含后者 将两者分开并列是不妥的 C 面向对象是编程的总体框架 而过程性是编写解决具体问题的程序段的工具 面向对象是编程的总体框架 而过程性是编写解决具体问题的程序段的工具 D 面向对象只是一种语法现象 而过程性程序设计才是编程的工具 面向对象只是一种语法现象 而过程性程序设计才是编程的工具 2 下面有关函数调用的说法哪一个是错误的 下面有关函数调用的说法哪一个是错误的 A 实参与形参的数目要求必须是相同的 实参与形参的数目要求必须是相同的 B 实参与形参的对应关系取决于位置而不是名字 实参与形参的对应关系取决于位置而不是名字 C 实参与对应的形参应类型匹配 即实参的类型可以转化为形参类型 实参与对应的形参应类型匹配 即实参的类型可以转化为形参类型 D C 有两种调用方式 传值与引用 有两种调用方式 传值与引用 3 C 中表示字符中表示字符 A 的正确方法是的正确方法是 A 65 B A C 65 D A 4 有关函数重载的要求哪一个是正确的 有关函数重载的要求哪一个是正确的 A 必须保证参数类型和返回值类型均不同 必须保证参数类型和返回值类型均不同 B 必须保证返回值类型不同 必须保证返回值类型不同 C 必须保证参数的数量不同 必须保证参数的数量不同 D 必须保证参数类型或数量不同 必须保证参数类型或数量不同 5 下列有关枚举类型的说明哪些是错误的 下列有关枚举类型的说明哪些是错误的 A 枚举常量 或称枚举成员 是以标识符形式表示的整型量 枚举常量 或称枚举成员 是以标识符形式表示的整型量 B 默认状态下 这个整数就是所列举元素的序号 序号从默认状态下 这个整数就是所列举元素的序号 序号从 0 开始 开始 C 类型定义时可以为部分或全部枚举常量指定整数值 其余的枚举常量仍按默认方式取值 类型定义时可以为部分或全部枚举常量指定整数值 其余的枚举常量仍按默认方式取值 D 各枚举常量的值可以重复 但各枚举常量标识符必须不同 各枚举常量的值可以重复 但各枚举常量标识符必须不同 二 简答题 每题二 简答题 每题 1 分 共分 共 5 分 分 1 什么是逻辑表达式的求值优化 举例说明 什么是逻辑表达式的求值优化 举例说明 2 下面 下面 4 个类定义中 是否有错 如有错请说明错在哪里 个类定义中 是否有错 如有错请说明错在哪里 1 class Square private int upper left x upper left y int side length public void Square int x 0 int y 0 int len 2 Square int draw 2 class Circle private register int atom x atom y auto int radius public Circle int x 0 int y 0 int radius 3 Circle int darw 3 class Figure public Figure Figure bool have drawn 4 class Line private int start x 0 start y 0 int end x 0 end y 0 public int draw int is on line int x int y 三 阅读程序段 每题三 阅读程序段 每题 5 分 共分 共 20 分 分 1 以下是运输公司对所运货物计费的程序 以下是运输公司对所运货物计费的程序 设每公里每吨的基本运费为设每公里每吨的基本运费为p 货物重量为 货物重量为w 总运输里程在某段中的里程为 总运输里程在某段中的里程为 s 折扣为 折扣为d 则该段运费为 则该段运费为 p w s 1 d 总费用为 总费用为 各段费用之和 采用不加各段费用之和 采用不加break的的switch语句 语句 int main int c s double p w d f cout 输入运输单价输入运输单价p 重量 重量w和里程和里程s p w s f 0 c s 250 switch c default d 0 15 f p w s 3000 1 d s 3000 case 8 case 9 case 10 case 11 d 0 1 f p w s 2000 1 d s 2000 case 4 case 5 case 6 case 7 d 0 08 f p w s 1000 1 d s 1000 case 2 case 3 d 0 05 f p w s 500 1 d s 500 case 1 d 0 02 f p w s 250 1 d s 250 case 0 d 0 f p w s 1 d cout 运输单价运输单价 p t 重量重量 w t 里程里程 s endl cout 折扣后运费折扣后运费 f endl return 0 运输公司是怎样分段的 并给出各段的折扣率 运输公司是怎样分段的 并给出各段的折扣率 设输入运输单价 重量和里程为 设输入运输单价 重量和里程为 0 5 40 4300 输出结果是什么 输出结果是什么 2 下面的程序演示静态局部变量的应用 请写出程序运行的输 下面的程序演示静态局部变量的应用 请写出程序运行的输 出结果 出结果 void tripe it int void main int i for i 1 i 4 i tripe it i return void tripe it int i static int total 0 local and static int ans local and automatic ans i 3 total ans cout Sum of 1 3 to i 3 is total n return 3 写出以下程序中递归函数求解的数学式 写出以下程序中递归函数求解的数学式 include using namespace std double P int n double x if n 0 return 1 if n 1 return x return 2 n 1 x P n 1 x n 1 P n 2 x n int main cout P 4 1 5 P 4 1 5 endl return 0 4 给出输出的结果 给出输出的结果 void swap int int main int i 3 j 5 swap i j cout i i j j 0 1 某天的桃子数某天的桃子数x1是前一天桃子数是前一天桃子数x2加加1后的后的2倍倍 2 3 cout total x1 1 include using namespace std int f int int main int n s cout n s 4 cout The result is s endl return 0 int f int n 递归法求平方和函数递归法求平方和函数 if 5 return 1 else return 6 3 若一头小母牛从出生第四个年头开始每年生一头母牛 按此规律 第 若一头小母牛从出生第四个年头开始每年生一头母牛 按此规律 第 n 年时总共会有多少头母牛 采用递推算法 年时总共会有多少头母牛 采用递推算法 void main int n i long a 0 b 0 c 0 d 1 temp a是是3岁及以上母牛数 岁及以上母牛数 b是是2岁 岁 c是是1岁 岁 d是是0岁岁 cout n cout endl for i 1 i n i 7 第第n年时 年时 3岁及以上母牛数岁及以上母牛数 8 第第n年时 年时 2岁母牛数岁母牛数 9 第第n年时 年时 1岁母牛数岁母牛数 10 第第n年时 新生牛数年时 新生牛数 cout 第第n年总共有年总共有 11 头母牛 头母牛 endl 4 将 将 100 元换成用元换成用 10 元 元 5 元和元和 1 元的组合 共有多少种组合方法 采用穷举法 考虑元的组合 共有多少种组合方法 采用穷举法 考虑 10 元最多元最多 10 张 张 5 元最多元最多 20 张 余下是张 余下是 1 元 元 int main int i j k count 0 for i 0 12 i i是是10元张数 元张数 j是是5元张数 元张数 k是是1元张数元张数 for j 0 13 j k 14 if 15 cout i t j t k endl count cout count endl return 0 2 C 程序设计试题 上 参考答案 一 选择题 每题一 选择题 每题1分 共分 共5分 分 1 B C 2 A 3 D 4 D 5 C 二 简答题 每题二 简答题 每题 1 分 共分 共 5 分 分 1 在求逻辑表达式值的过程中 一旦表达式的值能够确定 就不再逐步进行下面的运算 例如 假定 在求逻辑表达式值的过程中 一旦表达式的值能够确定 就不再逐步进行下面的运算 例如 假定 a 2 b 0 c 3 逻辑表达式 逻辑表达式 a b c 因因 a 为非为非 0 整数 表达式的值立即可以确定为整数 表达式的值立即可以确定为 true 后面的运算 后面的运算 b 和和 c 不再进行 最后不再进行 最后 b 仍为仍为 0 c 仍为仍为 3 2 1 构造函数无函数返回类型说明 构造函数无函数返回类型说明 2 定义类时成员数据不分配内存 不可加存储类型说明 定义类时成员数据不分配内存 不可加存储类型说明 3 析构函数是无参函数 析构函数是无参函数 4 定义类时成员数据不分配内存 不可赋初值 定义类时成员数据不分配内存 不可赋初值 三 阅读程序段 每题三 阅读程序段 每题 5 分 共分 共 20 分 分 1 分段与运费打折情况如下 分段与运费打折情况如下 s 250不打折扣不打折扣 250 s 5002 折扣折扣 500 s 10005 折扣折扣 1000 s 20008 折扣折扣 2000 s 300010 折扣折扣 3000 s15 折扣折扣 输出结果 输出结果 运输单价 运输单价 0 5 重量 重量 40里程 里程 4300 折扣后折扣后运费 运费 77900 2 Sum of 1 3 to 1 3 is 3 Sum of 1 3 to 2 3 is 9 Sum of 1 3 to 3 3 is 18 Sum of 1 3 to 4 3 is 30 3 勒让德多项式 勒让德多项式 4 i 5 j 3 四 填空 完善程序 每空四 填空 完善程序 每空 2 分 共分 共 30 分 分 1 1 x1 x2 1 2 2 x2 x1 3 day 2 4 f n 5 n 1 6 n n f n 1 3 7 a b 8 b c 9 c d 10 d a 11 a b c d 4 12 i 10 13 j 0 3 C 程序设计试题 下 试卷 卷面 60 分 考试用时 100 分钟 一 选择题 每题一 选择题 每题 1 分 共分 共 5 分 分 1 设计一个自定义类时 需要在屏幕上显示或向文件写入类对象的数据 最佳选择方法是 设计一个自定义类时 需要在屏幕上显示或向文件写入类对象的数据 最佳选择方法是 A 为屏幕显示和文件写入各自设计一个成员函数 为屏幕显示和文件写入各自设计一个成员函数 B 为屏幕显示和文件写入统一设计一个成员函数 为屏幕显示和文件写入统一设计一个成员函数 C 重载插入运算符 重载插入运算符 2 关于异常处理 那些说法是错误的 关于异常处理 那些说法是错误的 A 在 在 C 程序中 由程序中 由 throw 表达式抛出异常 而该表达式应直接或间接地被包含在表达式抛出异常 而该表达式应直接或间接地被包含在 try 块中 块中 B 当抛出异常后 寻找匹配的 当抛出异常后 寻找匹配的 catch 子句有固定的过程 逆着程序函数的调用链返回 称为栈展开 子句有固定的过程 逆着程序函数的调用链返回 称为栈展开 Stack Unwinding 1n 1 12 1n 0n 1 21 nxPnxxPn xxP nn n C 当某条语句抛出异常时 跟在其后的语句将被跳过 但析构函数仍然执行 所以应该在析构函数中释放资源 当某条语句抛出异常时 跟在其后的语句将被跳过 但析构函数仍然执行 所以应该在析构函数中释放资源 D catch 子句实际是一个特殊的函数 子句实际是一个特殊的函数 3 下列关于动态资源分配的说法中错误的是 下列关于动态资源分配的说法中错误的是 A 动态分配的资源不仅包括内存 还包括文件 动态分配的资源不仅包括内存 还包括文件 B 动态内存分配的优点在于可以随时给数组分配所需的内存而不会失败 动态内存分配的优点在于可以随时给数组分配所需的内存而不会失败 C 动态分配的资源通常要求在析构函数中释放 动态分配的资源通常要求在析构函数中释放 D 对含有动态分配的数据成员的类对象应该采用深复制 对含有动态分配的数据成员的类对象应该采用深复制 4 下列有关模板的描述那些是错误的 下列有关模板的描述那些是错误的 A 模板把数据类型作为一个设计参数 称为参数化程序设计 模板把数据类型作为一个设计参数 称为参数化程序设计 B 模板参数除模板类型参数外 还有非类型参数 模板参数除模板类型参数外 还有非类型参数 C 类模板与模板类是同一概念 类模板与模板类是同一概念 D 使用时 模板参数与函数参数相同 是按位置而不是名称对应的 使用时 模板参数与函数参数相同 是按位置而不是名称对应的 5 关于多态 下面那些说法是正确的 关于多态 下面那些说法是正确的 A 多态分静态的 编译时 和动态的 运行时 多态分静态的 编译时 和动态的 运行时 B 运行时的多态与类的层次结构有关 运行时的多态与类的层次结构有关 C 在基类定义了虚函数后 在派生类中重新定义时可以不加关键字 在基类定义了虚函数后 在派生类中重新定义时可以不加关键字 virtual D 仅使用虚函数并不能实现运行时的多态性 还必须采用指针或引用来调用才能真正实现运行时的多态性 仅使用虚函数并不能实现运行时的多态性 还必须采用指针或引用来调用才能真正实现运行时的多态性 二 填空题 每空二 填空题 每空 0 5 分 共分 共 5 分 分 1 运算符重载时 其函数名由 运算符重载时 其函数名由 1 构成 成员函数重载双目运算符时 左操作数是构成 成员函数重载双目运算符时 左操作数是 2 右操作数是 右操作数是 3 2 C C 中的多维数组用的是一个中的多维数组用的是一个 4 的定义 即多维数组的基本定义是的定义 即多维数组的基本定义是 5 构成的数组 三维数组的元素是构成的数组 三维数组的元素是 6 3 单链表的结点包含两个域 单链表的结点包含两个域 7 和和 8 使用链表的最大的优点是 使用链表的最大的优点是 9 即使是动态数组也做不到这一点 即使是动态数组也做不到这一点 4 纯虚函数定义时在函数参数表后加 纯虚函数定义时在函数参数表后加 0 它表明程序员对函数体不定义 其本质是将指向函数体的指针定为 它表明程序员对函数体不定义 其本质是将指向函数体的指针定为 10 三 阅读程序段 第一题三 阅读程序段 第一题 4 分 其余每题分 其余每题 5 分 共分 共 14 分 分 1 写出下面的程序输出的数据 这是什么图形 写出下面的程序输出的数据 这是什么图形 int main int a 10 11 0 1 i j for i 1 i 10 i for j 1 j i 1 j a i j a i 1 j 1 a i 1 j for i 0 i 10 i for j 1 j i 1 j cout a i j t cout endl return 0 2 写出下列程序的输出结果 并做简单的说明 写出下列程序的输出结果 并做简单的说明 class Student string coursename 课程名课程名 int classhour 学时学时 int credit 学分学分 public Student coursename classhour 0 credit 0 virtual void Calculate credit classhour 16 void SetCourse string str int hour coursename str classhour hour int GetHour return classhour void Print cout coursename t classhour 学时学时 t credit 学分学分 Calculate ps Print ps ps Calculate ps Print return 0 3 写出该程序的输出结果 并说明该类的定义中 写出该程序的输出结果 并说明该类的定义中top和和maxSize的意义 的意义 templateclass Stack int top T elements int maxSize public Stack int 30 Stack delete elements void Push const T T Pop template Stack Stack int maxs maxSize maxs top 1 elements new T maxSize template void Stack Push const T template T Stack Pop return elements top int main int i char a 5 k c a t s Stackcstack for i 0 i 5 i cstack Push a i for i 0 i 5 i cstack Pop return 0 四 填空 完善程序 每空四 填空 完善程序 每空 2 分 共分 共 36 分 分 1 对半查找递归算法 对半查找递归算法 x 为定值 为定值 算法作为升序有序表 算法作为升序有序表 ordered list 模板类的成员函数 其中 模板类的成员函数 其中 T 为模板类型参数 为模板类型参数 sixe 代表有序表代表有序表 中数组中数组 slist 元素的个数 小于比较运算符元素的个数 小于比较运算符 在具体的类中重载 在具体的类中重载 template int Orderedlist Binarysearch T if low high mid low high 2 if slist mid x mid Binarysearch x 1 else if x slist mid mid Binarysearch x 2 return 3 2 冒泡排序算法 作为 冒泡排序算法 作为 Orderedlist类的成员函数 类的成员函数 last 是有序表元素个数 是有序表元素个数 template void Orderedlist BubbleSort bool noswap 交换标志交换标志 int i j T temp for i 0 i last i noswap 4 for j 5 6 7 从下往上冒泡从下往上冒泡 if slist j slist j 1 temp slist j slist j slist j 1 slist j 1 temp noswap 8 if noswap break 3 用虚函数来实现辛普生法求函数的定积分 在梯形法中是用直线来代替曲边梯形的曲边 在辛普生法中是用抛物线来代替 得出的 用虚函数来实现辛普生法求函数的定积分 在梯形法中是用直线来代替曲边梯形的曲边 在辛普生法中是用抛物线来代替 得出的 公式为 区间必须为偶数公式为 区间必须为偶数 n 个相等区间 个相等区间 b a nnn yyyyyyyyxdxxf 2 4 3 1 2421310 class Simpson double Intevalue a b Intevalue积分值 积分值 a积分下限 积分下限 b积分上限积分上限 public virtual double fun double x 0 被积函数声明为纯虚函数被积函数声明为纯虚函数 Simpson double ra 0 double rb 0 a ra b rb Intevalue 0 void Integrate double dx int i dx b a 2000 Intevalue 9 for i 1 i 2000 i 2 Intevalue 4 fun 10 for i 2 i 2000 i 2 Intevalue 2 fun 10 Intevalue dx 3 void Print cout 积分值积分值 Intevalue Integrate 动态动态 s Print return 0 4 单链表的结点采用类 单链表的结点采用类 Node 以以链表类链表类 List 为友元类 为友元类 List 可直接访问可直接访问 Node 的私有成员 的私有成员 对链表整体的操作则作为链表类的成员对链表整体的操作则作为链表类的成员 函数 这里列出向函数 这里列出向前生成链表 向后生成链表 创建结点等等 前生成链表 向后生成链表 创建结点等等 templateclass Node T info 数据域数据域 Node link 指针域指针域 public friend class List templateclass List Node head tail 链表头指针和尾指针链表头指针和尾指针 public void InsertFront Node p 可用来向前生成链表 在表头插入一个结点可用来向前生成链表 在表头插入一个结点 void InsertRear Node p 可用来向后生成链表 在表尾添加一个结点可用来向后生成链表 在表尾添加一个结点 Node CreatNode T data 创建一个结点创建一个结点 孤立结点孤立结点 templatevoid List InsertFront Node p 链头插入链头插入 p link 12 13 p if tail head tail p templatevoid List InsertRear Node p 链尾插入链尾插入 p link 14 15 p tail p templateNode List CreatNode T data 建立新节点建立新节点 Node tempP new Node data return tempP 5 为 为学生类重载插入 提取和小于运算符 学生类重载插入 提取和小于运算符 class student int key string name public bool operator student friend ostream ostream return s bool student operatori 7 j 8 false 3 9 fun a fun b 10 a i dx 11 return sin x 4 12 head link 13 head link 14 tail link 15 tail link 5 16 s k key k name k key k name 18 key st key C 程序设计 上 期终考试 上机考试试卷 1 学号学号 姓名姓名 成绩成绩 考试时间 考试时间 60 分钟 卷面分数分钟 卷面分数 30 分 分 说明说明 首先在 首先在 Z Z 盘建立一个以自己的学号命名的文件夹 用于保存上交的考试文件 对以下问题编制程序 调试运行 输出结果 盘建立一个以自己的学号命名的文件夹 用于保存上交的考试文件 对以下问题编制程序 调试运行 输出结果 一 结构化程序一 结构化程序 15 分 分 题目题目 利用级数展开式计算利用级数展开式计算 x 的幂级数 的幂级数 f x n 0 12 1 7 1 5 1 3 1 1 xngxgxgxg 其中 其中 g m x 12 1 m x m 要求要求 1 主函数负责输入输出以及计算函数主函数负责输入输出以及计算函数 f x 从从键盘输入键盘输入 x 1 x 1 值值 在计算过程中对于函数项在计算过程中对于函数项 g 2n 1 x 需需调用函数调用函数 fg 计算 当计算 当 第第 n 项与第项与第 n 1 项的值差小于项的值差小于 10 6时停止计算 输出计算结果 时停止计算 输出计算结果 2 为为 g m x 定义一个函数定义一个函数 float fg int m float x 主函数计算每项时必须调用此函数 主函数计算每项时必须调用此函数 注意注意 将源程序以文件名将源程序以文件名 MYF1 cpp 存入存入 Z 盘自己的目录中 盘自己的目录中 二 面向对象程序二 面向对象程序 15 分 分 题目题目 日期计算程序日期计算程序 要求要求 试建立一个类试建立一个类 date 用于描述日期对象 具体要求如下 用于描述日期对象 具体要求如下 1 私有数据成员 私有数据成员 int year 年年 int month 月月 此项也可使用枚举型 此项也可使用枚举型 int day 日日 2 公有成员函数 公有成员函数 date 构造函数 初始化数据成员为默认值 均为构造函数 初始化数据成员为默认值 均为 1 date 构造函数构造函数 自己定义参数自己定义参数 用参数初始化数据成员 用参数初始化数据成员 void set 用给定的参数修改数据成员的值 用给定的参数修改数据成员的值 自己定义参数自己定义参数 void display 打印输出该日期 打印输出该日期 void leapyear 通过计算判断该日期对象所在年份是否是闰年 通过计算判断该日期对象所在年份是否是闰年 3 在主程序中定义至少三个取值各不相同 在主程序中定义至少三个取值各不相同 geome 对象作为测试数据 完成对对象作为测试数据 完成对 geome 类和程序的测试 每个成员函数至少被调用一类和程序的测试 每个成员函数至少被调用一 次 次 注意注意 将源程序以文件名将源程序以文件名 MYF2 cpp 存入存入 Z 盘自己的目录中 盘自己的目录中 C 程序设计 上 上机考试试卷 2 学号学号 姓名姓名 成绩成绩 考试时间 考试时间 60 分钟 卷面分数分钟 卷面分数 30 分 分 说明说明 首先在 首先在 Z Z 盘建立一个以自己的学号命名的文件夹 用于保存上交的考试文件 对以下问题编制程序 调试运行 输出结果 盘建立一个以自己的学号命名的文件夹 用于保存上交的考试文件 对以下问题编制程序 调试运行 输出结果 一 结构化程序一 结构化程序 15 分 分 题目题目 判断降序数判断降序数 降序数是指该数的低位数字不大于高位数字 如降序数是指该数的低位数字不大于高位数字 如 7474 853 666853 666 都是降序数 只有一位的数也是降序数都是降序数 只有一位的数也是降序数 要求要求 1 主函数负责输入输出 从键盘输入主函数负责输入输出 从键盘输入 5 个各不相同且不大于三位的正整数个各不相同且不大于三位的正整数 调用函数调用函数 isdown 判断这些数是否是降序数 输出判断判断这些数是否是降序数 输出判断 结果信息 结果信息 2 定义一个函数定义一个函数 int isdown int x 判断 判断 x 是否是降序数 若是则返回是否是降序数 若是则返回 1 否则返回 否则返回 0 注意注意 将源程序以文件名将源程序以文件名 MYF1 cpp 存入存入 Z 盘自己的目录中 盘自己的目录中 二 面向对象程序二 面向对象程序 15 分 分 题目题目 职工信息管理职工信息管理 要求要求 试建立一个类试建立一个类 worker 用于描述职工对象 具体要求如下 用于描述职工对象 具体要求如下 1 私有数据成员 私有数据成员 int id 职工号 职工号 char name 9 姓名姓名 float wage 工资 工资 最低值为 最低值为 200 char level 技术等级 技术等级 A 一等 一等 B 二等 二等 C 三等 其它为无级 三等 其它为无级 2 公有成员函数 公有成员函数 worker 构造函数 初始化数据成员为默认值 数值型成员均为 构造函数 初始化数据成员为默认值 数值型成员均为 0 字符型成员为空值 字符型成员为空值 worker 构造函数 构造函数 自己定义参数自己定义参数 用参数初始化数据成员 用参数初始化数据成员 void List 输出职工的各项信息 输出职工的各项信息 void set 从键盘输入新的数据 修改数据成员的值 接受输入前屏幕上显示提示输入哪些信息 从键盘输入新的数据 修改数据成员的值 接受输入前屏幕上显示提示输入哪些信息 void addwage 为职工增加工资并提升技术等级 从无级提至为职工增加工资并提升技术等级 从无级提至 C 级需增加级需增加 30

温馨提示

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

评论

0/150

提交评论