OOPCPP

Learn C++ Programming Language

This project is maintained by cugwhp

实习<二> 函数的使用

实习目标

本节用于巩固函数的声明和定义,掌握函数调用过程中的机理。形参和实参是关于函数参数的一对重要概念,实参和形参的匹配涉及函数的多个知识点。本节重点掌握如下目标:

  1. 掌握函数的三个重要组成部分:函数名、参数列表和返回值;
  2. 参数传递的类型:传值参数、传引用参数、数组参数和可变参数
  3. 返回值:无返回值、有返回值和返回数组指针
  4. 函数名:同名函数重载及重载函数的匹配

实习内容

1. 实参和形参的区别是什么?

函数名、返回值和参数三者构成了函数,其中参数分为实参和实参。

2. 编写自己的fact函数,实现n!,要求使用循环和递归调用两种方式。

熟悉函数的语法规则和定义函数的方法

3.在fact函数的基础上,编写一个与用户交互的函数,要求用户输入一个数字n,计算n!。在main函数中调用fact函数。

理解函数的调用过程,尤其是注意区别形参和实参

4. 说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。

当函数第一次调用时返回0,以后每次调用返回值+1

5. 多文件结构,编写一个名为Ch3.h的头文件,将函数章的习题的函数声明写入其中。

.h头文件用于函数声明,理解多文件结构的编译。

6. 编写Swap函数,分别使用指针和引用交换两个整数的值。在main函数中调用这2个函数,输出交换后的结果。

引用和指针均可以改变实参的值,体会二者的区别

7.下面的函数虽然合法,但不是特别优雅。指出它的局限性并设法改善。

bool is_empty(string& s) {return s.empty();}

此题考查const T& 和 T&这两种参数类型的区别。一般情况下,与普通引用相比,选择常量引用作为参数类型更为合理。

8.一个函数只能返回一个函数值,思考如果函数要返回多个值,如何处理?

理解引用形参的作用,形参分为:值传递参数,引用传递参数和常量引用传递参数,理解这三者的区别。

Projects

1. 设计输出日历的函数,实现日历输出。

输入年、月,输出如下所示的日历。在设计程序时,分析输出日历涉及几个函数,在Calendar.h声明函数,在Calendar.cpp中实现函数,在main.cpp中调用日历输出函数。

/*        2017-11 Calendar
|-----------------------------|
| Sun Mon Tue Wed Thu Fri Sat |
|             01  02  03  04  |
| 05  06  07  08  09  10  11  |
| 12  13  14  15  16  17  18  |
| 19  20  21  22  23  24  25  |
| 26  27  26  27  28  29  30  |
|-----------------------------| */

实习要求


返回主目录