深入浅出C语言:(七)基础部分 NO.2 C 控制语句 --- 循环、分支和跳转

目录

一、逻辑运算的结果

二、优先级

三、C 语言条件运算符(? :) 详解

四、do-while 循环

五、C 语言跳出循环(break 和 continue)

六、选择结构

七、循环结构


一、逻辑运算的结果

1) 与运算(&&)
参与运算的两个表达式都为真时,结果才为真,否则为假。例如:

(5>0) && (4>2)
5>0 的结果是 1,为真, 4>2 结果是 1,也为真,所以相与的结果为真,也就是 1。

2) 或运算(||)
参与运算的两个表达式只要有一个为真,结果就为真;两个表达式都为假时结果才为假。例如:

(5>0) || (5>8)
5>0 的结果是 1,为真, 5>8 的结果是 0,为假,所以相或的结果为真,也就是 1。

3) 非运算(!)
参与运算的表达式为真时,结果为假;参与运算的表达式为假时,结果为真。例如:

!(5>0)
5>0 的结果是 1,为真,非运算的结果为假,也就是 0。

二、优先级

逻辑运算符和其它运算符优先级从低到高依次为:
赋值运算符(=)   <  &&和||   <  关系运算符   <   算术运算符 < 非(!)

三、C 语言条件运算符(? :) 详解

条件运算符,语法格式为:表达式 1 ? 表达式 2 : 表达式
其求值规则为:如果表达式 1 的值为真,则以表达式 2 的值作为整个条件表达式的值,否则以表达式 3 的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。
使用条件表达式时,还应注意以下几点:

  1. 条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。
  2. 条件运算符?和:是一对运算符,不能分开单独使用。
  3. 条件运算符的结合方向是自右至左。

四、do-while 循环

do-while 循环的一般形式为:

do{
语句块
}while(表达式);

       do-while 循环与 while 循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此, do-while 循环至少要执行一次“语句块”。

while的例子

for的例子

五、C 语言跳出循环(break 和 continue)

       当 break 关键字用于 while、 for 循环时,会终止循环而执行整个循环语句后面的代码break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环
       continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环continue 语句只用在 whilefor 循环中,常与 if 条件语句一起使用,判断条件是否成立

       break 与 continue 的对比: break 用来结束所有循环,循环语句不再有执行的机会; continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

六、选择结构

       选择结构(分支结构)涉及到的关键字包括 if、 else、 switch、 case、 break,还有一个条件运算符? :(这是 C 语言中唯一的一个三目运算符)。其中, if...else 是最基本的结构, switch...case 和? :都是由 if...else 演化而来,它们都是为了让程序员书写更加方便。

七、循环结构

  • 除了 while 和 for, C 语言中还有一个 goto 语句,它也能构成循环结构。不过由于 goto 语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且 goto 循环完全可以被其他循环取代,所以后来的很多编程语都取消了 goto 语句,我们也不再讲解。
  • 对于 while 和 do-while 循环,循环体中应包括使循环趋于结束的语句。
  • 对于 while 和 do-while 循环,循环变量的初始化操作应该在 while 和 do-while 语句之前完成,而 for 循环可以在内部实现循环变量的初始化。
  • 注意 break 和 continue 关键字用于循环结构时的区别
    ① break 用来跳出所有循环,循环语句不再有执行的机会;② continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。
  • 此外, break 关键字还可以用于跳出 switch...case 语句。所谓“跳出”,是指一旦遇到 break,就不再执行 switch中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个 switch 执行结束了,接着会执行整个 switch 后面的代码。
     
发布了350 篇原创文章 · 获赞 684 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/qq_38351824/article/details/101925918