C Primer Plus学习笔记(七)- C 控制语句:分支和跳转

  • if 语句:

if 语句被称为分支语句(branching statement)或选择语句(selection statement)

if 语句的通用形式:

if (expression)
	statement

如果 expression 为真,则执行 statement;否则,跳过 statement

与 while 循环一样,statement 可以是一条简单的语句也可以是复合语句

if 语句 和 while语句的区别:如果满足条件可执行的话,if 语句只能测试和执行一次,而 while 语句可以测试和执行多次

  • if else语句:

if else 语句的通用形式

if (expression)
	statement1
else
	statement2

如果 expression 为真(非 0),则执行 statement1;如果 expression 为假或 0,则执行 else 后面的 statement2

statement1 和 statement2 可以是一条简单语句或复合语句

如果要在 if 和 else 之间执行多条语句,必须用花括号把这些语句括起来成为一个块

如果没有花括号,else 与离它最近的 if 匹配,除非最近的 if 被花括号括起来

if 语句用于选择是否执行一个行为,而 if else 语句用于在两个行为之间选择

多重选择 else if:

else if 语句的通用形式

if (expression1)
	statement1
else if (expression2)
	satement2
else if (expression3)
	statement3
else
	statement4

如果 expression1 为真(非0),则执行 statement1;如果 expression2 为真(非0),则执行 statement2;如果 expression3 为真(非0),则执行 statement3;否则执行 statement4

  • 关于 _Bool 类型:

如果在程序中包含了 stdbool.h 头文件,便可用 bool 代替 _Bool 类型,用 true 和 false 分别代替 1 和 0
如果系统不支持 _Bool 类型,可以把 isPrime 的类型改为 int,并用 1 和 0 分别替换程序中的 true 和 false

逻辑运算符:

逻辑运算符 含义
&&
||
!

假设 exp1 和 exp2 是两个简单的关系表达式:

  • 当且仅当 exp1 和 exp2 都为真时,exp1 && exp2 才为真(所有条件为真才为真)
  • 如果 exp1 或 exp2 为真,则 exp1 || exp2 为真(有一个条件为真就为真)
  • 如果 exp1 为假,则 !exp1 为真;如果 exp1 为真,则 !exp1 为假(条件为假则为真,条件为真则为假)

备选拼写:iso646.h 头文件

如果在程序中包含该头文件,就可以用 and 代替 &&,or 代替 ||,not 代替 !

if (ch != 'a' && ch != 'b')
	count++;

也可以写为

if (ch != 'a' and ch != 'b')
	count++;

优先级

! 运算符的优先级很高,比乘法运算符还高,与递增运算符的优先级相同,只比圆括号的优先级低

&& 运算符的优先级比 || 运算符高,但是两者的优先级都比关系运算符低,比赋值运算符高

猜你喜欢

转载自www.cnblogs.com/sch01ar/p/9026888.html