p50 : 函数的定义
作用:优化程序 将多次重复的步骤简化成一个步骤
定义的五个步骤:
1.返回值类型 :与需要什么类型的返回值有关,不需要返回值可以是void 函数名()
2.函数名 :不是特殊名词就可以随便定义
3.参数列表:是形式上的参数(形参),必须要标明定义类型(int num1)
4.函数体语句 :函数里要执行的语句
5.返回值 :当没有返回值的时候写 return; 或直接不写
语法:
返回值类型 函数名 (参数列表:形参) { 函数体 return 返回值表达式; }
p51: 函数的调用
功能:使用定义好的参数
语法: 函数名 (实参:要传到形参的数据)
//函数部分: int add (int a,int b) { int sum = a+b; } //主函数中调用 int main() { add(a,b) //开始调用 }
列:定义一个求和函数结构:
#include<iostream> using namespace std; int add(int a, int b) //函数定义在这里(有返回值类型) { int sum = a + b; return sum; // 因为函数有返回值类型,所以必须有返回值 } int main() { int a = 10; int b = 20; add(a, b); int c = add(a, b); //这里开始调用函数哦~~ cout << "c = " << c << endl; system("pause"); return 0; }
在传递过程中: 形参和实参的命名不一定要相同,但是函数名要相同。
p52: 函数值的传递
两个重点:
① 当函数不需要返回值的时候,可以用void表示空函数
②当进行值传递时,函数的形参发生改变,并不会影响实参的值
典型例子解释:
实现一个元素互换后输出互换后的值:
#include<iostream> using namespace std; void add (int a, int b) { cout << "互换前a = " << a << endl; cout << "互换前b = " << b << endl; int temp = a; a = b; b = temp; cout << "互换后a = " << a << endl; cout << "互换后b = " << b << endl; } int main() { int a = 10; int b = 20; cout << "调用函数前a = " << a << endl; cout << "调用函数前b = " << b << endl; add(a, b); cout << "调用函数后a = " << a << endl; cout << "调用函数后a = " << b << endl; system("pause"); return 0; } /* 调用函数前a = 10 调用函数前b = 20 互换前a = 10 互换前b = 20 互换后a = 20 互换后b = 10 调用函数后a = 10 调用函数后a = 20 请按任意键继续. . . */