zoukankan      html  css  js  c++  java
  • C语言流程控制

    在使用if语句中还应注意以下问题: 在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:
        if(a=5) 语句;
        if(b) 语句;
    都是允许的。只要表达式的值为非0,即为“真”。如在:
        if(a=5)…;
    中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

    if语句的嵌套

    当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。特别注意if和else的配对问题。

    为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对。


    在使用switch语句时还应注意以下几点:

      1. 在case后的各常量表达式的值不能相同,否则会出现错误。
      2. 在case后,允许有多个语句,可以不用{}括起来。
      3. 各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
      4. default子句可以省略不用。

    C语言有四种循环:goto语句构成的循环、while循环、do-while循环和for循环。

    四种循环的比较:

    四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环,不但因为其蹩脚,我们也极力建议不要使用goto语句,尽量使用其他语句代替。

    while和do-while循环,循环体中应包括使循环趋于结束的语句。

    for语句功能最强,也最常用。

    用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。

    break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在switch语句中,用来跳出switch语句。

    break语句

    break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果 没有break语句,则将成为一个死循环而无法退出。break在switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。

    当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起,即满足条件时便跳出循环。

    注意:

    • break语句对if-else的条件语句不起作用;
    • 在多层循环中,一个break语句只向外跳一层。

    continue 语句

    continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。

  • 相关阅读:
    HDU 3681 Prison Break 越狱(状压DP,变形)
    POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
    ZOJ 3471 Most Powerful (状压DP,经典)
    POJ 2288 Islands and Bridges (状压DP,变形)
    HDU 3001 Travelling (状压DP,3进制)
    POJ 3311 Hie with the Pie (状压DP)
    POJ 1185 炮兵阵地 (状压DP,轮廓线DP)
    FZU 2204 7
    POJ 3254 Corn Fields (状压DP,轮廓线DP)
    ZOJ 3494 BCD Code (数位DP,AC自动机)
  • 原文地址:https://www.cnblogs.com/liujie037/p/4499406.html
Copyright © 2011-2022 走看看