zoukankan      html  css  js  c++  java
  • 《21天学会C++》学习笔记第7章控制程序流程

    1、迭代意味着重复做同样的工作。迭代的主要方法是循环。

    2、while()循环,do...while()循环,for循环,

    3、注意do...while()循环的do是真的要出现的,不仅仅是一个标志而已:

     1 #include<iostream>
     2 int main()
     3 {
     4 using namespace std;
     5 int counter;
     6 cout<<"how many hellows";
     7 cin>>counter;
     8 do    //注意这里的do一定不能少的,是基本格式问题
     9    {
    10       cout<<"hello
    ";
    11       counter--;
    12     }
    13 while (counter>0);
    14 cout<<"Counter is:"<<counter<<endl;
    15 return 0;
    16 }

    4、for循环的两种高级用法:不太常见:

    ①for(;;)循环,相当于是while(true)循环,需要在别处设置循环initialization,test,action。

    ②for语句中使用空语句:for(;counter<5;)相当于一个while循环,while(counter<5)

    ③for循环中使用空循环体:

    #include<iostream>

    int main()

    {

    for(int i=0;i<5;std::cout<<"i: "<<i++<<std::endl)

     ;//空的循环体,只要把分好和循环头对应齐就好了

    return 0;

    }

    5、使用循环而不是递归来实现Fibonacci数列,算法复杂度比递归方法要少很多:

     1 #include <iostream>
     2 #include <iomanip>
     3 using namespace std;
     4 int Fibonacci(int position);
     5 int main()
     6 {
     7     int position;
     8     cout<<"please input the position:";
     9     cin>>position;
    10     cout<<"the Fibonacci number in position"<<position<<"is:"<<Fibonacci(position)<<endl;
    11     system("PAUSE");
    12     return 0;
    13 }
    14 
    15 int Fibonacci(int position)
    16 {
    17     int minusTwo=1,minusOne=1,answer=2;
    18     if (position<3)
    19     {
    20         answer=1;
    21     }
    22     if (position==3)
    23     {
    24         answer=1;
    25     }
    26     for (;position>3;position--)
    27     {
    28         minusTwo=minusOne;
    29         minusOne=answer;
    30         answer=minusOne+minusTwo;
    31     }
    32     return answer;
    33 }
    View Code

     6、switch语句:用switch语句相较于if语句可以提供多条分支选择,因此switch常见的一个用途是制作选择菜单

  • 相关阅读:
    为cocos2d-x实现安卓输入框。非全屏,无dialog,绑定到lua
    自己动手,丰衣足食。普通键盘实现键盘宏(Windows和Mac版)
    go语言使用protobuf
    go语言使用redis —— redigo
    go语言实现线程池
    go语言实现的目录共享程序
    ss
    BST
    堆排序—最大优先级队列
    STL_Vector
  • 原文地址:https://www.cnblogs.com/xiaobailongvictory/p/4689748.html
Copyright © 2011-2022 走看看