C++运算符大全详解

合集下载

c语言中各个运算符号的含义

c语言中各个运算符号的含义

C 语言中有多种运算符,它们用于执行不同类型的操作,包括算术运算、关系运算、逻辑运算等。

以下是 C 语言中一些常见运算符的含义和用法:1. 算术运算符•+(加法):将两个操作数相加。

•-(减法):从左操作数中减去右操作数。

•*(乘法):将两个操作数相乘。

•/(除法):将左操作数除以右操作数。

•%(取余):返回左操作数除以右操作数的余数。

2. 关系运算符•==(等于):检查两个操作数是否相等,如果相等则返回真(1),否则返回假(0)。

•!=(不等于):检查两个操作数是否不相等,如果不相等则返回真(1),否则返回假(0)。

•>(大于):检查左操作数是否大于右操作数,如果是则返回真(1),否则返回假(0)。

•<(小于):检查左操作数是否小于右操作数,如果是则返回真(1),否则返回假(0)。

•>=(大于等于):检查左操作数是否大于等于右操作数,如果是则返回真(1),否则返回假(0)。

•<=(小于等于):检查左操作数是否小于等于右操作数,如果是则返回真(1),否则返回假(0)。

3. 逻辑运算符•&&(逻辑与):如果两个操作数都为真,则返回真(1),否则返回假(0)。

•||(逻辑或):如果两个操作数中至少有一个为真,则返回真(1),否则返回假(0)。

•!(逻辑非):如果操作数为真,则返回假(0),如果操作数为假,则返回真(1)。

4. 位运算符•&(按位与):对两个操作数的每一位执行与操作。

•|(按位或):对两个操作数的每一位执行或操作。

•^(按位异或):对两个操作数的每一位执行异或操作。

•~(按位取反):对操作数的每一位执行取反操作。

•<<(左移位):将操作数的位向左移动指定的位数。

•>>(右移位):将操作数的位向右移动指定的位数。

这是一些 C 语言中常见运算符的基本含义和用法。

运算符是编写 C 代码时非常重要的一部分,通过它们可以进行各种类型的计算和比较。

c语言中常见运算符含义

c语言中常见运算符含义

c语言中常见运算符含义在C语言中,常见的运算符及其含义如下:
1. 算术运算符:
- `+`:相加
- `-`:相减
- `*`:相乘
- `/`:相除
- `%`:取余数(求模运算符)
2. 关系运算符:
- `==`:等于
- `!=`:不等于
- `>`:大于
- `<`:小于
- `>=`:大于等于
- `<=`:小于等于
3. 逻辑运算符:
- `&&`:逻辑与(and)
- `||`:逻辑或(or)
- `!`:逻辑非(not)
4. 位运算符:
- `&`:按位与
- `|`:按位或
- `^`:按位异或
- `~`:按位取反
- `<<`:左移位
- `>>`:右移位
5. 赋值运算符:
- `=`:赋值
- `+=`:加法赋值
- `-=`:减法赋值
- `*=`:乘法赋值
- `/=`:除法赋值
- `%=`:取余赋值
6. 自增自减运算符:
- `++`:自增1
- `--`:自减1
7. 条件运算符:
- `? :`:条件表达式,表示if-else语句
8. 成员运算符:
- `.`:访问结构体或共用体的成员
- `->`:通过指针访问结构体或共用体的成员
9. sizeof运算符:
- `sizeof`:返回数据类型或变量的大小(以字节为单位)10. 强制类型转换运算符:
- `(type)`:将一个类型转换为另一个类型
以上是C语言中的常见运算符及其含义,请注意在使用这些运算符时要遵循语法规则和优先级规则。

C语言中的运算符总结解读

C语言中的运算符总结解读

C语言中的运算符总结C语言中的操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。

1.算术操作符:+ - * / %1除了% 操作符之外,其他的几个操作符均可以作用于整数和浮点数。

2对于/ 操作符,如果两个操作数都为整数,执行整数除法;而只要有浮点数执行的就是浮点数除法。

3% 操作符的两个操作数必须为整数,返回的是整除之后的余数。

