• 1.4 控制流


    1.4.1 while语句

    #include <iostream>
    
    int main() {
    
        int sum = 0, val = 1;
        //只要val的值小于等于10,while循环就会持续执行
        while (val <= 10) {
            sum += val;        //将sum+val赋予sum
            val++;            //将val+1
        }
    
        std::cout << "Sum of 1 to 10 inclusive is " 
                  << sum << std::endl;
        return 0;
    }

    1.4.1 节练习

    练习 1.9:编写程序,使用while循环将50到100的整数相加

    #include <iostream>
    
    int main() {
    
        int sum = 0, val = 50;
        //只要val的值小于等于100,while循环就会持续执行
        while (val <= 100) {
            sum += val;        //将sum+val赋予sum
            val++;            //将val+1
        }
    
        std::cout << "Sum of 50 to 100 inclusive is " 
                  << sum << std::endl;
        return 0;
    }
    View Code

    练习 1.10:编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数

    #include <iostream>
    
    int main() {
    
        int val = 10;
        //只要val的值大于等于0,while循环就会打印出val的值
        while (val >= 0) {
            std::cout << val << " ";
            --val;
        }
        std::cout << std::endl;
        return 0;
    }
    View Code

    练习 1.11:编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。

    #include <iostream>
    
    int main() {
    
        int a, b;
        std::cout << "请输入两个整数: ";
        std::cin >> a >> b;
        int i = a;
        while (i <= b) {
            std::cout << i << " ";
            ++i;
        }
        std::cout << std::endl;
        return 0;
    }
    View Code

    1.4.2 for语句

    编写从1加到10的语句

     1 int main() {
     2 
     3     int sum = 0;
     4     for (int val = 1; val <= 10; ++val) {
     5         sum += val;
     6     }
     7     std::cout << "Sum of 1 to 10 inclusive is "
     8               << sum << std::endl;
     9 
    10     return 0;
    11 }

    简要重述一下for循环的总体执行过程:

    1. 创建变量val,将其初始化为1.
    2. 检测val是否小于等于10.若检测成功,执行for循环体。若失败,退出循环。
    3. 将val的值增加1.
    4. 重复第二步的条件检测,只要条件为真就继续执行剩余步骤。

    注意:变量val仅在for循环内部存在,在循环结束之后是不能使用的。

    1.4.2 节练习

    练习 1.12:下面的for循环完成了什么功能?sum的终值是多少?

    int sum = 0;
        for (int i = -100; i <= 100; ++i) {
            sum += i;
        }

    完成了从-100加到100,sum的最终值为0。

    练习 1.13:使用for循环重做1.4.1 节中的所有练习

    编写程序,使用for循环将50到100的整数相加

     1 #include <iostream>
     2 
     3 int main() {
     4 
     5     int sum = 0;
     6     for (int i = 50; i <= 100; ++i) {
     7         sum += i;
     8     }
     9 
    10     std::cout << sum << std::endl;
    11 
    12     return 0;
    13 }
    View Code

    编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数

     1 #include <iostream>
     2 
     3 int main() {
     4 
     5     //int sum = 0;
     6     for (int i = 10; i >= 0; --i) {
     7         std::cout << i << " ";
     8     }
     9 
    10     return 0;
    11 }
    View Code

    编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数

     1 #include <iostream>
     2 
     3 int main() {
     4 
     5     std::cout << "Please enter two numbers:";
     6     int a, b;
     7     std::cin >> a >> b;
     8     for (int i = a; i <= b; ++i) {
     9         std::cout << i << " ";
    10     }
    11     return 0;
    12 }
    View Code

    练习 1.14:对比for循环和while循环,两种形式的优缺点各是什么?

    • for循环:循环控制变量的初始化、循环条件和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况
    • while循环:循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。

    练习 1.15:编写程序,包含第14页的“再探编译”中讨论的常见错误。熟悉编译器生成的错误信息。

    1.4.3 读取数量不定的输入数据

    实现对用户输入的一组数求和

     1 #include <iostream>
     2 
     3 int main() {
     4 
     5     int sum = 0, value = 0;
     6     while (std::cin >> value) {
     7         sum += value;
     8     }
     9     std::cout << "Sum is: " << sum << std::endl;
    10     return 0;
    11 }

    当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,即使流未遇到错误,那么检测成功。

    当遇到文件结束符(Ctrl+Z),或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态就会变为无效。处于无效状态的istream对象会使条件变为假。

    1.4.3 节练习

    练习 1.16:编写程序,从cin读取一组数,输出其和。

     1 #include <iostream>
     2 
     3 int main() {
     4 
     5     int sum = 0, value = 0;
     6     while (std::cin >> value) {
     7         sum += value;
     8     }
     9     std::cout << "Sum is: " << sum << std::endl;
    10     return 0;
    11 }
    View Code
  • 相关阅读:
    jumpserver安装教程
    正则表达式基础->
    Awk基础
    shell脚本练习题->1
    idea开发工具下载安装教程
    shell 数组基础->
    动荡的国庆前后
    Linux命令之查找
    2013年9月游戏测试总结-文档习惯
    将C#程序做成服务后服务自动停止的问题
  • 原文地址:https://www.cnblogs.com/fuqia/p/8732940.html
Copyright © 2020-2023  润新知