C 运算符 C 语言基础----详解C中的运算符
qq_繁星_134000556 人气:0C语言中又有哪些运算符呢?
如下所示:
※ 算术运算符
※ 赋值运算符
※ 关系运算符
※ 逻辑运算符
※ 三目运算符
C语言基本算术运算符如下表:
除法运算中注意:
如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如果两数中有一个为小数,结果则为小数。
取余运算中注意:
该运算只适合用两个整数进行取余运算
运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。
注:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。
赋值运算符
下表列出了 C 语言支持的赋值运算符:
运算符 描述 实例
= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C = A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A
<<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2
>>= 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
|= 按位或且赋值运算符 C |= 2 等同于 C = C | 2
自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。自增自减运算符有以下几种形式:
#include<stdio.h> int main() { int a = 100; printf("%d\n",a++); /*a++意味着先将a的值也就是100给到printf,然后a自加1,于是a的值变成了101,这个101就成了下一行代码a的初始值了。*/ printf("%d\n",++a); /*++a意思是先将a的值加1(这行代码的a的初始值来自上一行的结果,所以a是101,自加1后就变成了102),将102这个值给到printf,所以第二行的结果输出是102.*/ printf("%d\n",--a); /*--a意思是先将a的值减1(这行代码a的初始值是102,减1后变成101),将101这个值给到输出。*/ printf("%d\n",a--); /*a--意思是将a这个值(即101)给到输出,然后将101自减1,得100.*/ printf("%d\n",a+1); //a的初始值100(来自上一行的结果),进行四则运算,+1得101.这里要注意!注意!进行四则运算并不改变a的值,也就是说下一行代码的a的初始值仍然是100,而非101. printf("%d\n",a);//这里不用解释 return 0; }
C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。
分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a
C语言中的关系运算符:
C语言中的逻辑运算符:
7<x<100写成计算机可以看的懂的算式就是:x>7 && x<100;
逻辑运算的值也是有两种分别为“真”和“假”,C语言中用整型的1和0来表示。其求值规则如下:
(1)与运算(&&)
参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;
(2) 或运算(||)
参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;
(3) 非运算(!)
参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。
C语言中的三目运算符:“?:”,其格式为:
表达式1 ? 表达式2 : 表达式3;
执行过程是:先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
各种运算符号的顺序:
加载全部内容