三元运算符、函数嵌套、递归函数

1、三元运算符的概念与使用

三元运算符,也被称为条件运算符,它的形式为:

 

运算符的工作方式如下:

  • expression1 首先被求值。
  • 如果 expression1 的值为真(非零),则整个三元运算符的值为 expression2 的值。
  • 如果 expression1 的值为假(零),则整个三元运算符的值为 expression3 的值。

示例:

在这个例子中,如果 a 大于 b,则 max 被赋值为 a,否则 max 被赋值为 b。程序输出会是“较大的数是:10”。

用函数的方式做一个两数字比较大小的代码,运用了三目运算符代码如下:

2、函数嵌套的简单使用

四个数中选出最大数:

3、递归函数

递归函数通常包括两个主要部分:

  1. 基本情况(Base Case):这是递归的终止条件,即当满足某个特定条件时,函数不再调用自身,而是直接返回结果。基本情况是防止无限递归的关键。

  2. 递归步骤(Recursive Step):这是函数调用自身的部分,通常是为了缩小问题的规模或改变问题的状态,使其逐步接近基本情况。

递归的概念要点:

  • 自引用:函数直接或间接地调用自身。
  • 缩小问题规模:每次递归调用都应将问题分解为更小、更易于管理的部分。
  • 终止条件:递归函数在调用自身时,也要设置边界条件。到了某个条件之后就不再调用递归函数了,以防止无限递归。

例:有5个学生坐在一起,问第五个学生多少岁,他说比第4个学生大2岁,问第4个学生多少岁,他说比第3个学生大2岁,........最后问第一个学生,他说是10岁,请问第5个学生多大。

解题思路:

age(5) = age(4)+2

age(4) = age(3)+2

age(3) = age(2)+2

age(2) = age(1)+2

age(1) = 10

四个数中选出最大数(使用递归)

  1. 首次调用 big2(a, b):

    • 函数会检查 a 和 b 的值。
    • 如果 a > b,则函数返回 a
    • 如果 a <= b,则函数返回 b

    假设这个调用的结果是 maxAB,它表示 a 和 b 中的较大值。

  2. 第二次调用 big2(c, d):

    • 类似地,函数会检查 c 和 d 的值。
    • 如果 c > d,则函数返回 c
    • 如果 c <= d,则函数返回 d

    假设这个调用的结果是 maxCD,它表示 c 和 d 中的较大值。

  3. 最终调用 big2(maxAB, maxCD):

    • 现在,我们有 maxAB 和 maxCD 两个值,这两个值分别是 a 和 b,以及 c 和 d 中的较大者。
    • 函数 big2 会比较这两个值,并返回其中的较大者。

    假设这个调用的结果是 maxABCD,它表示 abc 和 d 中的最大值。

所以,整个表达式 big2(big2(a, b), big2(c, d)); 的作用是先找出 a 和 b 中的最大值,然后找出 c 和 d 中的最大值,最后比较这两个“局部”的最大值,得到 abc 和 d 中的全局最大值。

big2函数:接受两个整数参数ab,并使用条件运算符返回两者中较大的数。

 z函数:接受四个整数参数abcd,并使用big2函数递归地找到两个数对(abcd)中的较大值,然后再次使用big2函数找到这两个较大值中的最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值