<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>逻辑运算 on Blue_Sky蓝天计划</title><link>https://blue-sky.tech/tags/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97/</link><description>Recent content in 逻辑运算 on Blue_Sky蓝天计划</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>3465179943@qq.com (Li)</managingEditor><webMaster>3465179943@qq.com (Li)</webMaster><copyright>© 2025 嵌入式开发者博客. 保留所有权利.</copyright><atom:link href="https://blue-sky.tech/tags/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97/index.xml" rel="self" type="application/rss+xml"/><item><title>P3 逻辑运算和判断选择</title><link>https://blue-sky.tech/notes/c-cpp/c/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/p3-%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E5%92%8C%E5%88%A4%E6%96%AD%E9%80%89%E6%8B%A9/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>3465179943@qq.com (Li)</author><guid>https://blue-sky.tech/notes/c-cpp/c/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/p3-%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E5%92%8C%E5%88%A4%E6%96%AD%E9%80%89%E6%8B%A9/</guid><description>&lt;h1 class="relative group"&gt;知识点
&lt;div id="知识点" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%9f%a5%e8%af%86%e7%82%b9" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;
&lt;h2 class="relative group"&gt;4.1 关系运算符, 关系表达式与逻辑运算符, 逻辑表达式
&lt;div id="41-关系运算符-关系表达式与逻辑运算符-逻辑表达式" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#41-%e5%85%b3%e7%b3%bb%e8%bf%90%e7%ae%97%e7%ac%a6-%e5%85%b3%e7%b3%bb%e8%a1%a8%e8%be%be%e5%bc%8f%e4%b8%8e%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%ac%a6-%e9%80%bb%e8%be%91%e8%a1%a8%e8%be%be%e5%bc%8f" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;@ 关系与逻辑运算图
&lt;ul&gt;
&lt;li&gt;![[白板/P6 关系与逻辑运算.canvas|P6 关系与逻辑运算]]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="relative group"&gt;4.1.1 关系运算符和关系表达式
&lt;div id="411-关系运算符和关系表达式" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#411-%e5%85%b3%e7%b3%bb%e8%bf%90%e7%ae%97%e7%ac%a6%e5%92%8c%e5%85%b3%e7%b3%bb%e8%a1%a8%e8%be%be%e5%bc%8f" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;h4 class="relative group"&gt;关系运算符
&lt;div id="关系运算符" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%b3%e7%b3%bb%e8%bf%90%e7%ae%97%e7%ac%a6" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;@ &lt;strong&gt;关系运算&lt;/strong&gt;: 又称比较运算，将两个值进行比较，判断比较结果是否符合给定条件&lt;/li&gt;
&lt;li&gt;C 语言提供了 6 种关系运算符&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;编号&lt;/th&gt;
&lt;th&gt;关系运算符&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;优先级&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;小于&lt;/td&gt;
&lt;td&gt;高（前四个优先级相同）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;=&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;小于或等于&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;大于&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;gt;=&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;大于或等于&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;code&gt;==&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;等于&lt;/td&gt;
&lt;td&gt;低（后两个优先级相同）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;code&gt;!=&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;不等于&lt;/td&gt;
&lt;td&gt;低&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 class="relative group"&gt;关系运算符优先级要点
&lt;div id="关系运算符优先级要点" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%b3%e7%b3%bb%e8%bf%90%e7%ae%97%e7%ac%a6%e4%bc%98%e5%85%88%e7%ba%a7%e8%a6%81%e7%82%b9" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;! 前四个关系运算符优先级相同，后两个优先级也相同，&lt;strong&gt;前四个高于后两个&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;! 关系运算符优先级&lt;strong&gt;低于&lt;/strong&gt;算术运算符&lt;/li&gt;
&lt;li&gt;! 关系运算符优先级&lt;strong&gt;高于&lt;/strong&gt;赋值运算符&lt;/li&gt;
&lt;li&gt;! &lt;code&gt;==&lt;/code&gt; 是两个等号，&lt;strong&gt;千万不能写成一个等号&lt;/strong&gt; &lt;code&gt;=&lt;/code&gt;，否则变成赋值运算符&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;三种运算符优先级关系
&lt;div id="三种运算符优先级关系" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%b8%89%e7%a7%8d%e8%bf%90%e7%ae%97%e7%ac%a6%e4%bc%98%e5%85%88%e7%ba%a7%e5%85%b3%e7%b3%bb" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;高 算术运算符
关系运算符
低 赋值运算符
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 class="relative group"&gt;表达式范例
&lt;div id="表达式范例" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%a1%a8%e8%be%be%e5%bc%8f%e8%8c%83%e4%be%8b" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 c &amp;gt; (a+b)，关系运算符优先级低于算术运算符 &amp;#34;+&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 (a&amp;gt;b) == c，&amp;#34;&amp;gt;&amp;#34; 优先级高于 &amp;#34;==&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 a == (b&amp;lt;c)，&amp;#34;&amp;lt;&amp;#34; 优先级高于 &amp;#34;==&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 a = (b&amp;gt;c)，赋值运算符优先级低于关系运算符 &amp;#34;&amp;gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 class="relative group"&gt;关系表达式
&lt;div id="关系表达式" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%b3%e7%b3%bb%e8%a1%a8%e8%be%be%e5%bc%8f" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;@ &lt;strong&gt;关系表达式&lt;/strong&gt;: 用关系运算符将两个表达式连接起来的式子&lt;/li&gt;
&lt;li&gt;! 关系表达式的值是一个逻辑值，即&amp;quot;真&amp;quot;或&amp;quot;假&amp;quot;&lt;/li&gt;
&lt;li&gt;! 在 C 语言中，&amp;ldquo;真&amp;quot;用 &lt;code&gt;true&lt;/code&gt; 表示，也可以用 &lt;code&gt;1&lt;/code&gt; 表示；&amp;ldquo;假&amp;quot;用 &lt;code&gt;false&lt;/code&gt; 表示，也可以用 &lt;code&gt;0&lt;/code&gt; 表示&lt;/li&gt;
&lt;li&gt;! 关系表达式的结果值是 &lt;code&gt;0&lt;/code&gt; 或 &lt;code&gt;1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;5&amp;gt;3的值为%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 5&amp;gt;3的值为1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true==1&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 这行被执行
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;true!=1&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 如果 a=3, b=2, c=1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// (a&amp;gt;b) == c 为真，因为 a&amp;gt;b 的值为1，等于 c 的值
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// b+c &amp;lt; a 为假，因为 b+c 的值为3，并不小于 a
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 class="relative group"&gt;4.1.2 逻辑运算符和逻辑表达式
&lt;div id="412-逻辑运算符和逻辑表达式" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#412-%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%ac%a6%e5%92%8c%e9%80%bb%e8%be%91%e8%a1%a8%e8%be%be%e5%bc%8f" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;h4 class="relative group"&gt;逻辑运算符
&lt;div id="逻辑运算符" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%ac%a6" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;C 语言提供了三种逻辑运算符&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;编号&lt;/th&gt;
&lt;th&gt;逻辑运算符&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;运算分量&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;逻辑与（&lt;code&gt;and&lt;/code&gt;）&lt;/td&gt;
&lt;td&gt;双目&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;||&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;逻辑或（&lt;code&gt;or&lt;/code&gt;）&lt;/td&gt;
&lt;td&gt;双目&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;code&gt;!&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;逻辑非（&lt;code&gt;not&lt;/code&gt;）&lt;/td&gt;
&lt;td&gt;单目&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 class="relative group"&gt;逻辑运算规则
&lt;div id="逻辑运算规则" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e8%a7%84%e5%88%99" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;! &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; &lt;strong&gt;全真出真，有假出假&lt;/strong&gt;：两个运算分量必须全为真，结果才为真&lt;/li&gt;
&lt;li&gt;! &lt;code&gt;\|\|&lt;/code&gt; &lt;strong&gt;有真出真，全假出假&lt;/strong&gt;：只要有一个为真，结果就为真&lt;/li&gt;
&lt;li&gt;! &lt;code&gt;!&lt;/code&gt; &lt;strong&gt;取反&lt;/strong&gt;：原来为真变假，原来为假变真&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 class="relative group"&gt;逻辑运算真值表
&lt;div id="逻辑运算真值表" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%9c%9f%e5%80%bc%e8%a1%a8" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;a&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;b&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;!a&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;!b&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;a&amp;amp;&amp;amp;b&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;a||b&lt;/code&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;真&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;td&gt;假&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 class="relative group"&gt;逻辑运算符易错点
&lt;div id="逻辑运算符易错点" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%ac%a6%e6%98%93%e9%94%99%e7%82%b9" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;! 千万不要把 &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 写成 &lt;code&gt;&amp;amp;&lt;/code&gt;（位运算符），程序可能不报错但结果不对&lt;/li&gt;
&lt;li&gt;! 千万不要把 &lt;code&gt;\|\|&lt;/code&gt; 写成 &lt;code&gt;\|&lt;/code&gt;（位运算符），同样程序可能不报错但结果不对&lt;/li&gt;
&lt;li&gt;! 进行逻辑判断时，&lt;strong&gt;不等于 0 的数值全部被认为是 &lt;code&gt;true&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;! 系统给出的逻辑运算结果不是 &lt;code&gt;0&lt;/code&gt;（假）就是 &lt;code&gt;1&lt;/code&gt;（真），不可能是其他数值&lt;/li&gt;
&lt;li&gt;! 作为参加逻辑运算的对象，是 &lt;code&gt;0&lt;/code&gt; 就表示假，&lt;strong&gt;非 &lt;code&gt;0&lt;/code&gt; 就表示真&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;4==true，结果为%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 0（假），4不等于1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;1==true，结果为%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 1（真）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="nf"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;4&amp;amp;&amp;amp;5，结果为%d&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 1（真），4和5都是非0，都为真
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 class="relative group"&gt;逻辑运算符优先级
&lt;div id="逻辑运算符优先级" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%80%bb%e8%be%91%e8%bf%90%e7%ae%97%e7%ac%a6%e4%bc%98%e5%85%88%e7%ba%a7" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;优先级（数字越小越高）&lt;/th&gt;
&lt;th&gt;运算符&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;逻辑非 &lt;code&gt;!&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;算术运算符&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;关系运算符&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 和 &lt;code&gt;||&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;赋值运算符&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;! 逻辑运算符中的 &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 和 &lt;code&gt;\|\|&lt;/code&gt; 优先级&lt;strong&gt;低于&lt;/strong&gt;关系运算符&lt;/li&gt;
&lt;li&gt;! 逻辑运算符中的 &lt;code&gt;!&lt;/code&gt; 优先级&lt;strong&gt;高于&lt;/strong&gt;算术运算符&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 (a&amp;gt;b) &amp;amp;&amp;amp; (x&amp;gt;y)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 (a==b) \|\| (x==y)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="c1"&gt;// 等价于 (!a) \|\| (a&amp;gt;b)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;&lt;/span&gt;&lt;span class="sc"&gt;&amp;#39;c&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="sc"&gt;&amp;#39;d&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;// 比较的是字符的ASCII码，都不为0，结果为真
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4 class="relative group"&gt;短路求值
&lt;div id="短路求值" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%9f%ad%e8%b7%af%e6%b1%82%e5%80%bc" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;@ &lt;strong&gt;短路求值&lt;/strong&gt;: 只要最终的结果已经可以确定是真或假，求值过程便宣告终止&lt;/li&gt;
&lt;li&gt;! 这是面试常考的陷阱&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; 短路求值&lt;/strong&gt;:&lt;/p&gt;</description></item></channel></rss>