❶ c语言中都有哪些运算符
运算符的种类C语言的运算符可分为以下几类:
1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、
大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
❷ C语言中,有哪些算术运算符
C语言中算术运算符有以下这些
实例:
#include<stdio.h>
intmain()
{
inta=21;
intb=10;
intc;
c=a+b;
printf("Line 1 - c 的值是 %d ",c);
c=a-b;
printf("Line 2 - c 的值是 %d ",c);
c=a*b;
printf("Line 3 - c 的值是 %d ",c);
c=a/b;
printf("Line 4 - c 的值是 %d ",c);
c=a%b;
printf("Line 5 - c 的值是 %d ",c);
c=a++; // 赋值后再加 1 ,c 为 21,a 为 22
printf("Line 6 - c 的值是 %d ",c);
c=a--; // 赋值后再减 1 ,c 为 22 ,a 为 21
printf("Line 7 - c 的值是 %d ",c);
return0;
}
当上面的代码被编译和执行时,它会产生下列结果:
Line 1 - c 的值是 31
Line 2 - c 的值是 11
Line 3 - c 的值是 210
Line 4 - c 的值是 2
Line 5 - c 的值是 1
Line 6 - c 的值是 21
Line 7 - c 的值是 22
(2)c语言的算式运算符扩展阅读:
C语言中,除了算数运算符,还提供以下运算符:
1、关系运算符
2、逻辑运算符
3、位运算符
4、赋值运算符
5、杂项运算符
运算符优先级:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。
在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
运算符结合性:
C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。
最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。
具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操作。()是与函数相关,[]与数组相关,而->及.是取结构成员。
其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为的 真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。
❸ C语言中能进行数学运算的运算符包括哪些
C语言中能进行数学运算的运算符包括三类:
一、常规的数学运算,包括加(+),减(-),乘(*),除(/),和模除(%)。
形式为
a op b
结果为对应的数学运算结果。
其中模除%又称作取余,计算a除以b得到的余数,是唯一一个只能用来做整型计算的数学运算符。
二、自加(++)自减(--)运算:
自加和自减属于单目运算,使用后使变量自加1或者自减1.有前置自加自减和后置自加自减区别。形式为
++a, a++, --a, a--,
四种。
三、带赋值的运算,即在一中提到的物种运算符加上=,组合成复合运算符+=, -=, *=, /=和%=.
对于这类运算符,形式为
a op b
表示a=a op的前一个符号 b。
比如
a+=b
等效于
a=a+b
这是一类特殊的数学运算操作符。
❹ C语言中算术运算符%,++,— —,都是什么意思能举例子说明吗
C语言中,算术运算符“%”代表模(取余)运算,“++”代表变量自增运算,“--”代表变量自减运算。
1、模运算“%”
“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。
C语言用“%”代表模运算,例如7%2=1、8%5=3等。
2、自增运算“++”
C语言用“++”代表自增运算,分为前缀自增和后缀自增,其效果均为自身变量值+1。前缀自增例如“a=5;b=++a;”,则运行结果是“a=6,b=6”。后缀自增例如“a=5;b=a++;”,则运行结果是“a=6,b=5”。
3、自减运算“--”
C语言用“--”代表自减运算,分为前缀自减和后缀自减,其效果均为自身变量值-1。前缀自减例如“a=5;b=--a;”,则运行结果是“a=4,b=4”。后缀自减例如“a=5;b=a--;”,则运行结果是“a=4,b=5”。
(4)c语言的算式运算符扩展阅读:
C语言常用运算符:
+:加法
-:减法
<<:位左移
>>:位右移
<:小于
<=:小于等于
>:大于
>=:大于等于
+=:加赋值运算
-=:减赋值运算
*=:乘赋值运算
/=:除赋值运算
%=:模赋值运算
❺ c语言的算术运算符有哪些 各自的功能又是什么
算术运算符:+(加),-(减),*(乘),/(除),%(取余,操作数必须都是整数)。。
赋值运算符:=(右值赋值给左值,左值必须是变量)。。
逻辑运算符:||(或),&&(与),!(非),^(或非)。。
位运算符:|(位或),&(位与),!(位非),>>(右移),<<(左移)。。
条件运算符:?:(如,
a>b?a:b,如果a>b,则值为a,反之值为b)。。
C语言中的运算符大概就这些,具体的用法你可以参考一下书本。
❻ C语言34种运算符
34种运算符:
01、圆括号()
02、下标[]
03、指针型结构成员->
04、结构成员.
05、逻辑非!
06、位非~
07、自增++
08、自减--
09、取负-
10、类型转换(类型)
11、取内容*
12、取地址&
13、求字节sizeof
14、乘*
15、除/
16、求余%
17、加+
18、减-
19、左移<<
20、右移>>
21、小于<
22、小于等于<=
23、大于>
24、大于等于>=
25、等于==
26、不等于!=
27、位与&
28、位异或^
29、位或|
30、&&与
31、或||
32、条件运算?:
33、赋值运算=
34、逗号运算,
(6)c语言的算式运算符扩展阅读
9种控制语句
1、if()~else条件语句
2、for()~循环语句
3、while()~循环语句
4、do~while()循环语句
5、continue结束本次循环语句
6、break中止执行switch或循环语句
7、switch多分支选择语句
8、goto转向语句
9、return从函数返回语句
❼ c语言中有哪些运算符,各有什么功能
加法运算符
1、移位运算符
2、 关系运算符
3、相等运算符
4、 位与运算符
5、位异或运算符
6、 位或运算符
7、 逻辑与运算符
8、 逻辑或运算符
9、 三元条件运算符
10、 赋值运算符
12、逗号运算符
13、优先级
❽ C语言中的运算符
简单赋值运算符记为“=”,由“= ”连接的式子称为赋值表达式。欢迎大家阅读!更多相关信息请关注相关栏目!
无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。(具体什么是表达式下一节再说)
C语言中的运算符
无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。(具体什么是表达式下一节再说)
一、赋值运算符
赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。
注意:赋值语句左边的变量在程序的其他地方必须要声明。
得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她它们出现在赋值语句的右边。常数只能作为右值。
例如:
count=5;
total1=total2=0;
第一个赋值语句大家都能理解。
第二个赋值语句的意思是把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);
因为7.0/4的值为1.75,如果在前面加上(int)就表示把结果强制转换成整型,这就得到了1。那么思考一下a=(float)
(7/4);最终a的结果是多少?
单目减运算符相当于取相反值,若是正值就变为负值,若是负数就变为正值。
单目加运算符没有意义,纯粹是和单目减构成一对用的。
三、逻辑运算符
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。
符号
功能
&&
逻辑与
逻辑或
逻辑非
例如:
5!3;
0||-2&&5;
!4;
当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。
四、关系运算符
关系运算符是对两个表达式进行比较,返回一个真/假值。
符号
功能
>
大于
<
小于
>=
大于等于
<=
小于等于
等于
不等于
这些运算符大家都能明白,主要问题就是等于==和赋值=的区别了。
一些刚开始学习C语言的人总是对这两个运算符弄不明白,经常在一些简单问题上出错,自己检查时还找不出来。看下面的代码:
if(Amount=123)
很多新人都理解为如果Amount等于123,就怎么样。其实这行代码的意思是先赋值Amount=123,然后判断这个表达式是不是真值,因为结果为123,是真值,那么就做后面的。如果想让当Amount等于123才运行时,应该if(Amount==123)
……