连续性与连续函数的基本性质
连续性把“输入的微小变化”翻译成“输出的微小变化”。实分析里的连续不是靠图像看起来不断,而是靠一个可检验的条件:只要先指定函数值允许偏离的范围,就能反过来找到自变量允许偏离的范围。
本章的目标有三件事。第一,会用 ε-δ 定义证明函数在一点连续。第二,会用序列判别法证明连续或构造不连续的反例。第三,会把间断点按极限行为分类,并能识别几类典型反例。

连续性是一个局部概念。说函数在 c 连续,只看 x 接近 c 时的行为;远处图像再复杂,也不影响这个判断。
点连续与区间连续
设 f 是定义在集合 E⊂R 上的实值函数,且 c∈E。我们说 f 在点 c 连续,是指对任意 ε>0,存在 δ>0,使得只要 x∈E 且 ∣x−c∣<δ,就有
∣f(x)−f(c)∣<ε
这句话的顺序不能换。证明时,ε 是别人先给的容许误差;δ 是我们根据这个误差和点 c 的位置挑出来的控制半径。
如果 f 在集合 E 的每一点都连续,就说 f 在 E 上连续。若 E 是区间,例如 [a,b]、 或 ,就常说 在这个区间上连续。
端点处的连续要按定义域理解。比如函数定义在 [a,b] 上时,在 a 处只需要考察 x∈[a,b] 且 x→a 的情形,也就是右侧靠近;在 b 处只需要左侧靠近。用极限语言说,就是端点处采用相对定义域的极限。
“在区间上连续”不是说图像可以用笔一笔画出。实分析里先看定义域,再看每一点的 ε-δ 条件。定义域中没有的点,不参与连续性判断。
用定义证明连续
证明点连续最常见的结构是:从 ∣f(x)−f(c)∣ 出发,把它估计成含有 ∣x−c∣ 的表达式,再选择 δ 让这个表达式小于 ε。
线性函数
证明 f(x)=3x−2 在任意 c∈R 连续。
先写出要控制的量:
∣f(x)−f(c)∣=∣(3x−2)。
二次函数
证明 f(x)=x2 在任意 c∈R 连续。
关键估计是
∣x2−c2∣=∣x−c∣∣x+c∣
右边除了 ∣x−c∣,还多了 ∣x+c∣。做法是先用一个粗略条件把 x 限制在 c 附近。例如要求 ∣x−,则 ,所以
∣x+c∣≤∣x∣+∣c∣<2∣c∣+1
于是只要同时满足
∣x−c∣<1
和
∣x−c∣<2∣c∣+1ε
就有 ∣x2−c2∣<ε。因此取
δ=min{1,2∣c∣+1ε}
即可。
遇到乘积估计时,常先用一个固定的小半径控制“旁边那一因子”,再用 ε 控制真正趋于 0 的因子。这个技巧会反复出现。
下面的交互件可以帮助你观察 ε 带与 δ 邻域之间的关系。
极限语言中的连续
如果 c 是定义域 E 的聚点,且 c∈E,那么 f 在 c 连续等价于
x→c,x∈Elimf(x)=f(c)
这个等价式把连续性拆成两件事:函数值 f(c) 必须存在;当 x 在定义域内趋近 c 时,f(x) 的极限必须存在,并且等于这个函数值。
这种表达方式很适合判断间断。若极限不存在、极限存在但不等于函数值,或者函数在该点没有定义,都不能说它在该点连续。
例子:可补的缺口
设
f(x)={x−1x
当 x=1 时,f(x)=x+1,所以
x→1limf(x)=2
但 f(1)=0。极限存在,函数值也存在,只是二者不相等,所以 f 在 1 处不连续。若把 f(1) 改成 2,这个点的间断就被补掉。
序列判别法
连续性的序列判别法说:设 f:E→R,c∈E。函数 f 在 c 连续,当且仅当对每一个满足 x 且 的数列,都有
f(xn)→f(c)

这个判别法把“所有足够近的点”换成“任意靠近的路径”。证明连续时,它给出一种可读性很强的思路;证明不连续时,它更常用,因为只要找到一个反例数列即可。
为什么它成立
若 f 在 c 连续,取任意 xn→c。给定 ε>0,连续性给出 。因为 ,存在 ,使得 时 。于是 ,所以 。
反过来,若 f 在 c 不连续,则存在某个 ε0>0,使得无论 δ>0 多小,总能找到 满足 ,但
∣f(x)−f(c)∣≥ε0
令 δ=1/n,可以选出 xn∈E,使得 ∣xn 且 。这样 ,但 不趋于 ,与序列条件矛盾。
用序列证伪连续
设
f(x)=⎩⎨
判断 f 在 0 是否连续。取 xn=1/n,则 xn,但 。因此 在 不连续。
也可以取 yn=−1/n,则 f(yn)=−1。左右两条路径给出不同的函数值极限,说明这里不是函数值设置错了那么简单,而是左右极限本身不一致。
连续函数的四则运算
设 f,g:E→R 都在 c∈E 连续。则下面的函数也在 c 连续:
f+g,f−g,fg
如果还满足 g(c)=0,那么 gf 也在 c 连续。

证明可以直接使用极限运算法则。由于 f 和 g 在 c 连续,
x→climf(x)=f(c),x→clim
所以
x→clim(f(x)+g(x))=f(c)+g(c)
乘积、差和商同理。商的结论必须要求 g(c)=0,因为连续性会保证 x 充分靠近 c 时 g(x) 也不等于 0,商才在附近有意义。
常见结论
多项式函数在 R 上连续。原因是常数函数与恒等函数 x 连续,而多项式由有限次加法和乘法构成。
有理函数在分母不为 0 的每一点连续。若
R(x)=q(x)p(x)
其中 p,q 是多项式,则 R 在每个满足 q(c)=0 的点 c 连续。
四则运算的结论是局部的。gf 在 c 连续,需要的是 g(c)=,不是“ 永远不为 0”。但如果要说它在整个集合上连续,就要检查集合中每一点的分母。
复合函数连续
设 g:E→F 在 c∈E 连续,f:F→R 在 连续,则复合函数 在 连续。

用序列判别法证明很短。若 xn→c,由于 g 在 c 连续,有
g(xn)→g(c)
再由于 f 在 g(c) 连续,有
f(g(xn))→f(g(c))
于是 f∘g 在 c 连续。
用 ε-δ 语言证明时,顺序是“外层先提出要求,内层负责满足要求”。给定 ε>0,由 f 在 g(c) 连续,存在 η>,使得
∣u−g(c)∣<η⟹∣f(u)−f(g(c))∣<ε
再由 g 在 c 连续,存在 δ>0,使得
∣x−c∣<δ⟹∣g(x)−g(c)∣<η
合起来就得到
∣x−c∣<δ⟹∣f(g(x))−f(g(c))∣<ε
间断点的类型
在点 c 处不连续时,先问左右极限和双侧极限发生了什么。这个顺序能把大多数例子分清。

可去间断
如果
x→climf(x)
存在且有限,但 f(c) 没有定义,或 f(c) 与这个极限不相等,就叫可去间断。它的“坏”只发生在函数值本身;改一个点的值就能让函数连续。
跳跃间断
如果左右极限都存在且有限,但不相等,即
x→c−limf(x)=x
就叫跳跃间断。阶跃函数、符号函数都属于这类典型例子。
无穷间断
如果 x→c 时函数值无界,例如 f(x)=1/x 在 0 附近的行为,就属于无穷间断。此时有限极限不存在,也不可能通过修改一个点的值补好。
振荡间断
如果函数在 c 附近持续振荡,无法收敛到某个有限值,例如
f(x)=sinx1
在 0 附近的行为,就属于振荡间断。可以用两条数列证伪极限存在:取使正弦值为 1 的点列和使正弦值为 −1 的点列,它们都趋于 0,但函数值趋向不同结果。
典型反例
连续函数的性质很整齐,但反例提醒我们:这些性质的假设不能省略。下面几类函数在实分析里很常见。
Dirichlet 函数处处不连续
定义
D(x)={1,0,x∈Q,x
在任意点 c,都可以找到有理数列 rn→c 和无理数列 sn→c。于是
D(rn)=1,D(sn)=0
如果 D 在 c 连续,则对任意趋于 c 的数列,函数值都应趋于同一个 D(c)。但这里两条数列给出不同的函数值极限,所以 D 在每一点都不连续。
仅在一点连续
定义
F(x)=xD(x)
其中 D 是上面的 Dirichlet 函数。因为 D(x) 只取 0 和 1,所以
∣F(x)−F(0)∣=∣xD(x)∣≤∣x∣
当 x→0 时,右边趋于 0,由夹逼思想可知 F(x)→0=F(0),因此 F 在 连续。
若 c=0,取有理数列 rn→c 与无理数列 sn,则
F(rn)=rn→c,F(s
由于 c=0,两条路径的函数值极限不同,所以 F 在 c 不连续。

稠密性会制造强反例。有理数和无理数在每个区间里都存在,所以只要函数对这两类点给出互不相容的行为,连续性通常会被序列判别法立刻击破。
方法小结
判断连续性时,可以按下面的顺序走。
- 先确认点 c 在定义域中。函数没有在 c 定义时,不能说它在 c 连续。
- 若题目要求用定义证明,直接估计 ∣f(x)−f(c)∣,并把它压到 ε 以下。
- 若函数由已知连续函数通过四则运算或复合得到,优先使用连续函数的闭合性质。
- 若要证明不连续,优先尝试找一条或两条趋于 的数列,使函数值不趋于 ,或给出两个不同的极限。
练习
判断函数
f(x)={xsinx1
在 0 处是否连续。
因为 ∣sin(1/x)∣≤1,所以当 x=0 时,
∣
判断函数
g(x)={sinx1,
在 0 处是否连续,并说明间断类型。
取
xn=2π+2πn1