zoukankan      html  css  js  c++  java
  • c++第三十天

    P154~p159:
    语句
    1、通常情况下顺序执行。

    2、C++提供一组控制流(flow-of-control)语句以支持更复杂的执行路径。

    3、空语句的作用:语法上需要一条语句,但是逻辑上不需要。

        while(val <= 10) {
            ;    // 空语句
        }

    注意:使用空语句时加上注释,提高可读性。

    4、复合语句的作用:语法上需要一条语句,但是逻辑上需要多条语句。

    ps:复合语句也被叫做块(block),一个块就是一个作用域

    语句作用域

    if语句
    1、C++规定:else与离它最近的尚未匹配的if匹配。

    练习 5.1
    见上文

    练习 5.2
    见上文

    练习 5.3
    可读性降低。

    #include<iostream>
    int main()
    {
        int sum = 0, val = 1;
        while(val <= 10) sum += val, ++val;
        std::cout << sum << std::endl;
        return 0;
    }

    练习 5.4
    a iter没有初始化
    b status应该定义在语句外部

    练习 5.5

    #include<iostream>
    #include<vector>
    #include<string>
    using std::vector;
    using std::string;
    int main()
    {
        const vector<string> scores = {"f", "d", "c", "b", "a", "a++"};
        string lettergrade;
        int grade;
        std::cin >> grade;
        if (grade < 60) {
            lettergrade = scores[0]; // vector支持下标访问
        } else {
            lettergrade = scores[(grade - 50)/10];
            if (grade != 100) {
                if (grade % 10 > 7) {
                    lettergrade += '+';
                } else if (grade % 10 < 3) {
                    lettergrade += '-';
                }
            }
        }
        std::cout << lettergrade << std::endl;
        return 0;
    }

    练习 5.6

    #include<iostream>
    #include<vector>
    #include<string>
    using std::vector;
    using std::string;
    int main()
    {
        const vector<string> scores = {"f", "d", "c", "b", "a", "a++"};
        string lettergrade;
        int grade;
        std::cin >> grade;
        lettergrade = (grade < 60) ? scores[0] : (grade == 100) ? scores[(grade - 50)/10] : (grade % 10 > 7) ? scores[(grade - 50)/10] + "+" : (grade % 10 < 3) ? scores[(grade - 50)/10] + "-" : scores[(grade - 50)/10];
        std::cout << lettergrade << std::endl;
        return 0;
    }

    练习 5.7
    a 少了分号
    b 缺少花括号
    c ival要在括号外面定义
    d ival未定义。(。。。)

     

    练习 5.8
    书上有。else与离它最近的尚未匹配的if匹配。

  • 相关阅读:
    引入background和background-size不显示图片
    vue,新手上路,基础,常见问题
    Java设置环境变量
    JS判断是否是手机登录及类型
    Mongodb查询语句与Sql语句对比
    IIS7下使用urlrewriter.dll配置
    反射获取属性
    数据库Convert关于时间取值
    JS实现嵌套Iframe页面F11全屏效果
    针对上次表格编辑的打印问题及解决方案
  • 原文地址:https://www.cnblogs.com/xkxf/p/6530399.html
Copyright © 2011-2022 走看看