C++语言程序设计 第三章丞数 中国科大黄章进
第三章 函数 中国科大 黄章进 C++语言程序设计
C++语言程序设计 本章主要内容 ·函数的定义和调用 ·函数间的参数传递 ●内联函数 ·带默认形参值的函数 ·函数重载 C++系统函数 ·深度探索
C++语言程序设计 2 本章主要内容 函数的定义和调用 函数间的参数传递 内联函数 带默认形参值的函数 函数重载 C++系统函数 深度探索
C++语言程序设计 国数的定义 成 数 的 ● 函数是面向对象程序设计中,对功能的 声 抽象 明·函数定义的语法形式 与 类型标识符函数名(形式参数表) 使 用 语句序列 是被初始化的内部 变量,寿命和可见 性仅限于函数内部 若无返回值,写void
C++语言程序设计 3 函数的定义 函数是面向对象程序设计中,对功能的 抽象 函数定义的语法形式 类型标识符 函数名(形式参数表) { 语句序列 } 函数的声明与使用 是被初始化的内部 变量,寿命和可见 性仅限于函数内部 若无返回值,写void
C++语言程序设计 数的定义 函 数 的 形式参数表 声 name, name2, 明 〈typen>namen 与 ● 函数的返回值 使 由return语句给出,例如: 用 return 0 无返回值的函数(void类型),不必写 return语句
C++语言程序设计 4 函数的定义 形式参数表 name1, name2, ..., namen 函数的返回值 –由 return 语句给出,例如: return 0 –无返回值的函数(void类型),不必写 return语句。 函数的声明与使用
C++语言程序设计 函数的调用 函 数 ● 调用前先声明函数: 的 若函数定义在调用点之前,则无需另外声 声 明 若函数定义在调用点之后,则需要在调用 函数前按如下形式声明函数原型: 与 类型标识符被调用函数名(含类型说明的形参表); 使 调用形式 用 函数名(实参列表) ● 嵌套调用 ● 函数可以嵌套调用,但不允许嵌套定狄米 递归调用 函数直接或间接调用自身
C++语言程序设计 5 函数的调用 调用前先声明函数: –若函数定义在调用点之前,则无需另外声 明; –若函数定义在调用点之后,则需要在调用 函数前按如下形式声明函数原型: 类型标识符 被调用函数名(含类型说明的形参表); 调用形式 函数名(实参列表) 嵌套调用 –函数可以嵌套调用,但不允许嵌套定义。 递归调用 –函数直接或间接调用自身。 函数的声明与使用
C++语言程序设计 例3-1编写个求X的次方的函数 函 数 #include 的 using namespace std; 声 计算x的n次方 double power(double x,int n){ 明 double val =1.0; while (n-- val *=x; 与 return val 使 用 int main() cout < "5 to the power 2 is <power (5,2)<<endl; return 0;
C++语言程序设计 6 例3-1编写一个求x的n次方的函数 #include using namespace std; //计算x的n次方 double power(double x, int n) { double val = 1.0; while (n--) val *= x; return val; } int main() { cout << "5 to the power 2 is " << power(5, 2) << endl; return 0; } 函数的声明与使用
C++语言程序设计 例3-1编写一个求X的n次方的函数 函 数 的 声 运行结果: 与 5 to the power 2 is 25 使
C++语言程序设计 7 运行结果: 5 to the power 2 is 25 函数的声明与使用 例3-1编写一个求x的n次方的函数
C++语言程序设计 函 例3-2数制转换 数 的 题目: 声 明 输入一个8位二进制数,将其转换 与 为十进制数输出。 使 例如: 用 1101,=1(23)+1(22)+0(2)+1(2)=1310 所以,如果输入1101,则应输出米
C++语言程序设计 8 例3-2 数制转换 题目: 输入一个8位二进制数,将其转换 为十进制数输出。 例如: 11012=1(23)+1(22)+0(21)+1(20)=1310 所以,如果输入1101,则应输出13 函数的声明与使用
#include using namespace std; 计算x的n次方 double power (double x,int n); int main(){ int value =0; fo (int nte;an inry number cout〈ch; if"(ch 1) value +static cast(power(2,i)); cout "Decimal value is "<value <endl; return 0; double power (double x,int n){ double val 1.0; while (n--) 运行结果: val*=x; return val; 6册t8io8册8 bit binarynbe Decimal value is 105
#include using namespace std; //计算x的n次方 double power (double x, int n); int main() { int value = 0; cout = 0; i--) { char ch; cin >> ch; if (ch == '1') value += static_cast(power(2, i)); } cout << "Decimal value is " << value << endl; return 0; } double power (double x, int n) { double val = 1.0; while (n--) val *= x; return val; } 运行结果: Enter an 8 bit binary number 01101001 Decimal value is 105 9
C++语言程序设计 函 例33编写程序求T的值 数 的 π=l6 arctan 4 arctan 声 5 239 明 其中arctan用如下形式的级数计算: 与 使 X .x5x7 arctanx=x- 用 357 十·· 直到级数某项绝对值不大于10-15为止; π和x均为double型
C++语言程序设计 10 例3-3编写程序求π的值 其中arctan用如下形式的级数计算: 直到级数某项绝对值不大于10-15为止; π和x均为double型。 函数的声明与使用 − = 239 1 4arctan 5 1 π 16arctan 357 arctan 357 xxx x x =− + − +