
C语言运算符详解:赋值、算术、逻辑、位移等
下载需积分: 9 | 29KB |
更新于2024-09-18
| 71 浏览量 | 举报
1
收藏
"C语言运算符详解"
C语言中的运算符是编程语言中最基本的组成部分,用于执行各种操作和计算。无论是加减乘除还是大于小于,都需要用到运算符。在C语言中的运算符和我们平时用的基本上都差不多。
赋值运算符
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。赋值语句左边的变量在程序的其他地方必须要声明。得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为它们出现在赋值语句的右边。常数只能作为右值。
例如:
count=5;
total1=total2=0;
赋值语句从右向左运算的,也就是说从右端开始计算。这样它先total2=0;然后total1=total2;那么我们这样行不行呢?
(total1=total2)=0;
这样是不可以的,因为先要算括号里面的,这时total1=total2是一个表达式,而赋值语句的左边是不允许表达式存在的。
算术运算符
在C语言中有两个单目和五个双目运算符。
符号 功能
+ 单目正
- 单目负
* 乘法
/ 除法
% 取模
+ 加法
- 减法
下面是一些赋值语句的例子,在赋值运算符右侧的表达式中就使用了上面的算术运算符:
Area=Height*Width;
num=num1+num2/num3-num4;
运算符也有个运算顺序问题,先算乘除再算加减。单目正和单目负最先运算。
取模运算符(%)用于计算两个整数相除所得的余数。例如:
a=7%4;
最终a的结果是3,因为7%4的余数是3。
那么有人要问了,我要想求它们的商怎么办呢?
b=7/4;
这样b就是它们的商了,应该是1。
也许有人就不明白了,7/4应该是1.75,怎么会是1呢?这里需要说明的是,当两个整数相除时,所得到的结果仍然是整数,没有小数部分。要想也得到小数部分,可以这样写7.0/4或者7/4.0,也即把其中一个数变为非整数。
那么怎样由一个实数得到它的整数部分呢?这就需要用强制类型转换了。例如:
a=(int)(7.0/4);
逻辑运算符
逻辑运算符用于判断条件是否成立,并执行相应的操作。逻辑运算符有以下几种:
符号 功能
&& 逻辑与
|| 逻辑或
! 逻辑非
逻辑运算符的优先级高于赋值运算符和算术运算符。
关系运算符
关系运算符用于比较两个表达式的值是否相等或不相等。关系运算符有以下几种:
符号 功能
== 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
关系运算符的优先级高于赋值运算符和算术运算符。
位逻辑运算符
位逻辑运算符用于执行位运算,例如:
符号 功能
& 按位与
| 按位或
^ 按位异或
~ 按位非
位逻辑运算符的优先级高于赋值运算符和算术运算符。
位移运算符
位移运算符用于将一个数的二进制表示左移或右移一定的位数。例如:
符号 功能
<< 左移
>> 右移
自增自减运算符
自增自减运算符用于将一个变量的值自增或自减。例如:
符号 功能
++ 自增
-- 自减
这些运算符都是C语言中的基本组成部分,正确地使用它们是编写正确的程序的基础。
相关推荐




xu542001078
- 粉丝: 0
最新资源
- ISB开发设计文档:规范化软件开发参考资料
- 掌握Delphi:高效开发Windows应用的可视化编程教程
- Oracle 11g数据库全方位参考指南
- JavaScript与XML结合Flash技术在网页新闻和商品展示中的应用
- RS232转USB万能驱动:解决无串口笔记本数据传输难题
- Graphics32 1.5.1版安装及变更指南
- 书吧电子书制作V1.0:轻松制作JAR格式电子书
- 掌握Microsoft Make CAB工具的使用技巧
- 英文版CSS教程PPT:适合初学者的学习资源
- depends22: 探索C++函数深度的查看工具
- 初学者指南:幸运52游戏的VC++实现教程
- FlashUploadWeb图片上传下载功能的实现与优化
- 深入解析计算机硬件技术基础与电子教案
- C++实现HeadFirstDesignPatterns代码深度解析
- C++内存映射技术实现共享资源的编程方法
- C语言实现的DES算法与命令行演示工具
- 词法分析器与语法分析器全面解决方案
- C#多线程实践:BackGroundWorker控件应用示例
- GDF4.0培训中文版详解及文件架构
- ASP+ XML-MS SQL 可重用动态滚动条解决方案
- BatchUnRar: 自动识别分卷RAR文件的批量解压神器
- 应用程序与驱动程序事件同步机制研究
- VB课程设计:机票销售系统的实现与数据库管理
- JSTL实例源码深度解析与应用