C++语言程序设计 清华大学郑莉 本章主要内率 函数的声明和调用 函数间的参数传递 内联函数 ●带默认形参值的函数 函数重载 C++系统函数
C++语言程序设计 清华大学 郑莉 2 本章主要内容 ⚫ 函数的声明和调用 ⚫ 函数间的参数传递 ⚫ 内联函数 ⚫ 带默认形参值的函数 ⚫ 函数重载 ⚫ C++系统函数
C++语言程序设计 清华大学郑莉 函数的声明 函数 的。函数是面向对象程序设计中,对功能的 声抽象 明·函数声明的语法形式 与「类型标识符函数名(形式参数表) 使 若无参数,写void 用语句序列 是被初始化的内部 变量,寿命和可见 性仅限于函数内部 若无返回值,写void 3
C++语言程序设计 清华大学 郑莉 3 函数的声明 ⚫ 函数是面向对象程序设计中,对功能的 抽象 ⚫ 函数声明的语法形式 类型标识符 函数名(形式参数表) { 语句序列 } 函 数 的 声 明 与 使 用 若无参数,写void 是被初始化的内部 变量,寿命和可见 性仅限于函数内部 若无返回值,写void
C++语言程序设计 清华大学郑莉 函数的声明 函 数 的 形式参数表 声 name,, name2, 明 namen 与。函数的返回值 使 由 return语句给出,例如: 用 return 0 无返回值的函数(void类型),不必写 return语句
C++语言程序设计 清华大学 郑莉 4 函数的声明 ⚫ 形式参数表 name1 , name2 , ..., namen ⚫ 函数的返回值 – 由 return 语句给出,例如: return 0 – 无返回值的函数(void类型),不必写 return语句。 函 数 的 声 明 与 使 用
C++语言程序设计 清华大学郑莉 函数的调用 函数的声明与 调用前先声明函数原型 在调用函数中,或程序文件中所有函数之 外,按如下形式说明 类型标识符被调用函数名(含类型说明的形参表) 调用形式 使 函数名(实参列表) 用°嵌套调用 函数可以嵌套调用,但不允许嵌套定义 递归调用 函数直接或间接调用自身
C++语言程序设计 清华大学 郑莉 5 函数的调用 ⚫ 调用前先声明函数原型: – 在调用函数中,或程序文件中所有函数之 外,按如下形式说明: 类型标识符 被调用函数名 (含类型说明的形参表); ⚫ 调用形式 函数名(实参列表) ⚫ 嵌套调用 – 函数可以嵌套调用,但不允许嵌套定义。 ⚫ 递归调用 – 函数直接或间接调用自身。 函 数 的 声 明 与 使 用
C++语言程序设计 清华大学郑莉 例3-1编写一个求X的次方的函数 函 数 include 的 sIng namespace.std double power (double x, int n)i 声明与 void main(void) cout < "5 to the power 2 is I <<P。wer(5,2)<<end1; 1 double power (double x, int n) 用 double val 1.0 while (n val val*x return(val)
C++语言程序设计 清华大学 郑莉 6 例3-1编写一个求x的n次方的函数 #include using namespace std; double power (double x, int n); void main(void) { cout << "5 to the power 2 is " << power(5,2) << endl; } double power (double x, int n) { double val = 1.0; while (n--) val = val*x; return(val); } 函 数 的 声 明 与 使 用
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(2)+1(221+0(21)+1(2 =13. 10 所以,如果输入110,则应输出13大
C++语言程序设计 清华大学 郑莉 8 例3-2 数制转换 题目: 输入一个8位二进制数,将其转换 为十进制数输出。 例如:11012 = 1(23 ) + 1(22 ) + 0(21 ) + 1(20 ) = 1310 所以,如果输入1101,则应输出13 函 数 的 声 明 与 使 用
include using namespace std; double power (double x, int n)i void main(void) in七i int value =0 char ch cout =0; cin >> ch if (ch 11) value + int(power (2, i))i cout << Decimal value is <<value<<endl double power (double x, int n) double val 1.0; 运行结果: Enter an 8 bit binary number while (n--) va1*=x;01101001 return(val) Decimal value is 105
#include using namespace std; double power (double x, int n); void main(void) { int i; int value = 0; char ch; cout = 0; i--) { cin >> ch; if (ch == '1') value += int(power(2,i)); } cout <<"Decimal value is "<<value<<endl; } 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编写程序求丌的值 数 的 丌=16 arctan 4 arctan 声 239 明其中 arctan用如下形式的级数计算 与 使 arctan(x)=x 3×b 用 直到级数某项绝对值不大于1015为止; T和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