📄 第7章 运算符、表达式、语句.htm
字号:
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并且</SPAN></FONT><SPAN
lang=EN-US> (and)<O:P> </O:P></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=231>
<P class=MsoNormal><FONT face=宋体 size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条件</SPAN></FONT><SPAN
lang=EN-US>1 && </SPAN><FONT face=宋体><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条件</SPAN></FONT><SPAN
lang=EN-US>2<O:P> </O:P></SPAN></P></TD></TR>
<TR>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=165>
<P class=MsoNormal><SPAN lang=EN-US style="FONT-SIZE: 12pt"><FONT
size=3>||<O:P> </O:P></FONT></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=191>
<P class=MsoNormal><FONT face=宋体 size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者</SPAN></FONT><SPAN
lang=EN-US> (or)<O:P> </O:P></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=231>
<P class=MsoNormal><FONT face=宋体 size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条件</SPAN></FONT><SPAN
lang=EN-US>1<SPAN style="mso-spacerun: yes"> </SPAN>||<SPAN
style="mso-spacerun: yes"> </SPAN></SPAN><FONT face=宋体><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条件</SPAN></FONT><SPAN
lang=EN-US>2<O:P> </O:P></SPAN></P></TD></TR>
<TR>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 0.5pt solid; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=165>
<P class=MsoNormal><FONT face=宋体 size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">!</SPAN></FONT><SPAN
lang=EN-US><O:P> </O:P></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=191>
<P class=MsoNormal><FONT face=宋体 size=3><SPAN
style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">非</SPAN></FONT>
<FONT face=宋体><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(</SPAN></FONT><SPAN
lang=EN-US>not</SPAN><FONT face=宋体><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">)</SPAN></FONT><SPAN
lang=EN-US><O:P> </O:P></SPAN></P></TD>
<TD
style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 0.5pt solid; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt"
vAlign=top width=231>
<P class=MsoNormal><SPAN lang=EN-US style="FONT-SIZE: 12pt"><SPAN
style="mso-spacerun: yes"><FONT size=3> </FONT></SPAN><FONT
size=3>! </FONT></SPAN><FONT face=宋体><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条件</SPAN></FONT><SPAN
lang=EN-US><O:P> </O:P></SPAN></P></TD></TR></TBODY></TABLE>
<P> </P>
<P>下面列出了 &&(与) 操作的所有可能条件及结果:</P>
<P> </P>
<P>真 && 真 = 真</P>
<P>真 && 假 = 假</P>
<P>假 && 假 = 假</P>
<P> </P>
<P>下面列出了 || (或)操作的所有可能条件及结果</P>
<P> </P>
<P>真 || 真 = 真</P>
<P>真 || 假 = 真</P>
<P>假 || 假 = 假</P>
<P> </P>
<P>以下则为 ! 操作:</P>
<P>!真 = 假</P>
<P>!假 = 真</P>
<P> </P>
<P>尽管课程列出了所有可能性,尽管看上去也就这几话,但大家一定要从骨子里头理解这些,不能管背住来解决问题。当我们写程序时,就会发现天天在和一堆的真假判断打交道,如果这些最基本的逻辑操作你不理解,那么就会给解决复杂的逻辑问题带来麻烦。</P>
<P> </P>
<H4><A name=7.5>7.5</A> 表达式</H4>
<P> </P>
<P>变量、常量、各种运算符等组成表达式,用于表达一个计算过程。</P>
<P>比如写一个计算圆面积,我们可以如下表达:</P>
<P> </P>
<P>area = PAI * R * R;</P>
<P>其中,R是某一定义的变量,表示半径,而PAI我们事先定义的一个值为3.14的宏。</P>
<P> </P>
<P>PAI * R * R; 是一个表达式;area = PAI * R *
R;也是一个表达式。表达式组成了C,C++语句,而语句组成C,C++的程序。</P>
<P> </P>
<P>简单的如:3 + 2 ,也是一个表达式。</P>
<P> </P>
<P><B>表达式是操作符、操作数和标点符号组成的序列,用于表达一个计算过程。</B></P>
<P> </P>
<P>对表达式的计算,需要考虑其各计算部分的运算优先级,其中最熟悉莫过于我们小学就学过的“括号优先,先乘除后加减”。</P>
<P>下面列出我们已学过的运算符的优先级:</P>
<P> </P>
<P>按优先级高低排列的运算符:</P>
<P> </P>
<TABLE height=73 width="97%" border=1>
<TBODY>
<TR>
<TD width="19%" height=19>级别</TD>
<TD width="52%" height=19>运算符</TD>
<TD width="58%" height=19>说明</TD></TR>
<TR>
<TD width="19%" height=19>1</TD>
<TD width="52%" height=19>( )</TD>
<TD width="58%" height=19>括号</TD></TR>
<TR>
<TD width="19%" height=17>2</TD>
<TD width="52%" height=17>! +(正号) -(负号) ++ -- sizeof</TD>
<TD width="58%" height=17>+,-在这里不是加减,而是指正负号</TD></TR>
<TR>
<TD width="19%" height=17>3</TD>
<TD width="52%" height=17>* / % </TD>
<TD width="58%" height=17>乘,除,求模(取余)</TD></TR>
<TR>
<TD width="19%" height=17>4</TD>
<TD width="52%" height=17>+ -</TD>
<TD width="58%" height=17>加减</TD></TR>
<TR>
<TD width="19%" height=17>5</TD>
<TD width="52%" height=17>== !=</TD>
<TD width="58%" height=17>等于 不等于判断</TD></TR>
<TR>
<TD width="19%" height=17>6</TD>
<TD width="52%" height=17>&&</TD>
<TD width="58%" height=17>逻辑与</TD></TR>
<TR>
<TD width="19%" height=17>7</TD>
<TD width="52%" height=17>||</TD>
<TD width="58%" height=17>逻辑或</TD></TR>
<TR>
<TD width="19%" height=17>8</TD>
<TD width="52%" height=17>= += *= /= %= </TD>
<TD width="58%" height=17>赋值,自运算操作符</TD></TR></TBODY></TABLE>
<P> </P>
<H4><A name=7.6>7.6</A> 语句</H4>
<P>C++语句和表达式并没有来格的区分。一人表达式,加上一个分号后,可以直接形成语句:</P>
<P> </P>
<P>3 + 2;</P>
<P> </P>
<P>计算机可以执行该语句,但它并不改变程序的运行逻辑。就像我们说话时说了一句废话。当一些表达式组合起来,完成某一相对完整的功能后,再加一个分号表示结束,这就组成一条语句。如:</P>
<P> </P>
<P>a = 3 +2;</P>
<P>看,这是一行赋值语句,它改变了a的值。</P>
<P> </P>
<P>当然,语句也可以直接是一个分号,称为空语句:</P>
<P>;</P>
<P>除非为了调试方例,否则写一句空语句纯属多余。</P>
<P> </P>
<P>我们已经学习过两种常用的语句类型,其一为变量定义语句,其二为赋值语句。</P>
<P> </P>
<P>变量定义语句完成指定变量的定义。</P>
<P>int a ,b,c;</P>
<P>赋值语句则实现为指定变量获得指定值的操作。</P>
<P> </P>
<P>a = 20;</P>
<P>b = 10 * 2 / 3;</P>
<P>c = 2 * (a + b);</P>
<P>如上面所示,赋值时,右值(等号右边的值),可以是一简单的常数或变量,也可以是一个表达式。</P>
<P> </P>
<P>在C,C++中,赋值语句可以使用连等:</P>
<P> </P>
<P>a = b = 10;</P>
<P> </P>
<P>执行这一语句时,b先等于10,然后a等于b的值,结果a和b都是10。</P>
<P> </P>
<P>当然,变量定义语句也可以和赋值语结合,即我们以前学的,在定义变量时同时初始化。</P>
<P> </P>
<P>int a = 10,b = 20;</P>
<P>int c = a * b;</P>
<P> </P>
<P>不过,你不能在定义变量时同时使用连等来实现初始化:</P>
<P>int a = b = 10; //错误。</P>
<P>编译器会报错说,b还没定义。</P>
<P> </P>
<P>有时候,连续的多句语句属于同一控制范围,这时,我们用一对花括号将这些语句括起:</P>
<P>{</P>
<P> int a = 100;</P>
<P> int b = a * 20;</P>
<P> ....</P>
<P>}</P>
<P> </P>
<P>花括号内的内容,称为<B>复合语句</B>。</P>
<P> </P>
<P>正是一行行语句组成C,C++程序,结果本章时,我们可以自豪地宣布:我们已经一脚迈入了C++大门的门槛!</P></TD></TR></TBODY></TABLE></CENTER>
<P align=center>[<A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls07.htm#页首">到页首</A>]</P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -