1、三元运算符的概念与使用
三元运算符,也被称为条件运算符,它的形式为:
运算符的工作方式如下:
expression1
首先被求值。- 如果
expression1
的值为真(非零),则整个三元运算符的值为expression2
的值。 - 如果
expression1
的值为假(零),则整个三元运算符的值为expression3
的值。
示例:
在这个例子中,如果 a
大于 b
,则 max
被赋值为 a
,否则 max
被赋值为 b
。程序输出会是“较大的数是:10”。
用函数的方式做一个两数字比较大小的代码,运用了三目运算符代码如下:
2、函数嵌套的简单使用
四个数中选出最大数:
3、递归函数
递归函数通常包括两个主要部分:
-
基本情况(Base Case):这是递归的终止条件,即当满足某个特定条件时,函数不再调用自身,而是直接返回结果。基本情况是防止无限递归的关键。
-
递归步骤(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
四个数中选出最大数(使用递归)
-
首次调用
big2(a, b)
:- 函数会检查
a
和b
的值。 - 如果
a > b
,则函数返回a
。 - 如果
a <= b
,则函数返回b
。
假设这个调用的结果是
maxAB
,它表示a
和b
中的较大值。 - 函数会检查
-
第二次调用
big2(c, d)
:- 类似地,函数会检查
c
和d
的值。 - 如果
c > d
,则函数返回c
。 - 如果
c <= d
,则函数返回d
。
假设这个调用的结果是
maxCD
,它表示c
和d
中的较大值。 - 类似地,函数会检查
-
最终调用
big2(maxAB, maxCD)
:- 现在,我们有
maxAB
和maxCD
两个值,这两个值分别是a
和b
,以及c
和d
中的较大者。 - 函数
big2
会比较这两个值,并返回其中的较大者。
假设这个调用的结果是
maxABCD
,它表示a
、b
、c
和d
中的最大值。 - 现在,我们有
所以,整个表达式 big2(big2(a, b), big2(c, d));
的作用是先找出 a
和 b
中的最大值,然后找出 c
和 d
中的最大值,最后比较这两个“局部”的最大值,得到 a
、b
、c
和 d
中的全局最大值。
big2
函数:接受两个整数参数a
和b
,并使用条件运算符返回两者中较大的数。
z
函数:接受四个整数参数a
、b
、c
和d
,并使用big2
函数递归地找到两个数对(a
和b
,c
和d
)中的较大值,然后再次使用big2
函数找到这两个较大值中的最大值。