C语言 算术运算符
发布网友
发布时间:2022-04-28 11:59
我来回答
共6个回答
热心网友
时间:2022-04-13 04:24
算术运算符 TAG:运算符,数据类型 TEXT:算术运算符对数值进行算术运算,其中:加、减、乘、除、求余运算是双目运算。其结果可以是整数、单精度实数和双精度实数。自增、自减运算是单目运算,其操作对象只能使整型变量,不能是常量或表达式等其他形式。 REF: .TXT,+运算符.txt,-运算符.txt,*运算符.txt,/运算符.txt,%运算符,++运算符,-- 运算符 加+ TAG:算术运算符,运算符,数据类型 TEXT:双目运算符,算数加法。单目运算符,表示正数。 REF: .TXT,算数运算符.txt减- TAG:算术运算符,运算符,数据类型 TEXT:双目运算符,算数减法。单目运算符,表示负数。 REF: .TXT,算数运算符.txt乘* TAG:算术运算符,运算符,数据类型 TEXT:*,双目运算符,算数乘法。 REF: .TXT,算数运算符.txt除/ TAG:算术运算符,运算符,数据类型 TEXT:/,双目运算符,算数除法;如果两个参与运算的数是整数,表示整除,舍去小数部分。如5.0/2等于2.5,而5/2等于2。 REF: .TXT,算数运算符.txt取余% TAG:算术运算符,运算符,数据类型 TEXT:/,双目运算符,算数除法;如果两个参与运算的数是整数,表示整除,舍去小数部分。如5.0/2等于2.5,而5/2等于2。 REF: .TXT,算数运算符.txt自加++ TAG:算术运算符,运算符,数据类型 TEXT:单目运算符,针对整数运算,可以放在运算数的两侧,表示运算数增1。 REF: .TXT,算数运算符.txt自减-- TAG:算术运算符,运算符,数据类型 TEXT:单目运算符,针对整数运算,可以放在运算数的两侧,表示运算数减1。 REF: .TXT,算数运算符.txt关系运算符 TAG:算数运算符,运算符,数据类型 TEXT:关系运算符用于对两个操作数的比较,包括:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!= (非等于)、==(等于)。 关系表达式是由关系运算符(>,<,>=,<=,!=,==)连接起来的表达式构成,关系运算符中的“关系”二字的含义是指一个数据与另一个数据之间的关系,这种关系只有成立与不成立两种可能情况,在C语言中用逻辑值来表示,逻辑上的真与假时用数字“1”与“0”来表示的。关系成立时表达式的结果为真(1),否则表达式的结果为假(0)。
REF: .TXT,>运算符.txt,>=运算符.txt,<运算符.txt,<=运算符.txt,==运算符,!=运算符 大于> TAG:关系运算符,运算符,数据类型 TEXT:>运算符,例如a>b,如果a的值大于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt小于< TAG:关系运算符,运算符,数据类型 TEXT:>运算符,例如a>b,如果a的值大于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt等于== TAG:关系运算符,运算符,数据类型 TEXT:>运算符,例如a>b,如果a的值大于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt大于等于>= TAG:关系运算符,运算符,数据类型 TEXT:>运算符,例如a>b,如果a的值大于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt小于等于<= TAG:关系运算符,运算符,数据类型 TEXT:>运算符,例如a>b,如果a的值大于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt不等于!= TAG:关系运算符,运算符,数据类型 TEXT:!=运算符,例如a==b,如果a的值不等于b,返回数值1(逻辑真),否则返回数值0(逻辑假)。 REF: .TXT,关系运算符.txt逻辑运算符 TAG:运算符,数据类型 TEXT:逻辑运算符进行逻辑运算。优先级:!运算级别最高、&&运算与||运算同级。!运算的优先级高于算术运算符,而&&和||运算则低于关系运算符。 结合方向:逻辑非(单目运算符)具有右结合性;逻辑与和逻辑或(双目运算符)具有左结合性。 REF: .TXT,&&运算符.txt,||运算符.txt,!运算符.txt 逻辑非 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:!逻辑与运算符,单目运算符,右结合,如果参与运算的数据为真,返回假;参与运算的数据为假则返回真。在C语言中没有逻辑类型,如果数字的值不为0,就认为它的逻辑值为真,反之为假。 REF: .TXT,逻辑运算符.txt逻辑与 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:&&逻辑与运算符,只有当运算符两侧的数据都为真时,结果为真,否则结果为假。在C语言中没有逻辑类型,如果数字的值不为0,就认为它的逻辑值为真,反之为假。 REF: .TXT,逻辑运算符.txt逻辑或 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:||逻辑与运算符,只有当运算符两侧的数据都为假时,结果为假,否则结果为真。在C语言中没有逻辑类型,如果数字的值不为0,就认为它的逻辑值为真,反之为假。 REF: .TXT,逻辑运算符.txt赋值运算符 TAG:运算符,数据类型 TEXT:赋值表达式是由赋值运算符(=)连接表达式(右侧)和变量(左侧)。既将赋值运算符右侧的表达式的结果值赋予赋值运算符左侧的变量,表达式可以是常量、变量、表达式和另外一个赋值表达式。
REF: .TXT,基本赋值运算符 复合赋值运算符 条件运算符 TAG:运算符,数据类型 TEXT:条件运算符是C语言中唯一的一个三目运算符,它要求有三个运算对象,每个运算对象的类型可以是任意类型的表达式(包括任意类型的常量、变量和返回值为任意类型的函数调用)。 一般形式: <表达式1>?<表达式2>:<表达式3> 计算过程是:计算<表达式1>的值,如果为真(非0),则计算<表达式2>的值,并将<表达式2>的值作为整个条件表达式的结果值;如果为假(0),则计算<表达式3>的值,并将<表达式3>的值作为整个条件表达式的结果值。就是说,根据条件的真/假,只能选择一个表达式的结果作为整个表达式的结果。 优先级:高于赋值运算符,低于逻辑关系运算符。例如a>b?x=3,x=5;如果a>b则x的值为3,反之为5。 REF: .TXT,逗号运算符 TAG:运算符,数据类型 TEXT:逗号表达式是由逗号运算符(,)与两个以上的表达式连接而成。其结果是最后一个表达式的结果值。逗号表达式可以是任何类型。 一般形式: <表达式1>,<表达式2>,贩<表达式n> 计算过程:依次计算<表达式1>的值,<表达式2>的值,…,<表达式n>的值,最后将<表达式n>的值作为整个表达式的结果值。因此逗号表达式又称为“顺序求值运算”。 优先级:所有运算符中级别最低。 结合方向:自左向右(左结合性) 例如:int a=2,c; float b=5.2; c=a,2*a,2*b的结果为10.4(最后一个表达式的值),因为逗号表达式的求值顺序是:先计算c=a,将a的值赋给c(c=2),其此计算2*a的值(为4),最后计算2*b的值(为10.4)。当整个表达式计算结束后,c的值为2,整个表达式的值为10.4。 REF: .TXT,bsizeof运算符 TAG:运算符,数据类型 TEXT:sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。
REF: .TXT,类型转换 隐式转换 显式转换 位运算符 TAG:运算符,数据类型 TEXT:在C语言中,位运算符是为了描述系统而设计的位运算,它的设计目标是为了取代汇编语言。位运算是对字节或字中的位(bit)进行测试或移位处理。运算符是对c语言中的字符型(char)或整型(int)数据的操作,而不能用于其他类型。例如:float、double等。位运算符分为位逻辑运算符和移位运算符。
REF: .TXT,&运算符.txt,|运算符.txt,运算符.txt,^运算符.txt
位逻辑与 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:&逻辑与运算符,按位与。如2的二进制数是0010,7的二进制数是0111 2&7的值为2(0010)。 REF: .TXT,逻辑运算符.txt位逻辑或 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:|逻辑与运算符,按位或。如2的二进制数是0010,7的二进制数是0111 2|7的值为7(0111)。 REF: .TXT,逻辑运算符.txt位逻辑反 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:逻辑与运算符,单目运算符,右结合,对运算数按位取反。 REF: .TXT,逻辑运算符.txt位逻辑异或 TAG:逻辑运算符,算数运算符,运算符,数据类型 TEXT:^逻辑与运算符,按位异或(位相异则或,否则为0)。如2的二进制数是0010,7的二进制数是0111 2^7的值为5(0101)。 REF: .TXT,逻辑运算符.txt
热心网友
时间:2022-04-13 05:42
C语言运算符分类 1级优先级(左结合) () 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。 2级优先级(右结合) !逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀增量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址与运算符;sizeof长度运算符。 3级优先级(左结合) *乘法运算符;/除法运算符;%取余运算符。 4级优先级(左结合) +加法运算符;-减法运算符。 5级优先级(左结合) <<左移运算符;>>右移运算符。 6级优先级(左结合) <、<=、>、>=关系运算符。 7级优先级(左结合) ==等于运算符;!=不等于运算符。 8级优先级(左结合) &按位与运算符。 9级优先级(左结合) ^按位异或运算符。 10级优先级(左结合) |按位或运算符。 11级优先级(左结合) &&逻辑与运算符。 12级优先级(左结合) ||逻辑或运算符。 13级优先级(右结合) ? :条件运算符。 14级优先级(右结合) =、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。 15级优先级(左结合) ,逗号运算符。 运算符优先级 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。 所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。 具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操作。()是与函数相关,[]与数组相关,而->及.是取结构成员。 其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为的 真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。 另外在C语言里 没有前置后置之分 因为++ -- 是右结合所以 右侧优先运算 表现为 "后置优先级比较高" 的假象 前置和后置的区分是因为运算符重载而后加入C++的 接下来是算术运算符,*、/、%的优先级当然比+、-高了。 移位运算符紧随其后。 其次的关系运算符中,< <= > >=要比 == !=高一个级别,不大好理解。 所有的逻辑操作符都具有不同的优先级(单目运算符出外,!和~) 逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。 跟在其后的&&比||高。 接下来的是条件运算符,赋值运算符及逗号运算符。 在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。 &&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位0,则右边表达式b就不再判断。 在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。 赋值表达式则规定先对右边的表达式求值,因此使 a = b = c = 6;成为可能。
热心网友
时间:2022-04-13 07:16
共44个运算符:初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员
单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度
算术,5个: * / % + -减
位移,2个: << >>
关系,6个: < <= > >= == 等于 != 不等于
位逻,3个: & 按位与 ^ 按位异或 | 按位或 逻辑,2个: && 逻辑与 || 逻辑或
条件,1个, 三目: ? :
赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=
逗号,1个: ,
热心网友
时间:2022-04-13 09:08
从算数的优先级说起y
=
7y/3的整数部分为2
x+z
=
7.2,整数部分为2y/3*(int)(x+z)
=
14y/3*(int)(x+z)/2
=
77%4
的值为3所以(int)(y/3*(int)(x+z)/2)%4的值为3x是float类型的,值为2.500000因此整型的3要化为3.0000000然后与x相加最后值为5.500000
热心网友
时间:2022-04-13 11:16
你是用的%f输出的吧?
默认的是保留6位小数
你想输出一位小数就用
.1%f
(主要是:点1%f)
热心网友
时间:2022-04-13 13:40
=这个是赋值 还有 &这个是and的意思 @这个是at的意思[望楼主采纳]