《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\n";
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常见的一个用途是制作选择菜单

posted @ 2015-07-30 16:30  小白龙victory  阅读(133)  评论(0编辑  收藏  举报