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

  • 相关阅读:
    关于ArcGIS Server VS2010无法显示发布的地图服务
    NDK,动态链接库,JNI
    android开发中一些报错的解决方法
    查询死锁对象
    pb导入excel文件
    n_cst_ping在powerbuilder 11 中的变化,一面的程序可正常ping
    SQL拼音
    数据库优化
    android调用asp.net webservice,返回json结构
    iframe内部需要弹出浮层问题
  • 原文地址:https://www.cnblogs.com/xkxf/p/6530399.html
Copyright © 2011-2022 走看看