2.移位操作符: << 左移操作符和 >> 右移操作符(针对二进制位、是对整数的操作1左移操作符移位规则:左边丢弃、右边补0。

2右移操作符移位规则:(1算术移位:左边补符号位,右边丢弃。

(2逻辑移位:左边补0,右边丢弃。

注:对于移位运算符,不能移动负数位,这个是标准未定义的。

3.位操作符:& 按位与 | 按位或 ^ 按位异或(操作数都必须是整数,是针对二进制数的操作4.赋值操作符:= 可以重新为变量赋值(赋值操作符是可以连续使用的,从右向左执行,不建议使用。

5.复合赋值符:+= = *= /= %= >>= <<= &= |= ^=6.单目操作符:! 逻辑反操作(真---假- 负值+ 正值& 取地址从内存中取地址,不能从寄存器register 中取址。

sizeof 操作数的类型长度(以字节为单位~ 一个数的二进制按位取反-- 前置、后置-- ++ 前置、后置++ (1前置++和--:先自增后使用,表达式的值是自增之后的值。

先自减后使用,表达式的值是自减之后的值。

(2后置++和--:先使用再自加。

先使用再自减。

* 间接访问操作符(解引用操作符(类型强制类型转换7.关系操作符:> >= < <= != 不相等 == 相等注:== 相等 = 赋值,二者易混淆,需注意。

8.逻辑操作符:&& 逻辑与|| 逻辑或注:逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。

C语言运算符

C语言运算符

C语⾔运算符1.算术运算符:+:就是把两个数据相加,得到和-:就是把两个数据相减,得到差*:就是把两个数据相乘,得到积/:就是把两个数据相除,得到商%:就是把两个数据相除,得到余数算术运算符的优先级:先算乘除,后加减,如果同样就从左往右依次运算,有括号的先算括号⾥⾯的2.复合运算符:由⼀个算术运算符和⼀个赋值运算符组成的符号,叫复合运算符复合运算符列表:+=:在原来的值的基础上加⼀个数-=:在原来的值的基础上减⼀个数*=:在原来的值的基础上乘⼀个数/=:在原来的值的基础上除⼀个数%=:在原来的值的基础上取余⼀个数3.⾃增⾃减预算符:⾃增(++):就是给⾃⼰的值再加1⾃减(--):就是给⾃⼰的值减1++(--)可以放在前⾯,也可以放在后⾯,效果都是⼀样,都是会给⾃⾝+1(-1)前缀++(--):会先⾃增(⾃减),后⽤⾃增(⾃减)后的值参与运算后缀++(--):会先⽤原来的值参与运算,再⾃增(⾃减)4.赋值运算符:=5.逗号运算符:语法:表达式1,表达式2,表达式3;逗号运算式的结果是最后⼀个表达式的结果特点:逗号运算式虽然结果是只取最后⼀个表达式的结果,但是前⾯的表达式也都会执⾏6.关系运算符:>:判断左边的表达式结果是否⽐右边的表达式结果⼤<:判断左边的表达式结果是否⽐右边的表达式结果⼩>=:判断左边的表达式结果是否⽐右边的表达式结果⼤或者等于<=:判断左边的表达式结果是否⽐右边的表达式结果⼩或者等于!=:判断左边的表达式结果是否⽐右边的表达式结果不相等==:判断左边的表达式结果是否⽐右边的表达式结果相等7.逻辑运算符:&&:逻辑与,读作并且表达式左右两边都为真,那么结果才为真⼝诀:⼀假则假||:逻辑或,读作或者表达式左右两边,有⼀个为真,那么结果就为真⼝诀:⼀真则真!:逻辑⾮,读作取反表达式的结果如果为假,就变成真,如果为真,就变成假⼝诀:真变假,假变真短路的情况:&&:左边如果为假,则右边短路(右边不会被执⾏)||:左边如果为真,则右边短路(右边不会执⾏)8.sizeof运算符:⽤法:sizeof(类型);sizeof(变量);sizeof(常量);可以计算这个类型或者变量或者常量占⽤的字节数注意:1.sizeof结果是unsigned long类型2.sizeof如果计算的是字符常量,那么会默认把字符转成ASCII值,然后计算出来就是4个字节,注意:只是常量,字符类型和字符变量还是1个9.三⽬运算符:也叫三元运算符。

c语言34种运算符意义和用法

c语言34种运算符意义和用法

文章标题:深度解析C语言34种运算符的意义和用法在计算机编程世界中,C语言是一种广泛应用的计算机程序设计语言,它为程序员提供了丰富的运算符来完成各种数学和逻辑运算。

作为一个编程语言中至关重要的部分,了解和掌握C语言的运算符对于程序员来说至关重要。

在本文中,我们将深度解析C语言的34种运算符,包括它们的意义和用法,以帮助读者全面了解这些运算符的特点和功能。

1. 赋值运算符赋值运算符是C语言中最基本的运算符之一,用于将右侧的数值或表达式赋给左侧的变量。

赋值运算符由等号(=)表示,例如:a = 10;将10这个数值赋给变量a。

2. 算术运算符算术运算符用于执行基本的数学运算,包括加法(+)、减法(-)、乘法(*)、除法(/)和求模(%)等。

这些运算符在C语言中十分常见,用于处理数字类型的变量。

3. 自增、自减运算符自增(++)和自减(--)运算符用于增加或减少变量的值,它们可以用作前缀或后缀运算符,分别表示在表达式中先执行运算或者先获取变量的值再执行运算。

4. 关系运算符关系运算符用于比较两个值的大小关系,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)等。

这些运算符经常用于条件判断和逻辑运算中。

5. 逻辑运算符逻辑运算符用于执行逻辑运算,包括与(&&)、或(||)和非(!)运算。

它们通常用于条件判断和逻辑组合中,能够帮助程序员处理复杂的逻辑关系。

6. 位运算符位运算符用于对整数类型的数值进行位操作,包括按位与(&)、按位或(|)、按位取反(~)、按位异或(^)和左移(<<)、右移(>>)等。

位运算符在处理底层数据操作时十分重要。

7. 条件运算符条件运算符(?:)是C语言中唯一的三目运算符,用于根据条件的真假选择不同的值。

它使得代码更加简洁和可读性更强。

8. sizeof运算符sizeof运算符用于获取数据类型或变量的字节大小,它在编程时经常用于内存分配和操作中。

c语言运算符名称

c语言运算符名称

c语言运算符名称C语言运算符名称作为一种广泛应用于计算机科学和编程领域的编程语言,C语言具有丰富的运算符,用于在程序中进行各种数学和逻辑运算。

本文将对C语言中常用的运算符名称进行一一解析,并简要介绍它们的功能和用法。

1. 算术运算符算术运算符用于执行基本的数学运算,例如加法、减法、乘法和除法。

C 语言中常用的算术运算符包括:- 加法运算符(+):将两个操作数相加,生成它们的和。

- 减法运算符(-):将第一个操作数减去第二个操作数,生成它们的差。

- 乘法运算符(*):将两个操作数相乘,生成它们的乘积。

- 除法运算符(/):将第一个操作数除以第二个操作数,生成它们的商。

- 模运算符():计算第一个操作数除以第二个操作数的余数。

例如,以下代码演示了算术运算符的使用:int a = 10;int b = 5;int c;c = a + b; c的值为15c = a - b; c的值为5c = a * b; c的值为50c = a / b; c的值为2c = a b; c的值为02. 关系运算符关系运算符用于比较两个值的大小关系,并返回一个布尔值(true或false)。

C语言中常用的关系运算符包括:- 等于运算符(==):判断两个操作数是否相等,如果相等则返回true,否则返回false。

- 不等于运算符(!=):判断两个操作数是否不相等,如果不相等则返回true,否则返回false。

- 大于运算符(>):判断第一个操作数是否大于第二个操作数,如果大于则返回true,否则返回false。

- 小于运算符(<):判断第一个操作数是否小于第二个操作数,如果小于则返回true,否则返回false。

- 大于等于运算符(>=):判断第一个操作数是否大于等于第二个操作数,如果大于等于则返回true,否则返回false。

- 小于等于运算符(<=):判断第一个操作数是否小于等于第二个操作数,如果小于等于则返回true,否则返回false。

c语言算数运算符

c语言算数运算符

c语言算数运算符算数运算符是 c 语言中的一种非常重要的基础语法,用于进行基本的数学运算,包括加、减、乘、除等。

本文旨在全面介绍 c 语言算数运算符,帮助初学者更好地理解和掌握该语法。

1. 加法运算符:+加法运算符用于将两个数相加,例如:int a = 1;int b = 2;int c = a + b;printf("%d", c); // 输出32. 减法运算符:-减法运算符用于将两个数相减,例如:int a = 5;int b = 3;int c = a - b;printf("%d", c); // 输出23. 乘法运算符:*乘法运算符用于将两个数相乘,例如:int a = 3;int b = 4;int c = a * b;printf("%d", c); // 输出124. 除法运算符:/除法运算符用于将两个数相除,例如:int a = 6;int b = 3;int c = a / b;printf("%d", c); // 输出2需要注意的是,如果除数为0,程序将会报错。

5. 取余运算符:%取余运算符用于获取两个数相除后的余数,例如:int a = 7;int b = 3;int c = a % b;printf("%d", c); // 输出16. 自增运算符:++自增运算符可以将变量的值自增1,例如:int a = 1;a++;printf("%d", a); // 输出27. 自减运算符:--自减运算符可以将变量的值自减1,例如:int a = 3;a--;printf("%d", a); // 输出28. 赋值运算符:=赋值运算符用于将一个值赋给一个变量,例如:int a = 3;int b = a;printf("%d", b); // 输出39. 复合赋值运算符:+=、-=、*=、/=、%=复合赋值运算符可以对一个变量进行算数运算后再赋值给自己,例如:int a = 2;a += 3; // 等价于 a = a + 3;printf("%d", a); // 输出510. 运算符优先级需要注意的是,c 语言中存在运算符优先级,运算符优先级越高的先运算。

C语言的运算符

C语言的运算符
双目运算符
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
双目运算符
8
&
按位与
表达式&表达式
左到右
双目运算符
9
^
按位异或
表达式^表达式
左到右
双目运算符
10
|
按位或
表达式|表达式
左到右
双目运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
整型表达式/整型表达式
双目运算符
4
+

表达式+表达式
左到右
双目运算符
-

表达式-表达式
双目运算符
5
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
双目运算符
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
双目运算符
<
小于
表达式<表达式
双目运算符
<=
小于等于
表达式<=表达式
单目运算符
--
自减运算符
--变量名/变量名--
单目运算符
*
取值运算符
*指针变量
单目运算符
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++运算符大全与详解1.运算符与运算值的解释运算符与运算值是构成一道计算题的主要元素,所谓的运算符,指的是+,-,*,/....等运算符号。

运算值就是运算符操作的资料,例如:1+2中,1和2都是运算值。

2.一级运算符与二级运算符一个运算符计算时,操作两个运算值,称为二级运算符,例如1+2,操作1和2这两个运算值,执行相加操作。

如此类推,操作一个运算值的将称为一级运算符,而一级运算符是“-”号,相信学过数学的都知道,这个叫做负号,令其数字变成负值,例如:-1,如同上列所说,只操作一个运算值。

3.运算公式运算公式是由运算符与运算值结合的公式叫做运算公式,作用是依照指定的运算值进行运算符的计算。

例子如下:Int a,b,c;//声明三个整数变量b=10;//给b赋值10C=1;//给c赋值1A=b+c;//b+c的结果赋值给a//注意,C++大小写是有区分的,由于wps的关系,自动大写了,我也不太会用wps这些工作软件4.运算符的顺序运算公式中预算符的计算顺序,称为运算符的顺序,比如在日常生活数学老师和我们说,先乘除后加减,运算符的优先顺序我会在后文排序出表格。

5.运算符的结合一个运算公式内,运算符顺序相同时,按照一般的计算规律,有从左到右和从右到左两种顺序,以加减运算为例子,2+3-4中先计算2+3,之后用2+3的和减去4,5-4,有关规律请参照后文。

2.1运算符2.2“=”运算符的解释在学生时代,老师对我们说,“=”号是等于的作用,但是在程序当中,“=”号的功能会和老师所说的“等于”不同,所有,我们不能以“等于”这个观点去理解程序的“=”号。

请看如下代码:Int a,b,c;B=1;c=2;A=b+c;以上代码的意思是如果使用“等于”观念来思考,可能觉得没什么差别,就是位置改变了。

请看如下代码:Int a;A=a+1;当看了此段代码,你在用“等于”观念来思考,你会觉得,一切都觉得很奇怪。

这时候你就应该用程序的观念去思考这段代码。

现在,我很大家说明程序的“=”号,在你宣告一个变量时,那个变量就是你系统内存里面的一小部分,但是我们如何输入一些信息到变量呢?这时候我们需要“=”号,例如a=1;就是把数字1放进了变量a里面,所以“=”号起的作用是赋值,例如小明给小红一支笔。

因此,“等于”观念的“=”号和程序里的“=”号是不同的。

2.3算数运算符运算符号名称运算规律程序例子实例+加法从左到右A+B7+2-减法从左到右A-B7-2*乘法从左到右A*B7*2/除法从左到右A/B7.0/2%求余从左到右A%B7%2当你看到上面的表格,你就知道这是算数运算符。

在/一列中,发现实例的7.0/2,其实加上小数是确保结果正确,不然输出的结果是整数3。

详细情况请看C++变量详细解释系列教程。

当然,“-”号可以作成负数,例如:“-1”。

在执行运算时,有如下两个规则决定运算顺序:1.运算符号运算顺序。

2.运算值的结合规律。

计算算数运算符时,要按照[先乘除后加减]的方式进行运算。

在程序中,运算也是如此,在一段包含加减乘除的运算代码里,顺序与算数相同。

那我们再说说“%”号,此符号在程序中,优先于加减。

运算顺序运算符号运算规律先*,/,%从左到右后+,-从左到右使用例子:Int a;a=10*2/5+8-1;Cout<<a<<endl;输出结果:11请按任意键继续...那我们现在分析下过程。

1.10*2/5+8-1//先乘除,后加减2.20/5+8-1//从左到右计算3.4+8-1//从左到右计算4.12-1//从左到右计算5.11//结果这就是程序的计算过程。

2.3.1简单的运算符这是2.3中的一小段,主要想在这段说明下简单化的运算符。

此类运算符使运算更简洁。

在上面介绍了算数运算符,那么有没有算数运算符的简单化呢?答:有。

以下表格A的值为9。

运算符号运算规律运算例子原式结果+=从右到左A+=3A=A+312-=从右到左A-=3A=A-36*=从右到左A*=3A=A*327/=从右到左A/=3A=A/33以上四个运算符运算顺序是一样,没有谁是优先的。

注意的是,它是从右到左运算的。

例子:int a,b;A=10;B=20;B*=a+=10;输出结果:400请按任意键继续...让我们分析下计算过程。

B*=a+=10//原式B*=(a=a+10)//从右到左,而且顺序相同,加上括号是为了分辨,括号不起作用。

B*=a//此时:B*=20B=B*a//此时:B=20*20B//此时B=400以上就是计算过程。

2.4对比运算符对比运算符用于比较两边的的运算值作用,当结果为真时(数字代表为1),当结果为假时,(数字代表为0)。

运算符号运算符名称运算规律例子==等于从左到右A==B>大于从左到右A>B<小于从左到右A<B>=大于或等于从左到右A>=B<=小于或等于从左到右A<=B!=不等于从左到右A!=B说明一下,由于字体问题,“==”号看上去像“=”,其实“==”号是两个“=”组成的。

以下为使用例子:Int a,b;A=10;B=20;Cout<<“a==b结果:”<<(a==b)<<endl;cout<<“a>b结果:”<<(a>b)<<endl;Cout<<“a<b结果:”<<(a<b)<<endl;Cout<<“a>=b结果:”<<(a>=b)<<endl;Cout<<“a<=b结果:”<<(a<=b)<<endl;Cout<<“a!=b结果:”<<(a!=b)<<endl;输出结果:A==B结果:0A>B结果:0A<B结果:1A>=B结果:0A<=B结果:1A!=B结果:1请按任意键继续...那么我们来分析一下这段代码吧。

上面我已经说过,当真为1,假为0。

A==B,A是10,B是20,怎么可能等于呢,所有结果为0,即为假。

A>B,A是10,B是20,B大于A,所有结果为0,即为假。

A<B,A是10,B是20,B大于A,所以结果为1,即为真。

A>=B,A是10,B是20,因为A不大于B,也不等于B,所以结果为0,即为假。

A<=B,A是10,B是20,因为A小于B,但不等于B,所以结果为1,即为真。

A!=B,A是10,B是20,A不等于B,所以结果为1,即为真。

对于上面的分析,可能你产生疑问为什么A<=B结果是1呢?答:因为“<=”号和“>=”号只要实现了其中一个条件就行。

2.5逻辑运算符C++的逻辑运算符于条件中执行真,假值运算,以计算结果的真或假控制程序过程。

执行运算时,结果为0代表假,1代表真。

“!”是一级运算符,并且是从右到左运算的运算符。

上面中,逻辑运算符操作的运算值A,B可以是判断式的执行结果。

下面是例子:Int a,b;A=20;B=10;Cout<<(a>b)&&(a<b)<<endl;Cout<<(a>b)||(a<b)<<endl;Cout<<!(a>b)<<endl;输出结果:(a>b)&&(a<b):0(a>b)||(a<b):1!(a>b):0请按随意键继续...让我们分析一下结果:(a>b)&&(a<b)//首先计算两边括号,a是20,b是10.1&&0//a大于b,正确,输出1.a不小于b,错误,输出01//因为两边结果不是为真,所有结果为0!(a>b)||(a<b)//首先计算两边括号,a是20,b是10.!1//a大于b,正确,输出1.a不小于b,错误,输出01//因为“||”只要一边为真,结果是为1!(a>b)//首先计算括号,a是20,b是10.!1//因为a大于b,所有输出10//因为“!”在对比值为1的时候,输出0,对比值为0时,输出1以上就是分析过程。

2.6++,--,sizeof运算符++,--运算符程序经常会用到类似的运算++A或者A++++A和A++的区别,++A是先把A加1后赋值给A,再把A传出。

A++则是先把A传出,再把A+1赋值给A。

两者的区别如下代码:int a,b;a=1,b=1; cout<<a++<<endl<<++b<<endl;输出结果:12请按随意键继续...从上面代码与结果看到,A++与++A的区别。

--与++运算符的不同就是是减1,而返回值的规律和++A,A++相同。

2.6.1Sizeof运算符Sizeof运算符用于数据类型,或变量在内存所占位置大小,语法如下:Sizeof(数据类型)Sizeof(变量)Sizeof的详细使用如下:int a;cout<<sizeof(int)<<endl;cout<<sizeof(a)<<endl;输出结果:44让我分析下意思。

第一个4是说明int类型占内存的位置大小。

第二个4是说明a变量占内存位置大小。

有人会问,为什么变量a是4呢?答:因为变量a是int类型,所有占内存位置是4。

2.7运算符“,”1请按随意键继续...If的结果取决于最后的一个条件,3<4真,所以会输出1。

在有“,”运算符的判断里,最后一个返回值为关键。

2.8条件运算符“?:”条件运算符配合条件,控制执行结果。

语法如下:(条件)?结果1:结果2当条件成立时,执行结果1,当条件不成立,执行结果2。

但是“?:”运算符里,可选择执行的结果1和结果2,只容许在单行,不能用大括号扩充。

因此,结果1和结果2的最后是不用再加上“;”了。

在程序中,如果使用条件运算符单行执行,就需要在后加上结尾符号。

但是在函数中,并且未成为独立执行,那么最后就不用加上结尾符号。

以下分别说明条件运算符如何以“单行执行”使用,和如何以“函数内执行”或“前置执行”。

. .。

相关文档
最新文档