跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
C 语言运算符定义
”︁(章节)
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= C语言运算符定义 = == 介绍 == 在C语言中,'''运算符'''是用于执行特定数学或逻辑操作的符号。运算符可以操作一个或多个'''操作数'''(变量或常量),并返回结果。C语言提供了丰富的运算符类型,包括算术运算符、关系运算符、逻辑运算符、位运算符等。理解运算符的定义和使用是掌握C语言编程的基础。 == 运算符分类 == C语言的运算符可以分为以下几类: === 1. 算术运算符 === 用于执行基本的数学运算,如加、减、乘、除等。 {| class="wikitable" |- ! 运算符 !! 描述 !! 示例 |- | <code>+</code> || 加法 || <code>a + b</code> |- | <code>-</code> || 减法 || <code>a - b</code> |- | <code>*</code> || 乘法 || <code>a * b</code> |- | <code>/</code> || 除法 || <code>a / b</code> |- | <code>%</code> || 取模(求余) || <code>a % b</code> |} ==== 示例代码 ==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 10, b = 3; printf("加法: %d\n", a + b); // 输出 13 printf("减法: %d\n", a - b); // 输出 7 printf("乘法: %d\n", a * b); // 输出 30 printf("除法: %d\n", a / b); // 输出 3(整数除法) printf("取模: %d\n", a % b); // 输出 1 return 0; } </syntaxhighlight> === 2. 关系运算符 === 用于比较两个值的关系,返回布尔值(<code>1</code>表示真,<code>0</code>表示假)。 {| class="wikitable" |- ! 运算符 !! 描述 !! 示例 |- | <code>==</code> || 等于 || <code>a == b</code> |- | <code>!=</code> || 不等于 || <code>a != b</code> |- | <code>></code> || 大于 || <code>a > b</code> |- | <code><</code> || 小于 || <code>a < b</code> |- | <code>>=</code> || 大于等于 || <code>a >= b</code> |- | <code><=</code> || 小于等于 || <code>a <= b</code> |} ==== 示例代码 ==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 5, b = 10; printf("a == b: %d\n", a == b); // 输出 0 printf("a != b: %d\n", a != b); // 输出 1 printf("a > b: %d\n", a > b); // 输出 0 printf("a < b: %d\n", a < b); // 输出 1 return 0; } </syntaxhighlight> === 3. 逻辑运算符 === 用于组合多个条件,通常与关系运算符一起使用。 {| class="wikitable" |- ! 运算符 !! 描述 !! 示例 |- | <code>&&</code> || 逻辑与(AND) || <code>a && b</code> |- | <code>||</code> || 逻辑或(OR) || <code>a || b</code> |- | <code>!</code> || 逻辑非(NOT) || <code>!a</code> |} ==== 示例代码 ==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 1, b = 0; printf("a && b: %d\n", a && b); // 输出 0 printf("a || b: %d\n", a || b); // 输出 1 printf("!a: %d\n", !a); // 输出 0 return 0; } </syntaxhighlight> === 4. 位运算符 === 对二进制位进行操作,常用于底层编程。 {| class="wikitable" |- ! 运算符 !! 描述 !! 示例 |- | <code>&</code> || 按位与 || <code>a & b</code> |- | <code>|</code> || 按位或 || <code>a | b</code> |- | <code>^</code> || 按位异或 || <code>a ^ b</code> |- | <code>~</code> || 按位取反 || <code>~a</code> |- | <code><<</code> || 左移 || <code>a << 2</code> |- | <code>>></code> || 右移 || <code>a >> 2</code> |} ==== 示例代码 ==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 5; // 二进制: 0101 int b = 3; // 二进制: 0011 printf("a & b: %d\n", a & b); // 输出 1 (0001) printf("a | b: %d\n", a | b); // 输出 7 (0111) printf("a ^ b: %d\n", a ^ b); // 输出 6 (0110) printf("~a: %d\n", ~a); // 输出 -6(补码表示) printf("a << 1: %d\n", a << 1); // 输出 10 (1010) printf("a >> 1: %d\n", a >> 1); // 输出 2 (0010) return 0; } </syntaxhighlight> === 5. 赋值运算符 === 用于给变量赋值,可以与其他运算符组合。 {| class="wikitable" |- ! 运算符 !! 描述 !! 示例 |- | <code>=</code> || 简单赋值 || <code>a = b</code> |- | <code>+=</code> || 加后赋值 || <code>a += b</code> |- | <code>-=</code> || 减后赋值 || <code>a -= b</code> |- | <code>*=</code> || 乘后赋值 || <code>a *= b</code> |- | <code>/=</code> || 除后赋值 || <code>a /= b</code> |- | <code>%=</code> || 取模后赋值 || <code>a %= b</code> |} ==== 示例代码 ==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 5; a += 3; // 等价于 a = a + 3 printf("a: %d\n", a); // 输出 8 return 0; } </syntaxhighlight> === 6. 其他运算符 === 包括条件运算符(三元运算符)、逗号运算符、sizeof运算符等。 ==== 条件运算符 ==== 语法:<code>condition ? expr1 : expr2</code> <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 5, b = 10; int max = (a > b) ? a : b; printf("最大值: %d\n", max); // 输出 10 return 0; } </syntaxhighlight> ==== sizeof运算符 ==== 返回变量或类型的大小(以字节为单位)。 <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("int 大小: %zu\n", sizeof(int)); // 输出 4(通常) return 0; } </syntaxhighlight> == 运算符优先级 == 运算符的优先级决定了表达式中运算的执行顺序。以下是一些常见运算符的优先级(从高到低): # 括号 <code>()</code> # 一元运算符(如 <code>!</code>, <code>~</code>, <code>++</code>, <code>--</code>) # 乘、除、取模 <code>*</code>, <code>/</code>, <code>%</code> # 加、减 <code>+</code>, <code>-</code> # 关系运算符 <code><</code>, <code><=</code>, <code>></code>, <code>>=</code> # 相等性运算符 <code>==</code>, <code>!=</code> # 逻辑与 <code>&&</code> # 逻辑或 <code>||</code> # 赋值运算符 <code>=</code>, <code>+=</code>, <code>-=</code> 等 === 优先级示例 === <syntaxhighlight lang="c"> #include <stdio.h> int main() { int a = 5, b = 10, c = 2; int result = a + b * c; // 先计算 b * c,再 + a printf("结果: %d\n", result); // 输出 25 return 0; } </syntaxhighlight> == 实际应用案例 == === 案例1:计算圆的面积 === 使用算术运算符计算圆的面积。 <syntaxhighlight lang="c"> #include <stdio.h> #define PI 3.14159 int main() { float radius = 5.0; float area = PI * radius * radius; printf("圆的面积: %.2f\n", area); // 输出 78.54 return 0; } </syntaxhighlight> === 案例2:判断闰年 === 使用逻辑运算符和关系运算符判断闰年。 <syntaxhighlight lang="c"> #include <stdio.h> int main() { int year = 2024; int is_leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); printf("%d 是闰年吗? %d\n", year, is_leap); // 输出 1(是) return 0; } </syntaxhighlight> == 总结 == C语言的运算符是编程的基础工具,掌握它们的定义和使用对于编写高效、清晰的代码至关重要。通过本文的学习,你应该能够理解各类运算符的功能、优先级以及实际应用场景。 [[Category:编程语言]] [[Category:C]] [[Category:C 语言预处理器]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)