想法简友广场C++学习笔记

第六章 分支语句和逻辑运算符(1)if语句和逻辑表达式

2019-12-11  本文已影响0人  阿厉a_li

(一)if语句和逻辑表达式

1.if语句

    if语句有两种结构,if和if  else,同时,if语句在else之后还可以再嵌套if else。这样可以形成如下多个分支的结构:

if (test_expression)

 Statement1;

 else if ()

 Statement2;

 else if ()

 Statement3;

 else if ()

 Statement4;

else

Statement5;

但是,是相近的if else是一对的,而不是最前和最后,只不过这种格式看起来更好看一些。if else结构总是最近的if else配对,这是需要注意的。

    编写让编译器能够发现错误的代码,比找出导致难以理解的错误的原因要容易得多。因此,当用if语句的判断的时候,我们可以将例如a==2这样的判断写成2==a,这样一旦将==运算符错误写出=运算符的时候,编译器就会发现错误并提醒。

2.逻辑表达式

    c++采用三种不同的逻辑运算符,来组合或修改已有的逻辑表达式逻辑或||逻辑与&&,逻辑非!

    逻辑非!一般应用于返回值为true或false的函数中,作为下一步运行的判断语句。

    另外,c++的&&和||运算符的优先级要小于关系运算符!运算符要大于所有的关系运算符和算数运算符。也就是说a==3 || b==4这样的表达式不需要使用括号,而形如!b==4这样的形式需要使用括号,上面的是错误的,因为!将会与b结合,而我们需要的其实是这样的判断!(b==4)。||运算符和&&运算符也是一个顺序点,因此会先判定左侧并且在右侧被判定之前产生副作用,更需要注意的是,如果左侧的判断已经能够对整体判断造成决定影响,那么运算符右侧的表达式将不会被运算。

对于逻辑表达式及关系表达式来说,有括号可以让程序更加明显和容易理解,因此,不管需不需要使用括号,我们尽量还是要用括号将先进行的判断括起来,这一方面可以让别人或自己看程序方便,另一方面也避免了因为记忆不准确或规则变化而带来的运算错误。注意,逻辑与运算符&&比逻辑或运算符||的优先级要高!

and,or,not是上面的与或非的字符表达的方式,可以完全代替&&,||,!。(还有and_eq,or_eq,not_eq这种加等号的形式)。

上一篇下一篇

猜你喜欢

热点阅读