首页 > 编程知识 正文

c语言逻辑运算符优先级顺序,c语言算术运算符优先级

时间:2023-05-05 09:46:44 阅读:151531 作者:2429

3358 www.Sina.com % 2f % 20 % 0a % 20 % E7 % AE % 80 % E4 % bb % 8b % 20 % E7 % AE % 97 % E6 % 9c % af % E8 % BF % 90 % 200 0 % 25 % 20 % 97 % E7 % AC % a6 % 0a % 20 % E5 % 85 % B6 % E4 % bb % 96 % E8 % BF % 90 % E7 % AE % 97 % E7 % AC % a6 % 0a % 20 94 % A8 % E4 % ba % 88 % 25 % 206 % 95 % B0 % E5 % ad % a6 % E6 % 88 % 96 % e9 % 80 % bb % E8 % be % 91 % E8 % BF % 90 % E7 % BF % 90 % E7 % AE % 97 % E7 % AC % a6 % E5 % 88 % 25 % 207 % E7 % AC % a6 % E4 % BD % 8d % E8 % BF % 90 % E7 % AE % a6 % E8 % af % E8 % BF % 90 % E7 % AE % 97 % E7 % AC % 25 % 208 a % E4 % b8 % ba10 % ef % BC % 8cb % E4 % b8 % ba20 % ef % BC % 89 % 20 % 20 % a % E7 % 9b % E4 % B9 % 98a % 20a % 20b % 20 % 204 % BF % 9d % E7 % 95 % 99 % E6 % 95 % B4 % E6 % 95 % B0 % B0 % ef % BC % 89b % 89d % 20b % E7 % 89d % E7 % BD % 99b % 20 % 20a % 20 % E8 % be5 % 87 % ba % 20 % E7 % bb % 93 % E6 % 9e % 9c % 2011 % ef % BC % 8c % E6 % B2 % a1 % E6 % 89 % 6 % 9c % E5 % 89 % 89d-% ef % BC % 2020 % 27 world % 27 % 20 % E7 % bb % 93 % E6 % 9e % 9c % E4 % b8 % ba % 27 hello world % 27 E5 % B0 % 8f % E6 % B0 % ef % BC % 8c 10.0 % 20f % BC % 8c % E4 % b8 % 8d % E8 % 83 % BD % E8 % b5 % 8b % E5 % 80 % BC % E7 % BC 20b % 29 fmt.print ln % 28 % 27a-b : % 27 % 2ca-b % 29 fmt.PPT % 2060 % 27 % 2cb % 2fa % 29 fmt.print ln % 28 % 27b % 27 4 % 28a % 29 % 2f 10: % 27 % 2c float 64 % 28a % 29 %2F4 % 29 % 20 % 0a % 20 % E5 % 85 % B3 % E7 % B3 % 2f % 20b % 2f % E6 % 29. ba20 % ef % BC % 89 % 3d % 3d % E6 % a3 % 80 % E6 % 9f % a5 % E4 % b8 % b8 % aa % E5 % 80 % BC % E6 % 98 % af % 25 % 20bf % 94 % 280 % 20b8% aa % E5 % 80 % BC % E6 % 98 % af % E5 % 90 % a6 % E4 % b8 % E7 % 9b % E7 % ad % 89 % ef % BC % 8c % E5 % a6 % 86 % a6 % a6 % a6 % a6 % 88 20 true % 25 % 20 % E4 % ba % 8e5% 8f % B3 % E8 % be9 % E5 % 80 % BC % ef % BC % 8c % E5 % a6 % 82 % E6 % 9c % E6 % 98 % af % 25 % 20 a6 % 82 % E6 % 9e % 9c % E6 % 98 % af % E8 % BF % 94 % E5 % 9b % 9e 20 true % E5 % a6 % E5 % 88 % BF % 94 % E5 % 205 % E5 % 94 % E5 % 9b % 9e % 20 true % E5 % 90 % a6 % E5 % 88 % 99 % E8 % BF % 94 % E5 % 9b % 9e % 20 false % E3 % 80 % 82 % 282 a % 20 % 20 0 % a6 % E5 % 88 % 99 % E8 % BF % 94 % E5 % 9b % 9e % 20 false % E3 % 80 % 28a % 20 % 3d % 20b % 29 % 20 % E4 % b8 % ba % 20 %

e,否则为 false。(A || B) 为 true!逻辑非运算符。 如果条件为 true,则逻辑 NOT 条件 false,否则为 true。!(A && B)

注意:对于&&运算符,左边的为false,右边的就不运行。对于||运算符,左边的为true,右边的就不运行。这是一种短路现象

代码

C := true D := falsefmt.Println("C&&D:",C&&D)fmt.Println("C||D:",C||D)fmt.Println("!(C&&D):",!(C&&D))

位运算符 运算符描述实例(A为60,B为13)&按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。(A & B) 结果为 12, 二进制为 0000 1100|按位或运算符"|"是双目运算符。 其功能是参与运算的两数各对应的二进位相或(A | B) 结果为 61, 二进制为 0011 1101^按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。(A ^ B) 结果为 49, 二进制为 0011 0001<<左移运算符"<<"是双目运算符。左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。A << 2 结果为 240 ,二进制为 1111 0000>>右移运算符">>"是双目运算符。右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数,低位丢弃,高位补符号位。A >> 2 结果为 15 ,二进制为 0000 1111

代码

A,B = 60,13fmt.Println("A&B:",A&B)fmt.Println("A|B:",A|B)fmt.Println("A^B:",A^B)fmt.Println("A<<2:",A<<2)fmt.Println("A>>2:",A>>2)

赋值运算符 赋值运算符 运算符描述实例=简单的赋值运算符,将一个表达式的值赋给一个左值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

代码

var E intE = A+Bfmt.Println("E:",E)E += Afmt.Println("E += A:",E)E -= Afmt.Println("E -= A:",E)E *= Afmt.Println("E *= A:",E)E /= Afmt.Println("E /= A:",E)E %= Afmt.Println("E %= A:",E)E <<= 2fmt.Println("E <<= 2:",E)E >>= 2fmt.Println("E >>= 2:",E)E &= 2fmt.Println("E &= 2:",E)E ^= 2fmt.Println("E ^= 2:",E)E |= 2fmt.Println("E |= 2:",E)

其他运算符

 

其他运算符 运算符描述实例&返回变量存储地址&a; 将给出变量a的实际地址。*指针变量*a; 是一个指针变量,得到a的值

代码

ptr := &Efmt.Println("&E *(&E):",ptr,*ptr)

 

运算符优先级 运算符优先级 优先级(值大,优先级高)运算符6(),++,--5*, /, %, <<, >>, &4+,-, |, ^3==, !=, <, <=, >, >=2&&1||

博主喜欢加括号,懒得背...

思考题

以下程序会输出什么?

package mainimport "fmt"func output() int {fmt.Println("你好")return 1}func main() {a := 3if a < 2 && output() == 2{fmt.Println(a)}if a < 2 || output() == 1{fmt.Println(a)}}

更多Go相关内容:Go-Golang学习总结笔记

有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。