1、实 验 五 任务 1:程序调试。函数调用、函数定义及函数说明的情况。 ( 1)下列程序有错误吗?请思考函数定义在后,且调用前没有函数说明的情况。 答:有错误。“ f”找不到标识符。 修改后程序如下: ( 2) 下列程序有问题吗?请思考函数定义在后,且调用前对函数进行说明的情况。注意函数说明的形式。 答: 会显示未定义 y。 修改后程序如下: ( 3) 下列程序有问题吗?请思考函数定义在后,且调用前对函数进行说明的情况。 答:没有问题。 ( 4) 下列程序有问题吗?请思考:函数定义在调用前,是否一定需要函数说明? 答:程序没有问题。不一定需要函数说明。 ( 5) 下列程序调用系统函数进行计算。当
2、程序运行时,如输入 a0,则计算 a的 b 次方;如果输入 a0,则计算( -a)的 b 次方。程序有多处错误,请改正。 修改后代码如下: 任务 2:程序调试与程序设计。字符串系统是 strlen、 strcat、strcpy、 strcmp 在程序设计中的应用。 仿照下列程序,调用有关字符串的系统函数对字符串进行长度测试、连接、复制、比较。 ( 1) 调试程序。 程序如下: 运行结果如下: ( 2) 重新定义 str,其功能是字符串长度。 程序如下: 运行结果如下: ( 3) 程序功能是比较字符串的大小,请定义 str。 程序如下: 运行结果如下: ( 4) 程序的功能是连接两个字符串。 程序如下: 运行结果如下: 任务 3:程序设计。默认参数的构造函数的设计。 程序如下: 任务 4:程序设计。重载函数的设计。 设计一个函数。调用 add,可以完成整型、双精度及混合数的加法。如果是字符串,则表示字符串的连接。 设计代码如下: 任务 5:程序设计。重载构造函数的设计。 设计代码及运行结果如下: ( 2) 仿照程序,把整型改成字符串并达到相同效果。 设计代码及运行结果如下: 任务 6:程序设计。成员函数中不同方式的字符串连接。 程序如下: 任务 7:程序调试与设计。递归函数的应用。 ( 1) 调试程序。 程序如下: ( 2) 重新设计,功能是将十进制转化成八进制。 设计代码如下: