C语言基础:运算符详解
需积分: 1 134 浏览量
更新于2024-08-03
收藏 203KB PDF 举报
"C语言基础-运算符.pdf"
在C语言中,运算符是编程的关键组成部分,它们用于执行各种计算和逻辑判断。C语言提供了一系列的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及杂项运算符。以下是这些运算符的详细介绍:
1. **算术运算符**:
- `+`:加法运算符,例如`A+B`将得到30。
- `-`:减法运算符,例如`A-B`将得到-10。
- `*`:乘法运算符,例如`A*B`将得到200。
- `/`:除法运算符,例如`B/A`将得到2,需要注意的是,如果操作数是整数,结果也会是整数,丢弃小数部分。
- `%`:取模运算符,例如`B%A`将得到0,返回两个整数相除后的余数。
2. **自增/自减运算符**:
- `++`(前缀或后缀):自增运算符,将变量的值增加1。例如,`A++`将使A的值从10变为11,而`++A`同样会使A增加1,但在表达式中会先增加再使用新的值。
- `--`(前缀或后缀):自减运算符,将变量的值减少1。例如,`A--`将使A的值从10变为9,而`--A`会使A减少1,然后使用减少后的值。
3. **关系运算符**:
- `==`:等于运算符,如果两个操作数相等,则返回真(非零值)。
- `!=`:不等于运算符,如果两个操作数不相等,则返回真(非零值)。
- `>`:大于运算符,如果左操作数大于右操作数,则返回真(非零值)。
- `<`:小于运算符,如果左操作数小于右操作数,则返回真(非零值)。
- `>=`:大于等于运算符,如果左操作数大于或等于右操作数,则返回真(非零值)。
- `<=`:小于等于运算符,如果左操作数小于或等于右操作数,则返回真(非零值)。
4. **逻辑运算符**:
- `&&`:逻辑与运算符,如果两边的操作数都为真,则返回真(非零值)。
- `||`:逻辑或运算符,如果至少有一个操作数为真,则返回真(非零值)。
- `!`:逻辑非运算符,反转操作数的布尔值,真变假,假变真。
5. **位运算符**:
- `&`:按位与运算符,两个二进制位都为1时,结果位才为1。
- `|`:按位或运算符,只要一个二进制位为1,结果位就为1。
- `^`:按位异或运算符,两个二进制位相同为0,不同为1。
- `~`:按位取反运算符,对操作数的每一位进行取反。
- `<<`:左移运算符,将二进制位向左移动指定的位数。
- `>>`:右移运算符,将二进制位向右移动指定的位数。
6. **赋值运算符**:
- `=`:简单赋值运算符,将右边的值赋给左边的变量。
- `+=`:加法赋值运算符,如`A+=B`相当于`A=A+B`。
- `-=`:减法赋值运算符,如`A-=B`相当于`A=A-B`。
- `*=`:乘法赋值运算符,如`A*=B`相当于`A=A*B`。
- `/=`:除法赋值运算符,如`A/=B`相当于`A=A/B`。
- `%=`:取模赋值运算符,如`A%=B`相当于`A=A%B`。
7. **其他运算符**:
- `,`:逗号运算符,它允许在一个表达式中执行多个操作。例如,`(A++, B++)`会先执行A++,然后返回B++的结果。
- `sizeof`:计算数据类型或变量的大小,通常以字节为单位。
- `()`: 函数调用运算符,例如`printf()`。
理解并熟练运用这些运算符是学习C语言的基础,它们在编写程序时起着至关重要的作用,帮助我们实现复杂的计算和逻辑控制。通过实例代码的练习,可以更好地掌握这些运算符的用法。例如,给出的实例代码展示了如何使用这些算术运算符和自增/自减运算符来改变和打印变量的值。
2019-06-07 上传
2022-12-30 上传
2021-10-20 上传
2023-03-11 上传
2023-12-26 上传
2021-09-19 上传
2021-09-30 上传
2024-06-05 上传
2023-10-24 上传
shandongwill
- 粉丝: 5717
- 资源: 676
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