<C++学习三>控制流

控制流:C++提供了几种常见的控制流,来满足我们复杂多变的程序设计顺序。

(1)while语句

基本语法:

1 while(condition)
2     statement

while反复的执行statement中的代码,知道condition中的条件判定为false为止。

例:输入一些数,求和

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int main(){
 6     int sum = 0;
 7     int x = 0;
 8     
 9     while(cin >> x){
10         sum += x; 
11     }
12     
13     cout << "所求数和为:" << sum << std;
14     system("pause");
15     return 0;
16 }

在Windows系统下,结束输入的组合键是 Ctrl + Z,然后回车。 Linux系统下是 Ctrl + D。 Max OS系统下是 Ctrl + D;

注意:while语句还有一种do while的形式,这种形式下,要注意执行语句至少执行一次。

(2)for语句

基本语法:

1 for(init-statement;condition;expression)
2     statement

每个for语句都包含两个部分:循环头和循环体。循环头控制循环体的执行次数,它由三个部分组成:一个初始化语句(init-statement),一个循环条件(condition)以及一个表达式(expression)。

例:求整数1到99的和。

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int main(){
 6     int sum = 0;
 7     int x = 0;
 8     
 9     for(int i = 0; i < 100; i++){
10         sum += i;
11     }
12     
13     cout << "整数1到99的和为:" << sum << endl;
14     
15     system("pause");
16     return 0;
17 }

注意:for语句的初始化语句、循环条件、表达式都是可以省略的。例如for( ; ; ){},相当于while(true){}。所以,for语句使用不当,会造成死循环。

基本语法(范围for语句):

1 for(declaration : expression)
2     statement

declaration定义了一个变量,序列中的每个元素都是能转换成该变量的类型。

expression必须是一个序列。例如可以使数组、vector或者string等对象。

例:

 1 #include<iostream>
 2 #include<vector>
 3 
 4 using namespace std;
 5 
 6 int main(){
 7     vector<int> v = {9,8,7,6,5,4,3,2,1,0};
 8     
 9     for(auto& val : v){
10         val = val * val;
11     }
12     
13     for(vector<int>::iterator iter = v.begin(); iter != v.end(); ++iter){
14         cout << *iter << " " << endl;
15     }
16     
17     system("pause");
18     return 0;
19 }

(3)if语句

if语句也就是条件语句。其形式为:

1 if(condition)
2     statement
3 
4 
5 if(condition)
6     statement1
7 else
8     statement2

if语句还支持嵌套,所以我们在使用的时候应该十分注意悬进问题。

例;

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int main(){
 6     int currentVal = 0,val = 0;
 7     
 8     if(cin >> currentVal){
 9         int count = 1;
10         while(cin >> val){
11             if(val == currentVal){
12                 ++count;
13             }
14             else{
15                 cout << currentVal << "出现了" << count << "" << endl;
16                 currentVal = val;
17                 count =1;
18             }
19         }
20     cout << currentVal << "出现了" << count << "" << endl;
21     }
22     
23     system("pause");
24     return 0;
25 }

(4)switch语句

switch语句提供了一条便利的途径使我们在若干个固定选项中作出选择。其语法为:

 1 switch(switch_on)
 2 case x1:
 3     statement1
 4     break;
 5 case x2:
 6     statement2
 7     break;
 8 ...
 9 default:
10     statementn;
11     break;

注意:不要漏写break,如果漏写break语句会从判定成功的case语句处顺序执行下去。

(5)跳转语句

  break;continue;goto;return

  break语句负责终止离它最近的while,do while,for或者switch语句,并从这些语句之后的第一条语句开始执行。

  continue语句终止离它最近的循环中当前迭代并立即开始下一次迭代。

  goto语句的作用是无条件跳转到同一函数的另一条语句,尽量不要再程序中使用该语句,难以修改和难以理解,但是该语句在多层中使用会很有意思(没有使用过)。

  return语句终止当前正在执行的函数并将控制权返回给调用该函数的地方

猜你喜欢

转载自www.cnblogs.com/daisy-996/p/9436689.html