C语言运算符详解:赋值、算术、逻辑、位移等

需积分: 9 1 下载量 157 浏览量 更新于2024-09-18 1 收藏 29KB DOC 举报
"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语言中的基本组成部分,正确地使用它们是编写正确的程序的基础。