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匹配。

  • 相关阅读:
    2019年11月28日开发手记
    2019年11月26日开发手记
    2019年11月25日开发手记
    2019年11月24日开发手记
    2019年11月23日开发手记
    R学习
    python学习目录
    自动化测试appium
    python爬虫的进阶用法
    asyncio
  • 原文地址:https://www.cnblogs.com/xkxf/p/6530399.html
Copyright © 2011-2022 走看看