$当 {🍪}\to 0$
$\sin{🍪} \sim 🍪$ $\tan🍪\sim🍪$
$\ln({1+🍪}) \sim 🍪$ $e^🍪-1\sim🍪$
$\arcsin🍪 \sim 🍪$ $\arctan🍪\sim🍪$
$\log_a(1+🍪)\sim \frac{🍪}{\ln a}$ $a^🍪-1\sim🍪\ln a$
$1-\cos🍪\sim\frac{1}{2}🍪^2$ $ln{(🍪+\sqrt{1+🍪^2})}\sim🍪$
$🍪-\sin🍪\sim\frac{1}{6}🍪^3$ $\tan🍪=🍪\sim\frac{1}{3}🍪^3$
${(1+🍪)}^\alpha-1\sim\alpha🍪$ $\arcsin🍪-🍪\sim\frac{1}{6}🍪^3$
$🍪-\arctan🍪\sim\frac{1}{3}🍪^3$ $\tan🍪-\sin🍪\sim\frac{1}{2}🍪^3$
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -

无穷小量和无穷大量
洛必达法则
函数的基本概念和定积分的应用
定积分的概念及几何意义
定积分的基本性质
定积分的基本公式(牛顿-莱布尼茨公式)
定积分的应用
原函数与不定积分
不定积分换元法
分部积分法
无穷限反常积分

$$\lim f(x)=A,\lim g(x)=B$$

$$\lim{[f(x)\pm g(x)]}=\lim{f(x)}\pm\lim{g(x)}=A\pm B$$

$$\lim{[f(x)\times g(x)]}=\lim{f(x)}\times\lim{g(x)}=A\times B$$

保号性:
$$若 \lim_{x \to x0 }{f(x)=A},且A>0(或A<0)$$
保序性
$$设\lim
{x \to x0}{f(x)}=A$$
子列收敛性
$$若\lim
{x\to a}{f(x)}=A,\数列 f(xn) 是 f(x) 当 x\to a 时的一个子列,\则有 \lim{n\to \infty}{f(x_n)}=A$$

$$\lim{x\to 0}{\frac{\sin x}{x}}=1\ \lim{n\to\infty}{n\sin{\frac{1}{n}}}=1\ \lim_{n\to\infty}{\sqrt{n}nn\frac{1}{\sqrt{n}}}=1$$

$$\lim_{x\to 0}{x\sin{\frac{1}{x}}}$$
无穷小x有界=无穷小
无穷小x常数=无穷小

证明$\lim_{x\to 0}{\sin{\frac{1}{x}}}$不存在
令$xn=\frac{1}{n\pi}$
$\lim
{n\to 0}{xn}=0,x_n\neq 0$

$$\cancel{asdfsafasdfasdfasdfasdfasFasfasdfasdfasdfasfdf}$$

$$xn'={\frac{1}{\frac{4n+1}{2}\pi}},\lim{n\to\infty}x_n'=0,且x_n'\neq 0$$

$$\begin{bmatrix}2 & 3 & 3 \ 2 & 1 & 2 \ 1 & 5 & 4\end{bmatrix} = 2\times 3+3\times2+6\times5-3-20-18$$

$$若 AB=E, BA=E A,B 都是可逆矩阵,且互逆。$$

$$x\to\infty, \lim_{x\to\infty}{f(x)}=A$$

$$\forall\epsilon>0,\because x>0,使得x>X,恒有|f(x)-A|<\epsilon$$

$$x\to-\infty,\lim_{x\to\infty}{f(x)}=A$$

$$\forall\epsilon>0,\because x>0,使当 x< -X时,恒有 |f(x)-A|<\epsilon$$

$$证明\lim{x\to\infty}{\frac{\sin{x}}{x}}=0,
|\frac{\sin{x}}{x}-0|=|\frac{\sin{x}}{x}<\frac{1}{|x|}<\epsilon,即|x| >\frac{1}{\epsilon}
\forall\epsilon>0,取X=\frac{1}{\epsilon},则当|x| >X时恒有|\frac{\sin{x}}{x}-1|<\epsilon
故 \lim
{x\to\infty}{\frac{\sin{x}}{x}}=0$$

