「C基础」C运算符的优先级

一、运算符的优先级表

C 语言的符号众多,由这些符号又组合成了各种各样的运算符。既然是运算符就一定有其特定的优先级,下表就是C 语言运算符的优先级表:

注:同一优先级的运算符,运算次序由结合方向所决定。 

上表不容易记住。其实也用不着死记,用得多,看得多自然就记得了。也有人说不用记这些东西,只要记住乘除法的优先级比加减法高就行了,别的地方一律加上括号。这在你自己写代码的时候,确实可以,但如果是你去阅读和理解别人的代码呢?别人不一定都加上括号了吧?所以,记住这个表,我个人认为还是很有必要的。

二、一些容易出错的优先级问题

上表中,优先级同为1 的几种运算符如果同时出现,那怎么确定表达式的优先级呢?这是很多初学者迷糊的地方。下表就整理了这些容易出错的情况:

这些容易出错的情况,希望读者好好在编译器上调试调试,这样印象会深一些。一定要多调试,光靠看代码,水平是很难提上来的。调试代码才是最长水平的。

时间: 2024-11-13 06:00:52

「C基础」C运算符的优先级的相关文章

「数论基础」欧拉定理(费马小定理)

在阅读本篇之前,如果还不熟悉欧拉函数,可以参见另一篇介绍欧拉函数的「数论基础」欧拉函数. 定义:对于互质的两个正整数$a, n$,满足$a^{φ(n)} ≡ 1\  (mod\ n)$ 证明: 设集合$S$包含所有$n$以内与$n$互质的数,共有$φ(n)$个:     $S = \{ x_1, x_2, ..., x_{φ(n)} \} $ 再设集合$T$: $T = \{ a * x_1 \% n, a * x_2 \% n, ..., a * x_{φ(n)} \% n \} $ 由于$

python基础语法(运算符及优先级)

python基础语法(运算符及优先级) python语言支持的运算符类型 算数运算符 假设变量a为10,变量b为21 算数符 描述 实例 + 加-两个对象相加 a+b结果31 - 减-得到一个负数或者一个数减去另一个数 a-b结果-11 * 乘-两个数相乘或返回一个被重复若干次的字符串 a*b结果210 / 除-X除以Y b/a结果为2.1 % 取模-返回除法的余数 b%a结果为1 ** 幂-返回X的Y次幂 a**b结果为10的21次方 // 取整数-返回商的整数部分 b//a结果为2  比较(

12、SQL基础整理(运算符与优先级)

运算符 + - * / %(取余),赋值运算符 = declare @jia int set @jia = 1+1 print @jia declare @jia int set @jia = 10%3 print @jia 比较运算符> ,<, >=, <=,<>(不等于),!=, !<, !>   ?逻辑运算符and, or, all(条件全部满足), any(任何一个条件满足), between(范围), in(任何一个条件满足), like, not

「数论基础」 乘法逆元

定义:若$ab ≡ 1\ (mod\ p)$,则称$b$是$mod\ p$意义下$a$的乘法逆元 可以将逆元记作$inv$,则$a * inv ≡ 1\ (mod\ p)$ 其实定义反过来也是成立的,即$a$是$mod\ p$意义下$b$的乘法逆元 乘法逆元的意义: 模运算中的除法是不符合四则运算法则的,然而加减乘都符合.所以数学家们利用乘法逆元来完成除法的需求. 完成除法的工作——经典应用:求解$a / b \% p\  (b | a)$ 方法: 设$a / b \% p = r$ 则$a /

「ZigBee模块」协议栈-Z-Stack协议栈基础和数据传输实验

花了好久写的...感觉还不错的呢...如果看,请细看...Mua~ Z-Stack协议栈基础和数据传输实验 一.实验目的 终端节点将数据无线发送到协调器,协调器通过串口将数据发送到PC端,并在屏幕上显示出来.串口优化把有线串口传输改为无线蓝牙传输. 二.实验平台 硬件:2个zigbee节点,1个编译器,1根方口转USB数据线,一个蓝牙模块 软件:实验基于SampleApp工程进行. 三.实验步骤 串口初始化代码 发送部分代码 接收部分代码 四.协议栈基础 做实验之前先了解一点关于协议栈的基础知识

「一」创建一个带 ssh 服务的基础镜像(修订版)--使用「docker commit」创建

在介绍如何创建带 ssh 服务的基础镜像之前,我们想回顾一下之前介绍过的内容,其中提到有三种创建镜像的常用办法: 从文件系统导入 从现有容器使用「docker commit」提交 使用 dockerfile 文件 build 本章将主要介绍后面 2 种方法. 步骤如下: $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. [email protected]:/# sshd bash: sshd: co

微信小程序开发基础(一)「配置」与「逻辑层」

微信小程序作为微信生态重要的一环,在实际生活.工作.商业中的应用越来越广泛.想学习微信小程序开发的朋友也越来越多,本文将在小程序框架的基础上就微信小程序项目开发所必需的基础知识及语法特点进行了详细总结和阐述,包括配置.函数.语法.事件及其处理.数据绑定.模块.样式等.想开发小程序,这些内容是必须掌握的. 全文知识结构预览: 一.程序配置: 1.全局配置:2.页面配置 二.逻辑层: 1.程序注册:App()方法:2.页面注册:Page()方法:3.模块与调用:4.微信原生API 三.视图层(将在单

「HTML+CSS」css基础属性

当权重相等,后来先到覆盖 颜色 div{ border:100px solid black; width: 0px; height: 0px; border-left-color: blue; border-left-color: transparent; border-top-color: transparent; border-bottom-color: transparent; } 「HTML+CSS」css基础属性 原文地址:https://www.cnblogs.com/apelles

java基础----&gt;运算符及其优先级

一.运算符 1)'/'  除法运算符 a) 如果是两个整数相除,只取整数商,如7/2=3 b) 如果是和浮点数相除,则取浮点数为商,如7/2F=3.5 2)自增,自减运算符"++""--" a) 使用自增或自减运算符的操作数必须是整数或者浮点数,char以及 boolean型的数不可以使用"++""--" 3)比较运算符,注意这些运算符的操作数的可取类型 4)逻辑运算符&&.&.|| .! a) 这些逻