‘壹’ c语言中,!(--x)什么意思
C语言运算符,括号里面(---x)表示x的值减去1,相当于“x”变为“x-1”,括号外面“!”表示取反(非0数变为0,0变为1)。
除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。
(1)c语言中运算括号怎么表示扩展阅读
C语言中++*x和*++x的区别
(1)“++“跟“*”的优先级一样,如果两个同时出现,运算顺序是从右往左(不是常规的从左往右)。即“++*x”即“++(*x)”,先取x的值,然后让值自加1。(地址没变,指针指向的值变了)。
(2)“*++x”即“*(++x)”,先让x的自加1,就是x的地址加上这个指针类型的步长(比如说这个指针是int类型,那它的地址+4,以此类推),然后再取x的值。(地址变了,但是值没变)
(3)另外的,int *x,“x”代表的是指针,指针即地址,*是取值符,*x就是取指针x里存的值。
‘贰’ C语言中>>和<<如何使用
C语言中<< 代表左移运算符,>> 代表右移运算符,位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。
<< 代表左移运算符:左移运算符用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。
例如:设无符号短整型变量a为0111(对应二进制数为0000000100010001),则:a<<3 结果为0888(对应二进制数为0000100010001000)。
>> 代表右移运算符:右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。
例如:var temp = 56 >> 2 变量temp的值为 14,因为56 (即二进制的 00111000)向右移两位等于14 (即二进制的 00001110) 。
(2)c语言中运算括号怎么表示扩展阅读:
相关运算规则:
1、在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。
2、移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。
3、位移位运算符的优先级:算术运算符优先于位移位运算符优先于关系运算符,位移位运算符是同级别的,结合性是自左向右。
‘叁’ c语言中关于函数后面的小括号
括号后面是写参数数的
int
max(int
x,int
y)代表这个max函数有2个参数
每个参数都是整型的,所以调用max函数用max(3,4)这样的就可以
用max(1.1,2.2)这样的数程序就会出错
如果不说明参数的类型将无法进行函数中的运算及表示
‘肆’ c语言中的括号表达式
括号表达式计算顺序是从左到右,然后整个表达式返回的是最右边表达式的值,如第一个表达式,先算最内层的括号表达式的最左边的值,再把其最右边的值返回并赋值给b,所以b在此次运算之后变为3,之后b+2=5(但5只是一个临时值,b值还是3),之后15+b=18,并且这个值由于是最右的表达式会作为整个大括号表达式的返回值,即b再一次被赋值为18,然后现计算b+=18得到36;
如此第二个就是-30吧,对了,赋值表达式是从右到左赋值的
‘伍’ c语言运算符号的表示方法
1
算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、
大于等于(>=)
、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。
8.指针运算符
用于取内容(*)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(→,.)等几种。
优先级1级
结合方向
左结合(自左至右)
(
)
圆括号
[
]下标运算符
->
指向结构体成员运算符
.
结构体成员运算符(请注意它是一个实心圆点)
优先级2级
结合方向
右结合(自右至左)单目运算符
!
逻辑非运算符
~
按位取反运算符
++
自增运算符
--
自减运算符
-负号运算符
(类型)
类型转换运算符
*
指针运算符
&
地址与运算符
sizeof
长度运算符
优先级3级
结合方向
左结合
双目运算符
*
乘法运算符
/
除法运算符
%
取余运算符
优先级4级
结合方向
左结合
双目运算符
+
加法运算符
-
减法运算符
优先级5级
结合方向
左结合
双目运算符
<<
左移运算符
>>
右移运算符
优先级6级
结合方向
左结合
双目运算符
<、<=、>、>=
关系运算符
优先级7级
结合方向
左结合
双目运算符
==
等于运算符
(判断)
!=
不等于运算符(判断)
优先级8级
结合方向
左结合
双目运算符
&
按位与运算符
优先级9级
结合方向
左结合
双目运算符
^
按位异或运算符
优先级10级
结合方向
左结合
双目运算符
|
按位或运算符
举例:0xfe|0xef
即为1111
1110
与1110
1111按位或运算则答案为:1111
1111
即0xff。
优先级11级
结合方向
左结合
双目运算符
&&
逻辑与运算符
优先级12级
结合方向
左结合
双目运算符
||
逻辑或运算符
优先级13级
结合方向
右结合
三目运算符
?
:
条件运算符
优先级14级
结合方向
右结合
双目运算符
=
赋值运算符
+
=
加后赋值运算符
如s+=1表示s=s+1
-
=
减后赋值运算符
如s-=1表示s=s-1
*
=
乘后赋值运算符
/
=
除后赋值运算符
%
=
取模后赋值运算符
<
<=
左移后赋值运算符
>>=右移后赋值运算符
&=
按位与后赋值运算符
^=按位异或后赋值运算符
|=
按位或后赋值运算符
优先级15级
结合方向
左结合
,
逗号运算符
‘陆’ c语言中,!(--x)什么意思
C语言运算符,括号里面(---x)表示x的值减去1,相当于“x”变为“x-1”,括号外面“!”表示取反(非0数变为0,0变为1)。
除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。
(6)c语言中运算括号怎么表示扩展阅读
优先级,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++的
接下来是算术运算符,*、/、%的优先级当然比+、-高了。
‘柒’ c语言中中括号什么意思[ ]
该中括号为数组标识。
int a[6];就是定义一个一维数组,这个数组名叫做 a ,共有6个元素;同理int b[6][6];就是定义一个二维数组,这个数组共有6*6个元素。
定义之后,就可以引用该数组的元素,但不能直接用 a[6] ,a此时包含的元素只有a[0],a[1],a[2],a[3],a[4],a[5]这6个。
C语言支持定义一系列相同连续的变量空间,其定义形式为type name[N];代表定义个数为N,每个元素类型均为type型的数组变量name。
在C中规定,数组元素的下标n是从0开始计数的,所以对于定义的a[100], 其合法的元素为a[0], a[1],.... , a[99]。
(7)c语言中运算括号怎么表示扩展阅读
标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字。
用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。
‘捌’ C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思请举例说明
1、C语言中的 >>= 意思为:右移后赋值
代码示例为:
x >>=3;
右移后结果为:
(8)c语言中运算括号怎么表示扩展阅读:
1、C语言运算符的优先级顺序
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
2、比特右移运算符的位移
比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
‘玖’ C语言中中括号用什么表示啊
你的意思可能是,比如数学里有个表达式:
{[(1+2)*2+3]+5}*5,那么()叫小括号、【】叫做中括号、{ }叫大括号,对吧?
C语言中是没有中括号这种说法,全部都只用()小括号表示,比如要把上面那个数学表达式表示成C语言的表达式时,只需把所有的中括号和大括号换成小括号:(( (1+2)*2+3 )+ 5 )*5. 程序执行的时候从最里面的小括号开始执行,一个个向外。