$$\left{ \begin{array}{rl}
2x_1-x_2 =& 5, \
3x_1+2x_2=& 11
\end{array} \right.$$

$$D=\begin{vmatrix}2 & -1 \ 3 & 2\end{vmatrix}=7,D_1=\begin{vmatrix}5 & -1 \ 11 & 2\end{vmatrix}=21,D_2=\begin{vmatrix}2 & 5 \ 3 & 11\end{vmatrix}=7,$$
由 $D=7\neq0$知方程有唯一解:
$$x_1=\frac{D_1}{D}=3,x_2=\frac{D_2}{D}=1.$$

$$A=\begin{bmatrix}
1 & 3 & -2 & 2 \
0 & 2 & -1 & 3 \
-2 & 0 & 1 & 5
\end{bmatrix}
\xlongequal{\begin{aligned}r_3-2r_1 \ r_3-3r_2\end{aligned}}
\begin{bmatrix}1 & 3 & -2 & 2 \0 & 2 & -1 & 3 \0 & 0 & 1 & 0\end {bmatrix}
$$

https://www.zhihu.com/question/302351453
对称矩阵的解法
$A$普通矩阵
$A^{-1}$逆矩阵
$B=\frac{1}{|A|}A^$
$(A^
)^{-1}=\frac{1}{|A|}A$
$AB=BA=E$
$A\frac{1}{|A|}A^=\frac{1}{|A|}A^A=E$
$$
\begin{vmatrix}
\frac{a}{ac-bc} & \frac{b}{ac-bc} \
\frac {c}{ac-bc} & \frac{d}{ac-bc}
\end{vmatrix}
$$
伴随矩阵
https://baike.baidu.com/item/%E4%BC%B4%E9%9A%8F%E7%9F%A9%E9%98%B5/10034983
https://www.zhihu.com/question/360606456

http://www2.edu-edu.com.cn/lesson_crs78/self/j_4184/soft/xxzd02.html
分析,对。。。
要使。。。
则需。。。
故。。。
矩阵乘法与逆矩阵
行列式的定义
克拉默法则
逆矩阵
方阵的逆矩阵
https://zhuanlan.zhihu.com/p/95725643
行列式的性质与计算
二阶和三阶行列式
特征值与特征向量
矩阵的秩
http://www2.edu-edu.com.cn/lesson_crs78/self/j_0022/soft/ch0605.html
矩阵相似对角化
分块矩阵
n维向量及线性运算
向量空间
矩阵的运算
如果n阶方阵$A,B$可逆
$A^{-1}=\frac{1}{|A|}A^*$
$(A^{-1})^{-1}=A$
$(\lambda A)^{-1}=\frac{1}{\lambda}A^{-1}$
$(A^T)^{-1}=(A^{-1})^T$
$(AB)^{-1}=B^{-1}A^{-1}$

https://zhuanlan.zhihu.com/p/340635814
https://zhuanlan.zhihu.com/p/186266784
$A^{-1}=B \Longleftrightarrow AB=E$
$(A^{-1})^{-1}=A\Longleftrightarrow A^{-1}A=E$
$(A^T)^{-1}=(A^{-1})^T\Longleftrightarrow A^T(A^{-1})^T=(A^{-1}A)^T=E=E^T$
$\frac{1}{\lambda}A^{-1}\times\lambda A=(\frac{1}{\lambda}\lambda)A^{-1}\times A = 1:E=E$

等价关系

  1. 反身性:$A\Longleftrightarrow A$
  2. 对称性:$若 A \Longleftrightarrow B,则 B\Longleftrightarrow A$
  3. 传递性:$若 A \Longleftrightarrow B,B \Longleftrightarrow C,则 A \Longleftrightarrow C$

初等变换
$P_j+r_i$
$r_i+r_j$

阶梯形矩阵
可以画出一条阶梯线,先的下方全是0
每个台阶只有一个

$$\begin{matrix}
1 & 0 & -1 & 0 & 4 \
0 & 1 & -1 & 0 & 3 \
0 & 0 & 0 & 1 & -3 \
0 & 0 & 0 & 0 & 0
\end{matrix}$$

设存在一个初等矩阵,$P_1,P_2,\dots,P_n$
使得$A=P_1P_2\dots P_n$
$\because$初等矩阵可逆$\therefore$$A$可逆
设 A 可逆,目标 A 的标准形为
$$F=\begin{bmatrix}E_r & 0 \ 0 & 0\end{bmatrix}$$
则 $F\backsim A_1$,即 $F$ 经过有限次初等变换,可变为 $A$,即存在有限次初等变换,使$P_1P_2\cdots PnFP{X+1}\cdots P_i=A$
$\because A_1,P_1,P_2\cdots P_i 均可逆$

$\therefore F$可逆
$\therefore r= n_1$
即 $E=F$,$\therefore A=P_1P_2\cdots P_rEP_r+\cdots P_i$

  1. $r(AB)\leq \min{{r(A),r(B)}}$
  2. $r\Biggl({\begin{pmatrix}A & 0 \ 0 & B\end{pmatrix}}\Biggl)\xlongequal{}r(A)+r(B)$
  3. $r(子矩阵)\leq r(包含子矩阵的分块矩阵)$比如$r\Bigl((AB)\Bigl)\leq r\Biggl({\begin{pmatrix}A & B \ 0 & C\end{pmatrix}}\Biggl)$再如$r(A)\leq r\Biggl({\begin{pmatrix}A & B \ C & D\end{pmatrix}}\Biggl)$

特征值

https://zhuanlan.zhihu.com/p/142597513

极大线性无关组

https://blog.csdn.net/kukumer/article/details/107126031
有关秩的几个重要式子
https://blog.csdn.net/guoziqing506/article/details/80557920
奇异矩阵
矩阵的分解
sdf
sdf
sd
sd
sd
a
sd
d
f

https://blog.csdn.net/qq_38943651/category_9417843.html
https://www.zhihu.com/column/c_1086313475025907712

微积分初步

函数、导数与微分

我们首先学习导数和微积分等概念和有关的基本运算方法

变量、常量和函数

会变化的量叫变量,不会变化的量叫做常量

pi<const> = 3.14159265357
x = 3

自变量和因变量
现有两个互相联系的两个变量$x$和$y$,如果当$x$在其变域$\mathscr{D}$内任意取一数值时,都有确定的值与之对应,则称$y$时$x$的函数,$x$叫做自变量,函数$y$又称作因变量,写作:
$$y=f(x)$$

变域$\mathscr{D}$为自变量的变化范围,称作函数$f(x)$的定义域,而所有的数值则构成$y$的值域$\mathscr{R}$例如,

若$y$为$z$的函数,$y=f(x)$;而$z$又是变量$x$的函数,即$z=g(x)$,则称$y$为$x$的复合函数,记作
$$y=\phi(x)=f[g(x)]$$

导数

daoshu = function (fx, x, dx)
    assert (fx == "function", "第一个[参数]^(Parameter)必须是一个函数")
    assert (x, "请输入你想要计算的那个点")
    if not dx then dx = 1E-12 end
    return (fx(x+dx)-fx(x))/dx
end

如此这般操作,我们就实现了一个拥有强鲁棒性的导数计算工具,但是由于计算机底层运算本身所具有的不精确性,而且我们也没有使用较为复杂的方法进行计算,可能会导致结果有所偏差,但是误差应该会在1%以下

函数的极值点和极值

微分

不定积分

原函数

不定积分

不定积分的运算法则

定积分

定积分的概念

定积分的主要性质

牛顿-莱布尼茨公式

C/C++ 入门前提须知不完全指北

本文档用于指导学校不大可能会教,但是又必知的要点(知道有,能简单用就好了,深入的学习还请在深入了解了 c/c++ 之后再做详细的研究学习
也有可能是在后面会教,或是在学习的过程中就学会了……

C 版本与 C++ 版本

K&B C
ANSI C
ISO C
c89
c99
c11
c17

C++98
C++03
C++11
C++14
C++17
C++20
C++23

gcc
mingw
mingw-w64
tdm-gcc

clang-llvm
msvc

末流
borderland++
intel++

大部分的学校所使用的 IDE 无非逃不开 devcpp 5.11 code::blocks VC2010 VC6,这么几种选择。
VC6 属于历史惯性,虽然已经是 上个世纪 98 年的产物,但是完全够教材用,存在的很多局限性,大多数大学生可能也没有太多的感觉。
VC2010 实际上指的是 VC++ 2010 Express 的这种奇奇怪怪的版本,免费,而且轻量,支持的标准也比 VC6 更新,但是也不支持 c++11,但是这个环境已经是目前国家计算机二级等级考试的标准环境,所以,使用 VC6 是真的**。
devcpp 用更老版本的虽然少见,但是确实还是存在的,主流还是 devcpp 5.11 比如我现在就读的这个学校。实际上devcpp 在相当一定的程度上还可以勉强跟上时代的潮流。
当然,通过更换编译Compiler器也可以达到这个效果,不过,和老师的环境不太一样,就没有什么需要考虑的了。devcpp 5.11 支持 c++11,不过需要自己手动开启设置 启用 c++11 或者启动编译器选项 -std=c++11

这里理应需要一张图通过直接勾选启用c++11,但是还没有配置对应环境
![]()
这里应该有一张如何通过编译器选项设置c++11的图片,也没有环境
![]()

code::blocks 可以自动根据系统中的编译器自动配置环境,但是由于官网有一个默认的带有 MinGW 的版本,所以以下的所有内容,也以此为“标准”

实际上 devcpp 和 code::blocks 所使用的编译器都是基于同一个编译器所产生的不同分支,也就是说,同一个妈生的,从使用上,除了 IDE 本身的差别,不会有太多的问题

报错

第一步,当然也是最重要的一步,前面那个只是前言,不看也罢,教不了什么东西

如何看自己的报错

如果你在使用 VS 之流的 IDE,你可以看到它的C++ 报错是有中文的,这个时候可以很方便地看到自己的错误,具体内容是什么意思,但是熟练了,其实看什么都差不多。

一个报错通常会标识一个错误的位置,引发了什么样的错误

部分 ide 提供了双击跳转到错误代码的功能,这个很实用

通常报错总是会由前面的某一个错误,引发一个连锁反应
(关于 C++ 使用到了模板的话,一个报错可能就是几百上千行,此时中间一堆都不用管,直接看到最前面的错误原因就行了)

当程序中存在游离的字符,中文或者是空白字符,通常来说总是后面的问题,因为看到了中文的字符谁不知道它有问题呢,总是一些看不到的符号引发着奇奇怪怪的错误。

又比如函数参数Parameter啊,返回值啊等等等等

undefined reference: 未定义的引用ref,通常是因为include了某个头文件,但是却没有添加对应的源文件或者是库文件,导致函数定义不存在。

不对应的括号,花括号

错误的名称

逗号,分号,中文标点符号

警告

没事,既然只是警告,没有遇到奇葩的问题,就不用管了,
通常是一些什么变量没有使用啊,存在隐式转换什么的,特别奇怪

理解编译的过程

#include <stdio.h>

int main (int argc, char **argv) {

    printf ("Hello World!");
    return 0;
}

这是一个基本的 c 程序,包含了一个宏用于引用别的头文件

main 作为一个入口函数,在程序启动的时候调用

int 是这个函数的返回值,c 标准中没有要求 main 必须返回,或者返回什么

int argc, char**argv 是这个程序启动时输入的参数,你可能操作过类似于,在命令行Command-line使用的工具,比如 git 工具,使用 git clone xxx 可以从远端Origin克隆Clone一个项目,每一个参数如何分割是由终端Terminal决定的(毕竟万一不支持字符串什么的,也可能是一些问题呢)

printf ("Hello World!"); 是一个调用了标准格式化输出函数,输出字符串的语句,会在你的终端上显示出 Hello World! 这些字符。所谓终端就是你所看到的黑色的窗口,

print 打印
f format 格式化
printf 格式化输出,标准库提供的,所以又叫标准格式化输出函数

scanf sscanf sprintf... 同理

return 0; 返回值,一般 0 为正常结束,非 0 则表示程序出现了异常,在 Windows Command 下,你可以通过打印 %ERRORLEVEL% 的值显示程序返回值(这个内容不是很属于今天要教的内容

$ gcc -o mytest.exe mytest.c -Wall

我们使用如上的命令进行对代码的编译,产生如下的编译结果

$ ./mytest
Hello World!

但实际使用中,使用的更多的还是 make 来进行对项目的构建,make 配置文件Profile通常会由 IDE 进行创建,例如上面提到的,但是 vs 的 make 文件就,比较有特色

预编译、预处理

这个部分将宏进行展开,删除注释

语法检查

检查括号啊,参数类型啊等等等等

语义检查

分析、替换、编译、优化

这部分应该去看一些关于编译原理的书,例如《编译原理》

链接

头文件,库文件,静态链接库动态链接库

标准库为什么没有要我们链接库

因为这个库在系统的内部被提供了
大多数操作系统Operating System都会内置一个 c/c++ 的动态链接库给程序链接,实现标准的功能

不同系统的 C++ 标准库在哪

libstdc++.so
什么的

配置链接

-l
-L

编译器选项

-o
-g
-s
-O2
-O3
-O4

构建一个项目

C/C++ 作为一个复杂的工程语言,当然,不是说语法上的复杂,说的是项目之间协作,调库,编译,跨平台编译,使之能够运行是非常复杂的。大家通常使用 makefile 来解决复杂的命令,但是和 .bat .sh 文件来说可能,更加方便令人懂。但是,不同的编译器可能拥有不同的 makefile 语法,然后,很多跨平台跨编译器的项目就需要为这些事情做一些特化,比如附带了一堆的 makefile ,这个通常为实际上的开发产生了相当多的麻烦,因为你需要熟练掌握相当多的 makefile 的语法。然后,cmake 横空出世,通过统一的语法配置了项目,但是 cmake 本身不是直接被编译器所使用的,而是生成了对应编译器的 makefile,然后调用对应编译器对源文件进行编译。但是我觉得 cmake 的语法还是挺操蛋的,非常的不好。有人说 ninja?但是我也觉得只是一般般,然后我现在用的是 xmake,简单的配置就可以为一个项目创建基本的构建工程

参考

C 语言为什么只需要 include 就能使用里面声明的函数?

C/C++ 框架推荐

这个页面中的内容与 https://zh.cppreference.com/w/cpp/links/libs 十分相似,但是按照我自己的想法添加或移动了内容

项目构建

xmake
cmake
nmake
ninja
MakeFiles

多线程库

网络Network

POCO

文本处理库

编码类型转换

格式化库

图像处理

Boost.PIL
Cario

音频处理

OpenAL

多媒体

SDL
EGE
EASYX
XEGE-SDL