砺心书剑 發表於 2025-4-12 08:42:00

C语言-运算符(2)

<h1 id="关系运算符">关系运算符</h1>
<p>C语言有六种关系运算符,&lt;、&lt;=、&gt;、&gt;=、= =、!=。这六种运算符都是双目运算符都遵循左结合性。&lt;、&lt;=、&gt;、&gt;=这四个关系运算符的优先级相同,并且高于= =、!=,这两个关系运算符的优先级相同。</p>
<h1 id="逻辑运算符">逻辑运算符</h1>
<h2 id="逻辑运算符与-">逻辑运算符与 &amp;&amp;</h2>
<p>逻辑运算符&amp;&amp;,只要两个操作对象有一个为假,则表达式为假;<mark>非零即真的特性</mark><br>
<mark>潜规则</mark>:如果第一个操作对象为假,则不会判断第二个表达式,表达式直接为假。</p>
<h2 id="逻辑运算符或-">逻辑运算符或 ||</h2>
<p>逻辑运算符||,只要两个操作对象中有一个为真,则表达式为真;<mark>非零即真的特性</mark><br>
<mark>潜规则</mark>:如果第一个操作对象为真,则不会判断第二个表达式,则表达式直接为真。</p>
<h2 id="逻辑运算符非-">逻辑运算符非 !</h2>
<p>逻辑运算符非属于一元运算符,只有一个操作对象,遵循右结合性,把操作对象的逻辑取反(真变假,假变真)</p>
<h2 id="条件运算符--逻辑表达式1--表达式2-表达式3">条件运算符逻辑表达式1 ? 表达式2 :表达式3</h2>
<p>条件运算符是唯一一个三目运算符,当逻辑表达式1为真时,指向表达式2,;否则执行表达式2。</p>
<h1 id="赋值运算符">赋值运算符</h1>
<p>赋值运算符包含以下几种:=、*=、/=、%=、+=、-=、&lt;&lt;=、&gt;&gt;=、&amp;=、^=、|=<br>
以上几个运算符都是二元运算符,都遵循右结合性</p>
<h1 id="逗号运算符">逗号运算符</h1>
<p>格式:表达式1,表达式2,表达式3<br>
运算规则:把逗号运算符中的最后一个表达式的结果作为最终结果</p>
<pre><code>int a=10,b=20,c=30;
a=a+b,b++,++c;
printf("%d",a);//30
printf("%d",b);//21
printf("%d",c);//31
a=(a+b,b++,++c);
printf("%d",a);//32
printf("%d",b);//22
printf("%d",c);//32
</code></pre>
<p>example:0x01&lt;&lt;2+3的值为多少:32<br>
0000 0001&lt;&lt;5 = 0010 0000</p>
<h1 id="运算符的优先级">运算符的优先级</h1>
<p><img src="https://img2024.cnblogs.com/blog/3626997/202504/3626997-20250412084218583-1518711159.png" alt="image" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/lradian/p/18821717
頁: [1]
查看完整版本: C语言-运算符(2)