vault backup: 2026-01-22 21:01:29

This commit is contained in:
2026-01-22 21:01:29 +08:00
parent cf66540bb5
commit 3008b13223
3 changed files with 16 additions and 16 deletions

View File

@@ -2,7 +2,7 @@
"monospaceFontFamily": "Cascadia Mono,微软雅黑", "monospaceFontFamily": "Cascadia Mono,微软雅黑",
"cssTheme": "Border", "cssTheme": "Border",
"nativeMenus": false, "nativeMenus": false,
"theme": "obsidian", "theme": "moonstone",
"accentColor": "", "accentColor": "",
"enabledCssSnippets": [] "enabledCssSnippets": []
} }

View File

@@ -13,13 +13,13 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md", "file": "Collection/YoudaoyunNotes/02C语言/04-运算符.md",
"mode": "source", "mode": "source",
"source": false, "source": false,
"backlinks": false "backlinks": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "03-数据类型及IO流" "title": "04-运算符"
} }
} }
] ]
@@ -89,13 +89,13 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md", "file": "Collection/YoudaoyunNotes/02C语言/04-运算符.md",
"followCursor": true, "followCursor": true,
"showSearch": false, "showSearch": false,
"searchQuery": "" "searchQuery": ""
}, },
"icon": "lucide-list", "icon": "lucide-list",
"title": "03-数据类型及IO流 的大纲" "title": "04-运算符 的大纲"
} }
}, },
{ {
@@ -249,6 +249,7 @@
}, },
"active": "53c9f5efa5aa3efd", "active": "53c9f5efa5aa3efd",
"lastOpenFiles": [ "lastOpenFiles": [
"Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md",
"Collection/YoudaoyunNotes/02C语言/02-C语言入门.md", "Collection/YoudaoyunNotes/02C语言/02-C语言入门.md",
"Collection/YoudaoyunNotes/02C语言/14-预处理与文件组织.md", "Collection/YoudaoyunNotes/02C语言/14-预处理与文件组织.md",
"Collection/YoudaoyunNotes/02C语言/15-静态库与动态库.md", "Collection/YoudaoyunNotes/02C语言/15-静态库与动态库.md",
@@ -262,7 +263,6 @@
"Collection/YoudaoyunNotes/02C语言/06-函数基础.md", "Collection/YoudaoyunNotes/02C语言/06-函数基础.md",
"Collection/YoudaoyunNotes/02C语言/05-控制与分支.md", "Collection/YoudaoyunNotes/02C语言/05-控制与分支.md",
"Collection/YoudaoyunNotes/02C语言/04-运算符.md", "Collection/YoudaoyunNotes/02C语言/04-运算符.md",
"Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md",
"Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE40a76a7d230733292ec04717f3f6f254编程规范.pdf", "Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE40a76a7d230733292ec04717f3f6f254编程规范.pdf",
"Collection/YoudaoyunNotes/02C语言/01-C语言概述.md", "Collection/YoudaoyunNotes/02C语言/01-C语言概述.md",
"Collection/YoudaoyunNotes/02C语言/[01-拓展]printf输出颜色与字体控制.md", "Collection/YoudaoyunNotes/02C语言/[01-拓展]printf输出颜色与字体控制.md",

View File

@@ -1,16 +1,16 @@
- 概述运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符: - 概述运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
- 算术运算符:+、-、*、/、%、++、-- - 算术运算符:`+、-、*、/、%、++、--`
- 关系运算符:>、<、>=、<=、==、!= - 关系运算符:`>、<、>=、<=、==、!=`
- 逻辑运算符:&&、||、! - 逻辑运算符:`&&、||、!`
- 位运算符:&、|、~、<<、>>、^ - 位运算符:&、|、~、<<、>>、^
- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>= - 赋值运算符:=、+=、-=、`*=`、/=、%=、&=、|=、^=、<<=、>>=
- 杂项运算符:&*、sizeof、?:、return、, - 杂项运算符:&`*`、sizeof、`? :`、return、,
注意: 注意:
@@ -41,7 +41,7 @@
- 注意: - 注意:
- C 语言中很多关键字在不同的场合具有不同的意思, 比如”+”和”-”, 如果它们只有一个操作数, 则分别是取正和取负运算, 比如+10 -a 等, 如果它们左右两边有两个操作数, 则分别为加法和减法, 如 a-3。 再如星号”*”, 其出现在定义语句时为指针标记, 只有一个操作数时为解引用运算符, 有两个操作数时为乘法运算, 而与正斜杠”/”一起使用时又表示注释符。 由此可见, 同样的运算符在不同的场合有不同的意思。 - C 语言中很多关键字在不同的场合具有不同的意思, 比如”+”和”-”, 如果它们只有一个操作数, 则分别是取正和取负运算, 比如+10 -a 等, 如果它们左右两边有两个操作数, 则分别为加法和减法, 如 a-3。 再如星号”`*`”, 其出现在定义语句时为指针标记, 只有一个操作数时为解引用运算符, 有两个操作数时为乘法运算, 而与正斜杠”/”一起使用时又表示注释符。 由此可见, 同样的运算符在不同的场合有不同的意思。
- 两个整型相除的结果是整型, 小数部分将被舍弃(而不是四舍五入) 比如 17/10的结果是 1。 - 两个整型相除的结果是整型, 小数部分将被舍弃(而不是四舍五入) 比如 17/10的结果是 1。
@@ -75,17 +75,17 @@ printf("b=%d\n", ++b); // 前缀先加后用 11
![](images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png) ![](images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png)
- 注意:关系运算符的结果为真(1)或假(0),判断等于运算符是==,而=是赋值运算符若if(x==1)写为了if(x=1)编译时不报错,但判断表达式变成了赋值表达式,其结果取决于赋值的值是真(非0)还是假(0)为了避免这样的问题发生则建议在书写判断表达式时将常量放在左边如if(1==x)如果写成了if(1=x)则编译时会报错。 - `注意:关系运算符的结果为真(1)或假(0),判断等于运算符是==,而=是赋值运算符若if(x==1)写为了if(x=1)编译时不报错,但判断表达式变成了赋值表达式,其结果取决于赋值的值是真(非0)还是假(0)为了避免这样的问题发生则建议在书写判断表达式时将常量放在左边如if(1==x)如果写成了if(1=x)则编译时会报错。`
- 不等于运算符可以省略的情况 - 不等于运算符可以省略的情况
- int a; if(a) ==> if(a!=0) - `int a; if(a) ==> if(a!=0)`
- char a; if(a) ==> if(a!='\0') - `char a; if(a) ==> if(a!='\0')`
- `int *a; if(a) ==> if(a!=NULL)` - `int *a; if(a) ==> if(a!=NULL)`
- bool a; if(a) ==> if(a!=false) - `bool a; if(a) ==> if(a!=false)`
```c ```c
void send_string(char *msg) void send_string(char *msg)