把逻辑装进函数

定义一次、到处调用——函数是把“一段逻辑”打包成可复用的工具。

GESPCSP-J

◎学完你会

1调一调:同一个函数,不同参数

int add(int a, int b){ return a + b; } cout << add(a, b); // 调用:把 a、b 交给 add,得到返回值
改参数,看 add 每次都算同样的"加法",只是输入不同。

2关键命令

部分含义例子
返回类型函数返回什么类型;没有则 voidint / void
函数名 + 参数怎么调用、需要喂什么add(int a,int b)
return 值;把结果交回给调用处return a+b;
调用 add(3,4)执行并拿返回值返回 7
为什么抽函数:①一段逻辑用三次 → 定义一次;②改 bug 只改一处;③把大任务拆成小步骤,每步一个函数,代码像目录一样好读。

⚠易错点

声明与定义不一致:上面说 int add(int,int),下面写成 int add(int a),编译器会报"函数冲突"。参数个数、类型、返回类型都要一模一样。
漏 return:返回类型是 int 却忘了 return,函数会返回"垃圾值",结果随机。要么保证每条路径都 return,要么改 void。

?跨学科:函数就是"把一道工序封装成一台机器"

函数像流水线上的一台机器:你只管把原料(参数)投进去,机器按固定工序加工,出来半成品(返回值)。 机器内部怎么转不用每次重新造——这就是"复用",也是工厂和数学公式(如勾股定理 sqrt)的共同点。

写大程序 = 先拆成几个函数(切菜/炒菜/装盘),每块能单独测试、单独改。这和写长篇文章先列章节、 盖楼先打地基再一层层砌是同一个思想:分而治之,每部分小而可控。

✎练一练

int f(int a,int b){ return a-b; },f(8,3) 返回?
a-b = 8-3 = 5,return 把 5 交回给 f(8,3)。
补全:int max(int a,int b){ __________ },让它返回两数中较大者。
答案:return a>b ? a : b;(用三目,或 if(a>b) return a; else return b;)。