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