c语言定义运算符
❶ c语言中有哪些运算符,各有什么功能
加法运算符
1、移位运算符
2、 关系运算符
3、相等运算符
4、 位与运算符
5、位异或运算符
6、 位或运算符
7、 逻辑与运算符
8、 逻辑或运算符
9、 三元条件运算符
10、 赋值运算符
12、逗号运算符
13、优先级
❷ c语言中运算符有哪几种,优先级顺序是怎样
C语言中,运算符除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符。
运算符的运算优先级共分为15 级,1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
一级运算符:标识,常量,字符串文字量,优先级提升表达式最优先执行。
二级运算符:数组下标运算(expression)、函数调用(argument-expression-list)、成员访问(identifier、-> identifier)、后缀自增(i++)、后缀自减(i--)、复合初始化(initializer-list)。
三级运算符:前缀自增(++i)、前缀自减(--i)、单目转型表式式(取地址& ,提领 * , 正号+ ,负号-、位反~ 逻辑否!)、求类型长度(sizeof unary-expression)。
四级运算符:强制表达式成为type-name指定的类型( type-name ) cast-expression。
五级运算符:“ * ” 乘法运算符。
六级运算符:“ + ”加法运算符。
七级运算符:<< 左移运算符;>> 右移运算符。
八级运算符:<、<=、>、>=关系运算符。
九级运算符:“ == ”等于运算符;“ != ”不等于运算符。
十级运算符:“ & ”按位与运算符。
十一级运算符:“ ∧ ”按位异或运算符。
十二级运算符:“ | ”按位或运算符。
十三级运算符:“&&”逻辑与运算符。
十四级运算符:“ || ”逻辑或运算符。
十五级运算符:? :条件运算符。
(2)c语言定义运算符扩展阅读
C语言中各运算符的结合性:
1、左结合性(自左至右):
例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。
2、右结合性(自右至左)
自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
❸ c语言 可以定义一个运算符吗
当然不可以了,就好比,加减乘除。
但是通常为了实现自己的设计需求,可以将这些基础的运算符,使用上,然后定义某个函数或方法或宏后,来实现自己的运算需求。
比如,要求圆形的周长,周长公式都知道是直径乘以π,这里以最简单的宏来表示任意圆形周长就是:#define RoundLenth(num) num*π
那么在实际使用中,你可以直接拿RoundLenth(num)来使用。
这里表达式似乎有些多此一举,但是就是为了用简单的例子,来表明,如何实现自己的运算需求!而不是自己去创造一个运算符号!
❹ 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、逗号运算,
(4)c语言定义运算符扩展阅读
9种控制语句
1、if()~else条件语句
2、for()~循环语句
3、while()~循环语句
4、do~while()循环语句
5、continue结束本次循环语句
6、break中止执行switch或循环语句
7、switch多分支选择语句
8、goto转向语句
9、return从函数返回语句
❺ 在C语言中的运算符有哪些类型
无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。
运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。
❻ 在C语言中,运算符 是什么意思是怎么用的
运算符就是执行运算的符号。
和数学里面的加减乘除类似用法。
比如A+B 这里的+ 就是运算符。
分为单目 双目 三目三种。
❼ C语言中都有哪些运算符
运算符的种类C语言的运算符可分为以下几类:
1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、
大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
❽ 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)
……
❾ C语言如何定义新的运算符号
貌似不可能实现,#define,类重载运算符都不行
testclass testclass::operator=(testclass b)
{
testclass temp(0);
temp.xx=(this->xx+b.xx)*(this->xx-b.xx);
return temp;
}//这是类重载运算符用法,注意只能重装原有运算符
#define DEF(x,y) (x-y)*(x+y)
//这是#define用法,注意形式类似函数